- Fecha y hora:
- 05/09/2016 16:26:35 (hace 8 años)
- Branches:
- master, carga
- Children:
- 52b5505
- Parents:
- 595c7b5
- Ubicación:
- usuario
- Ficheros:
-
- 3 editados
Leyenda
- No modificado
- Añadido
- Eliminado
-
usuario/forms.py
rd8d20e7 re44bd19 16 16 17 17 from base.constant import ( 18 TIPO_DOCUMENTO_IDENTIFICACION, TIPO_DOCUMENTO_IDENTIFICACION_LIST, FORTALEZA_CONTRASENHA 18 TIPO_DOCUMENTO_IDENTIFICACION, TIPO_DOCUMENTO_IDENTIFICACION_LIST, FORTALEZA_CONTRASENHA, OCUPACION 19 19 ) 20 20 from base.fields import TipoDocumentoField … … 25 25 from django.forms import ( 26 26 ModelForm, TextInput, EmailInput, CharField, EmailField, PasswordInput, 27 Select, ModelChoiceField) 27 Select, ModelChoiceField, ChoiceField 28 ) 28 29 from django.utils.encoding import python_2_unicode_compatible 29 30 from django.utils.translation import ugettext_lazy as _ 30 31 31 from base.models import Institucion , Ocupacion32 from base.models import Institucion 32 33 from base.widgets import TipoDocumentoWidgetReadOnly 33 34 from .models import UserProfile … … 195 196 196 197 ## Listado de instituciones registradas en el sistema 197 ocupacion = ModelChoiceField(198 label=_(u"Ocupacion"), queryset=Ocupacion.objects.all(), empty_label=_(u"Seleccione..."),198 ocupacion = ChoiceField( 199 label=_(u"Ocupacion"), choices=OCUPACION, 199 200 widget=Select(attrs={ 200 201 'class': 'select2 select2-offscreen form-control', 'data-toggle': 'tooltip', 201 'title': _(u"Seleccione la ocupación o profesióndel usuario a registrar")202 'title': _(u"Seleccione la ocupación del usuario a registrar") 202 203 }) 203 204 ) -
usuario/models.py
rfbb0f12 re44bd19 19 19 from django.utils.translation import ugettext_lazy as _ 20 20 21 from base.constant import TIPO_DOCUMENTO_IDENTIFICACION 22 from base.models import Institucion , Ocupacion21 from base.constant import TIPO_DOCUMENTO_IDENTIFICACION, OCUPACION, NIVELES_ACCESO 22 from base.models import Institucion 23 23 24 24 … … 46 46 ) 47 47 48 ## Contiene datos de la ocupación, oficio o profesión del usuario 49 ocupacion = models.CharField(max_length=2, choices=OCUPACION[1:]) 50 48 51 ## Establece la última fecha de modificación de la contraseña, lo cual permite establecer la caducidad de la misma 49 52 fecha_modpass = models.DateTimeField(null=True, help_text=_("Fecha en la que se modificó la contraseña")) … … 52 55 institucion = models.ForeignKey(Institucion, help_text=_("Institucion de la cual proviene el usuario")) 53 56 54 ## Contiene datos de la ocupación, oficio o profesión del usuario 55 ocupacion = models.ForeignKey(Ocupacion, help_text=_("Ocupación del usuario")) 57 ## Indica el nivel de acceso que tiene el usuario 58 nivel_acceso = models.PositiveSmallIntegerField(choices=NIVELES_ACCESO, null=True) 59 56 60 57 61 ## Establece la relación entre el usuario y el perfil -
usuario/views.py
rc03a223 re44bd19 77 77 """ 78 78 form = AutenticarForm() 79 alert = None 79 80 80 81 if request.method == "POST": … … 85 86 request.POST['tipo_documento_0'], request.POST['tipo_documento_1'] 86 87 ) 87 88 usuario = authenticate(username=username, password=str(request.POST['clave'])) 89 90 if usuario is not None: 91 login(request, usuario) 92 usr = User.objects.get(username=username) 93 usr.last_login = datetime.now() 94 usr.save() 88 if User.objects.filter(username=username, is_active=True): 89 usuario = authenticate(username=username, password=str(request.POST['clave'])) 90 91 if usuario is not None: 92 login(request, usuario) 93 usr = User.objects.get(username=username) 94 usr.last_login = datetime.now() 95 usr.save() 96 else: 97 logger.error(str(_("Error al autenticar el usuario [%s]") % username)) 98 99 logger.info(str(_("Acceso al sistema por el usuario [%s]") % username)) 100 return HttpResponseRedirect(urlresolvers.reverse("inicio")) 95 101 else: 96 logger.error(str(_("Error al autenticar el usuario [%s]") % username)) 97 98 logger.info(str(_("Acceso al sistema por el usuario [%s]") % username)) 99 return HttpResponseRedirect(urlresolvers.reverse("inicio")) 100 101 return render_to_response('base.template.html', {'form': form}, context_instance=RequestContext(request)) 102 alert = str(_("Su usuario se encuentra inactivo. Intente más tarde...")) 103 104 105 return render_to_response('base.template.html', {'form': form, 'alert': alert}, context_instance=RequestContext(request)) 102 106 103 107 … … 267 271 if calcular_diferencia_fechas(user.date_joined) <= CADUCIDAD_LINK_REGISTRO: 268 272 if key.strip() == hash_user(user, is_new_user=True).decode(): 269 user.is_active = True 270 user.save() 273 if UserProfile.objects.filter(user=user, ocupacion='ES'): 274 # Si es estudiante el sistema activa automáticamente el usuario, 275 # en caso contrario debe esperar por la confirmación del administrador 276 user.is_active = True 277 user.save() 278 user_profile = UserProfile.objects.get(user=user) 279 user_profile.nivel_acceso = 3 280 else: 281 mensaje = str(_("El enlace fue verificado y el administrador esta evaluando sus credenciales para " 282 "otorgarle un nivel de acceso al sistema")) 271 283 login_url = "%s?userid=%s&key=%s" % ( 272 284 urlresolvers.reverse('acceso'), user.username, hash_user(user, is_new_user=True) … … 321 333 self.object.save() 322 334 335 323 336 ## Crea el perfil del usuario 324 325 337 UserProfile.objects.create( 326 338 tipo_documento=form.cleaned_data['tipo_documento'],
Nota: Vea TracChangeset
para ayuda en el uso del visor de conjuntos de cambios.