Browse Source

Refatora tela de documento administrativo

pull/222/head
Eduardo Edson Batista Cordeiro Alves 9 years ago
parent
commit
579c8d1bf1
  1. 4
      protocoloadm/forms.py
  2. 76
      protocoloadm/views.py
  3. 75
      templates/protocoloadm/detail_doc_adm.html
  4. 12
      templates/protocoloadm/detail_doc_detail.html

4
protocoloadm/forms.py

@ -439,11 +439,11 @@ class DocumentoAdministrativoForm(ModelForm):
attrs={'class': 'selector'})) attrs={'class': 'selector'}))
assunto = forms.CharField( assunto = forms.CharField(
label='Descrição', required=False, label='Assunto', required=False,
widget=forms.Textarea()) widget=forms.Textarea())
observacao = forms.CharField( observacao = forms.CharField(
label='Descrição', required=False, label='Observação', required=False,
widget=forms.Textarea()) widget=forms.Textarea())
class Meta: class Meta:

76
protocoloadm/views.py

@ -571,55 +571,42 @@ class PesquisarDocumentoAdministrativo(TemplateView):
class DetailDocumentoAdministrativo(DetailView): class DetailDocumentoAdministrativo(DetailView):
template_name = "protocoloadm/detail_doc_adm.html" template_name = "protocoloadm/detail_doc_adm.html"
def get_tipos_doc(self):
return TipoDocumentoAdministrativo.objects.all()
def get(self, request, *args, **kwargs): def get(self, request, *args, **kwargs):
doc = DocumentoAdministrativo.objects.get(id=kwargs['pk']) documento = DocumentoAdministrativo.objects.get(
id=self.kwargs['pk'])
doc = {}
doc['tipo'] = documento.tipo
doc['ano'] = documento.ano
doc['data'] = documento.data
doc['numero_protocolo'] = documento.numero
doc['assunto'] = documento.assunto
doc['interessado'] = documento.interessado
doc['numero'] = documento.numero
doc['tramitacao'] = documento.tramitacao
doc['texto_integral'] = documento.texto_integral
doc['dias_prazo'] = documento.dias_prazo
doc['data_fim_prazo'] = documento.data_fim_prazo
doc['observacao'] = documento.observacao
form = DocumentoAdministrativoForm(
initial=doc)
return self.render_to_response({ return self.render_to_response({
'pk': kwargs['pk'], 'form': form,
'doc': doc, 'pk': kwargs['pk']})
'tipos_doc': TipoDocumentoAdministrativo.objects.all()
})
def post(self, request, *args, **kwargs): def post(self, request, *args, **kwargs):
if 'Salvar' in request.POST: if 'Salvar' in request.POST:
documento = DocumentoAdministrativo.objects.get(id=kwargs['pk']) form = DocumentoAdministrativoForm(request.POST)
if request.POST['numero']:
documento.numero = request.POST['numero']
if request.POST['ano']:
documento.ano = request.POST['ano']
if request.POST['data']:
documento.data = datetime.strptime(
request.POST['data'], "%d/%m/%Y")
if request.POST['numero_protocolo']:
documento.numero_protocolo = request.POST['numero_protocolo']
if request.POST['assunto']:
documento.assunto = request.POST['assunto']
if request.POST['interessado']:
documento.interessado = request.POST['interessado']
if request.POST['tramitacao']:
documento.tramitacao = request.POST['tramitacao']
if request.POST['dias_prazo']: if form.is_valid():
documento.dias_prazo = request.POST['dias_prazo'] doc = form.save(commit=False)
if 'texto_integral' in request.FILES:
if request.POST['data_fim_prazo']: doc.texto_integral = request.FILES['texto_integral']
documento.data_fim_prazo = datetime.strptime( doc.save()
request.POST['data_fim_prazo'], "%d/%m/%Y") return self.form_valid(form)
else:
if request.POST['observacao']: return self.render_to_response({'form': form})
documento.observacao = request.POST['observacao']
documento.save()
elif 'Excluir' in request.POST: elif 'Excluir' in request.POST:
DocumentoAdministrativo.objects.get( DocumentoAdministrativo.objects.get(
id=kwargs['pk']).delete() id=kwargs['pk']).delete()
@ -627,7 +614,8 @@ class DetailDocumentoAdministrativo(DetailView):
return HttpResponseRedirect(self.get_success_url()) return HttpResponseRedirect(self.get_success_url())
def get_success_url(self): def get_success_url(self):
return reverse('pesq_doc_adm') return reverse('detail_doc_adm', kwargs={
'pk': self.kwargs['pk']})
class DocumentoAcessorioAdministrativoView(FormMixin, GenericView): class DocumentoAcessorioAdministrativoView(FormMixin, GenericView):

