Ejemplo n.º 1
0
    def clean_email(self):

        cleaned_data = self.cleaned_data.get('email')
        user = get_user_model().objects.filter(email=cleaned_data).first()

        if cleaned_data and not user:
            raise forms.ValidationError(
                "O email informado, não foi encontrado! Talvez você não tenha cadastrado"
                " seu email no perfil. Por favor, entre em contado com o administrador do sistema."
            )

        if user and user.last_login:
            dias_sem_logar = (datetime.now() -
                              user.last_login.replace(tzinfo=None)).days
        elif user:
            dias_sem_logar = (datetime.now() -
                              user.date_joined.replace(tzinfo=None)).days
        else:
            dias_sem_logar = None

        if dias_sem_logar >= get_parametros().bloquear_usuario and not user.is_active \
                and not user.is_superuser and get_parametros().bloquear_usuario > 0:
            raise forms.ValidationError(
                "A conta relacionada a este e-mail está inativa, pois esse usuario não acessa o sistema a mais de %s dias. "
                "Por favor, entre em contato com o administrador do sistema" %
                get_parametros().bloquear_usuario)
        if not user.is_active:
            raise forms.ValidationError(
                "A conta relacionada a este e-mail está inativa. "
                "Por favor, entre em contato com o administrador do sistema")

        return cleaned_data
Ejemplo n.º 2
0
    def __init__(self, *args, **kwargs):
        super(BaseUserChangeForm, self).__init__(*args, **kwargs)

        if get_parametros().busca_dados_matricula or get_parametros(
        ).usuario_matricula:
            if get_parametros().usuario_matricula:
                self.fields['username'] = MatriculaField(
                    label=u"Matricula",
                    help_text="Requeridos no maximo 30 numeros ou menos.",
                    error_messages={
                        'invalid': "Este valor pode conter apenas números."
                    })
            else:
                self.fields['username'] = MatriculaField(
                    label=u"Matricula",
                    required=False,
                    help_text="Requeridos no maximo 30 numeros ou menos.",
                    error_messages={
                        'invalid': "Este valor pode conter apenas números."
                    })
        else:
            self.fields['username'] = forms.CharField(
                max_length=30,
                label='Matricula',
                help_text="Requeridos no maximo 30 caracteres.")
Ejemplo n.º 3
0
    def clean(self):
        cleaned_data = super(BaseUserChangeForm, self).clean()
        if hasattr(self, 'request'):
            username = self.cleaned_data.get("username",
                                             self.request.POST.get('username'))
        elif hasattr(self, 'data') and 'username' in self.data:
            username = self.cleaned_data.get("username", self.data['username'])
        else:
            username = self.cleaned_data.get("username", None)

        try:
            usuario = UsuarioBase()
            usuario.matricula = username
            usuario.preencher_dados_via_integracao()
        except Exception as e:
            raise forms.ValidationError(
                _("Ocorreu um erro ao consultar os dados do usuário. Aguarde alguns instantes e tente"
                  "  novamente. Caso o erro persista, entre em contato com o administrador do sistema."
                  ))

        if get_parametros(
        ).busca_dados_matricula and not usuario and not get_parametros(
        ).editar_dados_perfil:
            raise forms.ValidationError(
                "Não foi encontrado nenhum colaborador cadastrado com essa Matricula ou o mesmo não possui matrícula ativa! Somente servidores com matrícula ativa podem ser cadastrados."
            )
        if get_parametros(
        ).busca_dados_matricula and usuario and not usuario.ativo:
            raise forms.ValidationError(
                "O cadastro do calaborador %s não está ATIVO! Por favor, entre em contato com Administrador."
                % usuario.servidor)
        return cleaned_data
Ejemplo n.º 4
0
 def __init__(self, *args, **kwargs):
     super(BaseUserCreationForm, self).__init__(*args, **kwargs)
     if get_parametros().busca_dados_matricula or get_parametros(
     ).usuario_matricula:
         if get_parametros().usuario_matricula:
             self.fields['username'] = MatriculaField(
                 label=u"Matricula",
                 help_text="Requeridos. 30 numeros ou menos.",
                 error_messages={
                     'invalid': "Este valor pode conter apenas números."
                 })
         else:
             self.fields['username'] = MatriculaField(
                 label=u"Matricula",
                 required=False,
                 help_text="Requeridos. 30 numeros ou menos.",
                 error_messages={
                     'invalid': "Este valor pode conter apenas números."
                 })
     else:
         self.fields['username'] = MatriculaField(
             max_length=30,
             label='Matricula',
             help_text="Requeridos. 30 numeros ou menos.",
             error_messages={
                 'invalid': "Este valor pode conter apenas números."
             })
     self.fields['password1'].widget = forms.HiddenInput()
     self.fields['password2'].widget = forms.HiddenInput()