Bugs #247
Problemas al registrarse un usuario nuevo.
Status: | Fixed | Start date: | 02/03/2012 | |
---|---|---|---|---|
Priority: | Urgent | Due date: | ||
Assignee: | José Badía | % Done: | 100% | |
Category: | - | Spent time: | 1.50 hour | |
Target version: | - |
Description
Al parecer cuando se intenta registrar un usuario nuevo da un error.
Disculpad, pero cuando vamos a registrar no aparece el campo identificador y sin embargo al intentar dar de alta un usuario con nombre, apellido y correo electrónico saltan los siguientes errores:
- Identificador no puede estar en blanco
- Identificador es demasiado largo (30 caracteres máximo)
¿Cómo incorporamos el identificador?
A ver si puedes echarle un vistazo cuanto antes.
Un saludo
Joaquin
History
#1 Updated by José Badía about 12 years ago
- Status changed from New to Fixed
- % Done changed from 0 to 100
Eliminación del campo identificador en el login¶
Problemática: se quiere impedir que los usuarios puedan elegir su identificador. Para ello se quiere eliminar el campo identificador del registro de usuarios. (Nota: esto sólo funciona con el método de acceso por alta manual de usuario, ya que sin usuario no se puede loguear)
- Eliminamos el campo de identificador del formulario (en /app/views/account/register.rhtml). Cambiamos esta parte de código, que corresponde con el campo del identificador:
<% if @user.auth_source_id.nil? %> <p class="hidden_field"><label for="user_login"><%=l(:field_login)%> <span class="required">*</span></label> <%= text_field 'user', 'login', :size => 25 %></p> <% end %>
- Cambiamos el modelo de la base de datos para que se permita dar de alta usuarios sin login (en /app/models/user.rb). Cambiamos esta línea:
validates_presence_of :login, :firstname, :lastname, :mail, :if => Proc.new { |user| !user.is_a?(AnonymousUser) }
por esta otra
validates_presence_of :firstname, :lastname, :mail, :if => Proc.new { |user| !user.is_a?(AnonymousUser) }
- Ahora habrá que cambiar la forma de enlazar con la página de perfil de usuario (en /app/views/users/index.rhtml) cambiando esto:
<td class="firstname"><%= h(user.firstname) %></td> <td class="lastname"><%= h(user.lastname) %></td>
por esto otro:
<td class="firstname"><%= link_to h(user.firstname), edit_user_path(user) %></td> <td class="lastname"><%= link_to h(user.lastname), edit_user_path(user) %></td>
ya que hasta ahora sólo se enlazaba con el identificador de usuario y, si está en blanco, perdemos el enlace (no hay forma de llegar al usuario).
- Reiniciamos la aplicación
service apache2 reload
#2 Updated by José Badía about 12 years ago
esto actualiza el procedimiento de alta de usuario, ver en el wiki