75
templates/protocoloadm/detail_doc_adm.html

@ -3,77 +3,6 @@
{% load crispy_forms_tags %} {% load crispy_forms_tags %}
{% block detail_content %} {% block detail_content %}
<fieldset> {% crispy form %}
<legend>Formulário de Cadastro</legend> <button type="button" class="btn btn-danger" value="Excluir" name="Excluir">Excluir</button>
<form method="POST">
{% csrf_token %}
<fieldset>
<legend>Identificação Básica</legend>
<div class="row">
<div class="col-md-4"><b>Tipo Documento</b></div>
<div class="col-md-4"><b>Número</b></div>
<div class="col-md-4"><b>Ano</b></div>
</div>
<div class="row">
<div class="col-md-4">
<select name="tipo_documento" disabled>
{% for tipo in tipos_doc %}
{% if doc.tipo.id == tipo.id %}
<option value="{{ tipo }}" selected> {{ tipo.sigla }} - {{ tipo.descricao }} </option>
{% endif %}
{% endfor %}
</select>
</div>
<div class="col-md-4"><input type="text" name="numero" value="{{ doc.numero }}"/></div>
<div class="col-md-4"><input type="text" name="ano" value="{{ doc.ano }}"/></div>
</div>
<div class="row">
<div class="col-md-6"><b>Data</b></div>
<div class="col-md-6"><b>Núm. Protocolo</b></div>
</div>
<div class="row">
<div class="col-md-6"><input type="text" name="data" class="dateinput" value="{{ doc.data|date:"d/m/Y" }}"/></div>
<div class="col-md-6"><input type="text" name="numero_protocolo" value="{{ doc.numero_protocolo }}"/></div>
</div>
<div class="row">
<div class="col-md-12"><b>Assunto</b></div>
</div>
<div class="row">
<div class="col-md-12"><textarea rows="4" cols="50" name="assunto">{{ d.assunto }}</textarea></div>
</div>
<div class="row">
<div class="col-md-6"><b>Interessado</b></div>
<div class="col-md-6"><b>Em Tramitação?</b></div>
</div>
<div class="row">
<div class="col-md-6"><input type="text" name="interessado" value="{{ doc.interessado }}"/></div>
<div class="col-md-6">
<select name="tramitacao">
<option value="True" {% if doc.tramitacao == True %} selected {% endif %} > Sim </option>
<option value="False" {% if doc.tramitacao == False %} selected {% endif %}> Não </option>
</select>
</div>
</div>
</fieldset>
<fieldset>
<legend>Outras Informações</legend>
<div class="row">
<div class="col-md-6"><b>Dias Prazo</b></div>
<div class="col-md-6"><b>Data Fim Prazo</b></div>
</div>
<div class="row">
<div class="col-md-6"><input type="text" name="dias_prazo" {% if doc.diasprazo != None %} value="{{ doc.dias_prazo }}" {% endif %} /></div>
<div class="col-md-6"><input type="text" name="data_fim_prazo" class="dateinput" {% if doc.data_fim_prazo != None %} value="{{ doc.data_fim_prazo }}" {% endif %} /></div>
</div>
<div class="row">
<div class="col-md-12"><b>Obervação</b></div>
</div>
<div class="row">
<div class="col-md-12"><textarea rows="4" cols="50" name="observacao">{{ documento.observacao }}</textarea></div>
</div>
</fieldset>
<input type="submit" value="Salvar" name="Salvar" class="primary button"/>
<input type="submit" value="Excluir" name="Excluir" class="primary button"/>
</form>
</fieldset>
{% endblock %} {% endblock %}

12
templates/protocoloadm/detail_doc_detail.html

@ -1,10 +1,10 @@
{% extends "crud/detail.html" %} {% extends "crud/detail.html" %}
{% load i18n %} {% load i18n %}
{% block actions %} {% endblock %}
{% block sections_nav %} {% block sections_nav %}
<div class="actions btn-group pull-right" role="group"> <div class="actions btn-group pull-right" role="group">
<a href="#" class="btn btn-default">{% trans 'Inicio' %}</a> <a href="{% url 'detail_doc_adm' pk %}" class="btn btn-default">{% trans 'Inicio' %}</a>
<a href="#" class="btn btn-default">{% trans 'Documento Acessório' %}</a> <a href="{% url 'doc_ace_adm' pk %}" class="btn btn-default">{% trans 'Documento Acessório' %}</a>
<a href="{% url 'tramitacao_adm' pk %}" class="btn btn-default">{% trans 'Tramitação' %}</a> <a href="{% url 'tramitacao_adm' pk %}" class="btn btn-default">{% trans 'Tramitação' %}</a>
</div> </div>
{% endblock sections_nav %} {% endblock sections_nav %}

Loading…
Cancel
Save