Changeset 8c6ce35 in sicp


Ignore:
Timestamp:
May 21, 2015, 11:48:43 AM (9 years ago)
Author:
Ing. Roldan D. Vargas G <rvargas@…>
Branches:
master
Children:
a684594
Parents:
c7e3917
Message:

se agregan métodos e instrucciones para registrar los datos de la contraseña modificada

File:
1 edited

Legend:

Unmodified
Added
Removed
  • apps/usuario/views.py

    r7bd88e3 r8c6ce35  
    3232from django.template.context import RequestContext
    3333from django.utils.translation import ugettext_lazy as _
    34 from apps.comun.constantes import CREATE_MESSAGE, APROBATION_MESSAGE, DELETE_MESSAGE, UPDATE_MESSAGE, NUEVA_CLAVE_MESSAGE
     34from apps.comun.constantes import CREATE_MESSAGE, APROBATION_MESSAGE, DELETE_MESSAGE, UPDATE_MESSAGE, \
     35    NUEVA_CLAVE_MESSAGE, LOGOUT_SECURITY_MESSAGE
    3536from apps.comun.functions import enviar_correo
    3637from apps.usuario.models import UserProfile, Institucion, Cargo
    37 from apps.usuario.forms import RegistroForm, AutenticarForm, OlvidoClaveForm
     38from apps.usuario.forms import RegistroForm, AutenticarForm, OlvidoClaveForm, ModificarClaveForm
    3839from apps.usuario.functions import generar_password
    3940
     
    137138        if not enviado:
    138139            logging.warning(_(u"Ocurrió un inconveniente al enviar el correo de registro al usuario [%s]" % cedula))
     140
    139141        return super(RegistroCreate, self).form_valid(form)
    140142
     
    178180        if not enviado:
    179181            logging.warning(_(u"Ocurrió un inconveniente al enviar el correo con los datos de la nueva contraseña generada al usuario [%s]" % usr.username))
     182        else:
     183            logging.info(_(u"El usuario [%s] solicitó una nueva contraseña y le fue suministrada por correo electrónico"
     184                           % usr.username))
    180185        return super(OlvidoClaveView, self).form_valid(form)
     186
     187
     188class ModificarClaveView(SuccessMessageMixin, FormView):
     189    """!
     190    Clase que muestra el formulario de modificación de contraseña y registra dicha modificación
     191
     192    @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve)
     193    @author Centro Nacional de Desarrollo e Investigación en Tecnologías Libres (CENDITEL) Nodo Mérida - Venezuela
     194    @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
     195    @date 21-05-2015
     196    @version 3.0.0
     197    """
     198    form_class = ModificarClaveForm
     199    template_name = 'modificar_clave.html'
     200    success_url = reverse_lazy('inicio')
     201    success_message = "%s %s" % (UPDATE_MESSAGE, LOGOUT_SECURITY_MESSAGE)
     202
     203    def get_initial(self):
     204        initial = super(ModificarClaveView, self).get_initial()
     205        initial['usuario'] = self.request.user
     206        return initial
     207
     208    def form_valid(self, form):
     209        usr = User.objects.get(username=form.cleaned_data['usuario'])
     210        usr.set_password(form.cleaned_data['new_clave'])
     211        usr.save()
     212        perfil = UserProfile.objects.get(user=usr)
     213        perfil.fecha_modpass = datetime.now()
     214        perfil.save()
     215
     216        return super(ModificarClaveView, self).form_valid(form)
Note: See TracChangeset for help on using the changeset viewer.