diff --git a/sapl/base/forms.py b/sapl/base/forms.py index 0df1bdd89..7cdf950c6 100644 --- a/sapl/base/forms.py +++ b/sapl/base/forms.py @@ -82,6 +82,8 @@ class UsuarioCreateForm(ModelForm): [('password1', 6), ('password2', 6)]) + row4 = to_row([(form_actions(label='Confirmar'), 6)]) + self.helper = FormHelper() self.helper.layout = Layout( row0, @@ -89,8 +91,7 @@ class UsuarioCreateForm(ModelForm): row3, row2, 'roles', - form_actions(label='Confirmar')) - + row4) class UsuarioEditForm(ModelForm): ROLES = [(g.id, g.name) for g in Group.objects.all().order_by('name')] @@ -98,7 +99,7 @@ class UsuarioEditForm(ModelForm): password1 = forms.CharField(required=False, widget=forms.PasswordInput, label='Senha') password2 = forms.CharField(required=False, widget=forms.PasswordInput, label='Confirmar senha') user_active = forms.ChoiceField(choices=YES_NO_CHOICES, required=True, label="Usuário ativo?", initial='True') - roles = forms.MultipleChoiceField(required=False, widget=forms.CheckboxSelectMultiple(), choices=ROLES) + roles = forms.MultipleChoiceField(required=True, widget=forms.CheckboxSelectMultiple(), choices=ROLES) class Meta: model = get_user_model() diff --git a/sapl/base/views.py b/sapl/base/views.py index e78afce25..e2bdcef3f 100644 --- a/sapl/base/views.py +++ b/sapl/base/views.py @@ -563,6 +563,10 @@ class CreateUsuarioView(PermissionRequiredMixin, CreateView): new_user.is_staff = False new_user.save() + groups = Group.objects.filter(id__in=data['roles']) + for g in groups: + g.user_set.add(new_user) + return HttpResponseRedirect(self.get_success_url()) class DeleteUsuarioView(PermissionRequiredMixin, DeleteView):