diff --git a/sapl/base/forms.py b/sapl/base/forms.py index d2dff4e70..eeed61860 100644 --- a/sapl/base/forms.py +++ b/sapl/base/forms.py @@ -1941,4 +1941,10 @@ class AutorUserForm(ModelForm): raise ValidationError("Este usuário ({}) já está vinculado a um Autor ({}).".format( username, AutorUser.objects.get(user=user).autor)) - \ No newline at end of file + + def save(self): + cd = self.cleaned_data + user = User.objects.get(username=cd['username']) + autor = cd['autor'] + autor_user = AutorUser.objects.create(autor=autor, user=user) + return autor_user \ No newline at end of file diff --git a/sapl/base/migrations/0041_auto_20190911_1541.py b/sapl/base/migrations/0041_auto_20190911_1541.py new file mode 100644 index 000000000..74f24f611 --- /dev/null +++ b/sapl/base/migrations/0041_auto_20190911_1541.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.20 on 2019-09-11 18:41 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('base', '0040_auto_20190910_1113'), + ] + + operations = [ + migrations.AlterField( + model_name='autor', + name='cargo', + field=models.CharField(blank=True, max_length=50, verbose_name='Cargo'), + ), + ] diff --git a/sapl/base/urls.py b/sapl/base/urls.py index 40af9e569..3d042fc70 100644 --- a/sapl/base/urls.py +++ b/sapl/base/urls.py @@ -39,7 +39,8 @@ from .views import (AlterarSenha, AppConfigCrud, CasaLegislativaCrud, ListarLegislaturaInfindavelView, ListarAnexadasCiclicasView, ListarAnexadosCiclicosView, pesquisa_textual, RelatorioHistoricoTramitacaoAdmView, RelatorioDocumentosAcessoriosView, - RelatorioNormasPorAutorView, AutorUserCrud, AutorUserFormView) + RelatorioNormasPorAutorView, AutorUserCrud, AutorUserFormView, + deleta_autoruser) app_name = AppConfig.name @@ -236,5 +237,8 @@ urlpatterns = [ url(r'^sistema/autor/(?P\d+)/vincular-usuario/create$', AutorUserFormView.as_view(), name='vincular-usuario-autor'), + url(r'^sistema/deleta-autoruser/$', + deleta_autoruser, name='deleta_autorser'), + ] + recuperar_senha + alterar_senha + admin_user + channels_url diff --git a/sapl/base/views.py b/sapl/base/views.py index 8dcfd0ae1..a95a9c7e8 100644 --- a/sapl/base/views.py +++ b/sapl/base/views.py @@ -184,7 +184,7 @@ class AutorCrud(CrudAux): help_topic = 'autor' class BaseMixin(CrudAux.BaseMixin): - list_field_names = ['tipo', 'nome', 'user'] + list_field_names = ['tipo', 'nome'] class DeleteView(CrudAux.DeleteView): @@ -1641,6 +1641,12 @@ def get_estatistica(request): return JsonResponse(json_dict) +def deleta_autoruser(request): + pk = int(request.GET['pk']) + AutorUser.objects.get(pk=pk).delete() + return JsonResponse({}) + + class ListarMandatoSemDataInicioView(PermissionRequiredMixin, ListView): model = get_user_model() template_name = 'base/mandato_sem_data_inicio.html' @@ -2281,7 +2287,6 @@ class RelatorioNormasPorAutorView(RelatorioMixin, FilterView): class AutorUserFormView(FormView): form_class = AutorUserForm template_name = 'base/autoruser_form.html' - success_url = '/' def get_initial(self): initial = super().get_initial() @@ -2292,9 +2297,14 @@ class AutorUserFormView(FormView): return initial def form_valid(self, form): - super().form_valid(form) + form.save() + return super().form_valid(form) @property def cancel_url(self): + return reverse('sapl.base:autor_detail', + kwargs={'pk': self.kwargs['autor_pk']}) + + def get_success_url(self): return reverse('sapl.base:autor_detail', kwargs={'pk': self.kwargs['autor_pk']}) \ No newline at end of file diff --git a/sapl/templates/base/autor_detail.html b/sapl/templates/base/autor_detail.html index d9326d505..4492e9b37 100644 --- a/sapl/templates/base/autor_detail.html +++ b/sapl/templates/base/autor_detail.html @@ -22,6 +22,11 @@ {% for au in autor_user %} {{au.user}} + + + {% endfor %} @@ -33,8 +38,16 @@