Browse Source

Add field cargo em AutorForm para tipos sem CT

Cadastro de Autores de Tipos sem ContentType podem adicionar nome, cargo
e usuário.
pull/739/head
LeandroRoberto 8 years ago
parent
commit
c46c61adaf
  1. 20
      sapl/base/forms.py
  2. 4
      sapl/templates/base/autor_form.html

20
sapl/base/forms.py

@ -1,6 +1,7 @@
from crispy_forms.bootstrap import FieldWithButtons, InlineRadios, StrictButton from crispy_forms.bootstrap import FieldWithButtons, InlineRadios, StrictButton
from crispy_forms.helper import FormHelper from crispy_forms.helper import FormHelper
from crispy_forms.layout import HTML, Button, Div, Field, Fieldset, Layout, Row from crispy_forms.layout import HTML, Button, Div, Field, Fieldset, Layout, Row
from crispy_forms.templatetags.crispy_forms_field import css_class
from django import forms from django import forms
from django.conf import settings from django.conf import settings
from django.contrib.auth import get_user_model from django.contrib.auth import get_user_model
@ -138,6 +139,7 @@ class AutorForm(ModelForm):
model = Autor model = Autor
fields = ['tipo', fields = ['tipo',
'nome', 'nome',
'cargo',
'autor_related', 'autor_related',
'q', 'q',
'action_user', 'action_user',
@ -160,9 +162,10 @@ class AutorForm(ModelForm):
data_application='AutorSearch', data_application='AutorSearch',
data_field='autor_related') data_field='autor_related')
autor_select = Row(to_column(('tipo', 4)), autor_select = Row(to_column(('tipo', 3)),
to_column(('nome', 8)), Div(to_column(('nome', 5)),
to_column((autor_related, 8)), to_column(('cargo', 4)), css_class="div_nome_cargo"),
to_column((autor_related, 9)),
to_column((Div( to_column((Div(
Field('autor_related'), Field('autor_related'),
css_class='radiogroup-autor-related hidden'), css_class='radiogroup-autor-related hidden'),
@ -205,10 +208,17 @@ class AutorForm(ModelForm):
self.fields['username'].label = string_concat( self.fields['username'].label = string_concat(
self.fields['username'].label, self.fields['username'].label,
' (', self.instance.user.username, ')') ' (', self.instance.user.username, ')')
self.fields['status_user'].label = string_concat(
self.fields['status_user'].label,
' (', self.instance.user.username, ')')
self.fields['username'].widget.attrs.update({ self.fields['username'].widget.attrs.update({
'data': self.instance.user.username 'data': self.instance.user.username
if self.instance.user else ''}) if self.instance.user else ''})
self.fields['status_user'].widget.attrs.update({
'data': self.instance.user.username
if self.instance.user else ''})
def valida_igualdade(self, texto1, texto2, msg): def valida_igualdade(self, texto1, texto2, msg):
if texto1 != texto2: if texto1 != texto2:
raise ValidationError(msg) raise ValidationError(msg)
@ -227,10 +237,10 @@ class AutorForm(ModelForm):
if self.instance.pk and self.instance.user_id: if self.instance.pk and self.instance.user_id:
if self.instance.user.username != cd['username']: if self.instance.user.username != cd['username']:
if 'status_user' not in cd or cd['status_user']: if 'status_user' not in cd or not cd['status_user']:
raise ValidationError( raise ValidationError(
_('Foi trocado ou removido o usuário deste Autor, ' _('Foi trocado ou removido o usuário deste Autor, '
'mas não foi informado com se deve proceder com o ' 'mas não foi informado como se deve proceder com o '
'usuário que está sendo desvinculado?')) 'usuário que está sendo desvinculado?'))
qs_user = User.objects.all() qs_user = User.objects.all()

4
sapl/templates/base/autor_form.html

@ -13,13 +13,13 @@ $(document).ready(function(){
var active = function(str) { var active = function(str) {
if (str == 'nome') { if (str == 'nome') {
$('#id_nome, #id_q').val(''); $('#id_nome, #id_q').val('');
$('#div_id_nome').removeClass('hidden'); $('.div_nome_cargo').removeClass('hidden');
$("#div_id_autor_related .controls").html(''); $("#div_id_autor_related .controls").html('');
$("[data-application='AutorSearch'], .radiogroup-autor-related").addClass('hidden'); $("[data-application='AutorSearch'], .radiogroup-autor-related").addClass('hidden');
} }
else { else {
$('#id_nome').val(''); $('#id_nome').val('');
$('#div_id_nome').addClass('hidden'); $('.div_nome_cargo').addClass('hidden');
$("#div_id_autor_related .alert").remove(); $("#div_id_autor_related .alert").remove();
$("[data-application='AutorSearch'], .radiogroup-autor-related").removeClass('hidden'); $("[data-application='AutorSearch'], .radiogroup-autor-related").removeClass('hidden');
} }

Loading…
Cancel
Save