diff --git a/sapl/base/forms.py b/sapl/base/forms.py index c4f2b8e73..10ff7e983 100644 --- a/sapl/base/forms.py +++ b/sapl/base/forms.py @@ -411,11 +411,6 @@ class AutorForm(ModelForm): required=False, label=_('Confirmar Email')) - # username = forms.CharField(label=get_user_model()._meta.get_field( - # get_user_model().USERNAME_FIELD).verbose_name.capitalize(), - # required=False, - # max_length=50) - q = forms.CharField( max_length=50, required=False, label='Pesquise o nome do Autor com o ' @@ -425,11 +420,6 @@ class AutorForm(ModelForm): required=False, widget=forms.RadioSelect()) - # action_user = forms.ChoiceField( - # label=_('Usuário com acesso ao Sistema para este Autor'), - # choices=ACTION_CREATE_USERS_AUTOR_CHOICE, - # widget=forms.RadioSelect()) - class Meta: model = Autor fields = ['tipo', @@ -467,7 +457,7 @@ class AutorForm(ModelForm): self.helper = SaplFormHelper() self.helper.layout = SaplFormLayout(autor_select) - super(AutorForm, self).__init__(*args, **kwargs) + super().__init__(*args, **kwargs) if self.instance.pk: if self.instance.autor_related: @@ -488,66 +478,17 @@ class AutorForm(ModelForm): return True def clean(self): - super(AutorForm, self).clean() - # import ipdb; ipdb.set_trace() + super().clean() + if not self.is_valid(): return self.cleaned_data - # User = get_user_model() cd = self.cleaned_data - - # if 'action_user' not in cd or not cd['action_user']: - # self.logger.error('Não Informado se o Autor terá usuário ' - # 'vinculado para acesso ao Sistema.') - # raise ValidationError(_('Informe se o Autor terá usuário ' - # 'vinculado para acesso ao Sistema.')) - - # if 'status_user' in self.Meta.fields: - # if self.instance.pk and self.instance.user_id: - # if getattr( - # self.instance.user, - # get_user_model().USERNAME_FIELD) != cd['username']: - # if 'status_user' not in cd or not cd['status_user']: - # self.logger.error('Foi trocado ou removido o usuário deste Autor ({}), ' - # 'mas não foi informado como se deve proceder ' - # 'com o usuário que está sendo desvinculado? ({})' - # .format(cd['username'], get_user_model().USERNAME_FIELD)) - # raise ValidationError( - # _('Foi trocado ou removido o usuário deste Autor, ' - # 'mas não foi informado como se deve proceder ' - # 'com o usuário que está sendo desvinculado?')) - - qs_user = User.objects.all() + qs_autor = Autor.objects.all() if self.instance.pk: qs_autor = qs_autor.exclude(pk=self.instance.pk) - # if self.instance.user: - # qs_user = qs_user.exclude(pk=self.instance.user.pk) - - # if cd['action_user'] == 'A': - # param_username = {get_user_model().USERNAME_FIELD: cd['username']} - # if not User.objects.filter(**param_username).exists(): - # self.logger.error( - # 'Não existe usuário com username "%s". ' % cd['username']) - # raise ValidationError( - # _('Não existe usuário com username "%s". ' - # 'Para utilizar esse username você deve selecionar ' - # '"Criar novo Usuário".') % cd['username']) - - # if cd['action_user'] != 'N': - - # if 'username' not in cd or not cd['username']: - # self.logger.error('Username não informado.') - # raise ValidationError(_('O username deve ser informado.')) - - # param_username = { - # 'user__' + get_user_model().USERNAME_FIELD: cd['username']} - # if qs_autor.filter(**param_username).exists(): - # self.logger.error( - # 'Já existe um Autor para este usuário ({}).'.format(cd['username'])) - # raise ValidationError( - # _('Já existe um usuário vinculado a esse autor')) """ 'if' não é necessário por ser campo obrigatório e o framework já @@ -601,20 +542,7 @@ class AutorForm(ModelForm): @transaction.atomic def save(self, commit=False): - autor = super(AutorForm, self).save(commit) - - # user_old = autor.user if autor.user_id else None - - # u = None - # param_username = { - # get_user_model().USERNAME_FIELD: self.cleaned_data['username']} - # if self.cleaned_data['action_user'] == 'A': - # u = get_user_model().objects.get(**param_username) - # if not u.is_active: - # u.is_active = settings.DEBUG - # u.save() - - # autor.user = u + autor = super().save(commit) if not autor.tipo.content_type: autor.content_type = None @@ -627,32 +555,6 @@ class AutorForm(ModelForm): autor.save() - # FIXME melhorar captura de grupo de Autor, levando em conta, - # no mínimo, a tradução. - # grupo = Group.objects.filter(name='Autor')[0] - # if self.cleaned_data['action_user'] != 'N': - # autor.user.groups.add(grupo) - # if user_old and user_old != autor.user: - # user_old.groups.remove(grupo) - - # else: - # if 'status_user' in self.Meta.fields: - # if 'status_user' in self.cleaned_data and user_old: - # if self.cleaned_data['status_user'] == 'X': - # user_old.delete() - - # elif self.cleaned_data['status_user'] == 'D': - # user_old.groups.remove(grupo) - # user_old.is_active = False - # user_old.save() - - # elif self.cleaned_data['status_user'] == 'R': - # user_old.groups.remove(grupo) - # elif user_old: - # user_old.groups.remove(grupo) - # elif user_old: - # user_old.groups.remove(grupo) - return autor @@ -673,9 +575,6 @@ class AutorFormForAdmin(AutorForm): 'cargo', 'autor_related', 'q', - # 'action_user', - # 'username', - # 'status_user' ] @@ -692,9 +591,7 @@ class RelatorioDocumentosAcessoriosFilterSet(django_filters.FilterSet): def __init__(self, *args, **kwargs): - super( - RelatorioDocumentosAcessoriosFilterSet, self - ).__init__(*args, **kwargs) + super().__init__(*args, **kwargs) self.filters['tipo'].label = 'Tipo de Documento' self.filters['materia__tipo'].label = 'Tipo de Matéria do Documento' @@ -1893,21 +1790,6 @@ class AutorUserForm(ModelForm): autor = cd['autor'] autor_user = AutorUser.objects.create(autor=autor, user=user) - - #################################### - # TODO: Isto é necessário? - # if not autor.tipo.content_type: - # autor.content_type = None - # autor.object_id = None - # autor.autor_related = None - # else: - # autor.autor_related = autor.tipo.content_type.model_class( - # ).objects.get(pk=self.cleaned_data['autor_related']) - # autor.nome = str(autor.autor_related) - - # autor.save() - #################################### - # FIXME melhorar captura de grupo de Autor, levando em conta, # no mínimo, a tradução. grupo = Group.objects.filter(name='Autor')[0]