|
|
|
@ -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] |
|
|
|
|