mirror of https://github.com/interlegis/sigi.git
Lude Ribeiro
3 years ago
16 changed files with 245 additions and 45 deletions
@ -0,0 +1,32 @@ |
|||
# -*- coding: utf-8 -*- |
|||
|
|||
from django import forms |
|||
from django.utils.translation import ugettext as _ |
|||
from sigi.apps.eventos.models import ModeloDeclaracao, Evento |
|||
|
|||
class EventoAdminForm(forms.ModelForm): |
|||
class Meta: |
|||
model = Evento |
|||
fields = ('tipo_evento', 'nome', 'descricao', 'virtual', 'solicitante', |
|||
'data_inicio', 'data_termino', 'carga_horaria', |
|||
'casa_anfitria', 'municipio', 'local', 'publico_alvo', |
|||
'total_participantes', 'status', 'data_cancelamento', |
|||
'motivo_cancelamento', ) |
|||
|
|||
def clean(self): |
|||
cleaned_data = super(EventoAdminForm, self).clean() |
|||
data_inicio = cleaned_data.get("data_inicio") |
|||
data_termino = cleaned_data.get("data_termino") |
|||
|
|||
if data_inicio > data_termino: |
|||
raise forms.ValidationError( |
|||
_(u"Data término deve ser posterior à data inicio"), |
|||
code="invalid_period" |
|||
) |
|||
|
|||
class SelecionaModeloForm(forms.Form): |
|||
modelo = forms.ModelChoiceField( |
|||
queryset=ModeloDeclaracao.objects.all(), |
|||
required=True, |
|||
label=_(u"Modelo de declaração"), |
|||
) |
@ -0,0 +1,30 @@ |
|||
# -*- coding: utf-8 -*- |
|||
from __future__ import unicode_literals |
|||
|
|||
from django.db import models, migrations |
|||
import tinymce.models |
|||
|
|||
|
|||
class Migration(migrations.Migration): |
|||
|
|||
dependencies = [ |
|||
('eventos', '0012_auto_20211117_0657'), |
|||
] |
|||
|
|||
operations = [ |
|||
migrations.CreateModel( |
|||
name='ModeloDeclaracao', |
|||
fields=[ |
|||
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), |
|||
('nome', models.CharField(max_length=100, verbose_name='Nome do modelo')), |
|||
('formato', models.CharField(default=b'A4 portrait', max_length=30, verbose_name='Formato da p\xe1gina', choices=[(b'A4 portrait', 'A4 retrato'), (b'A4 landscape', 'A4 paisagem'), (b'letter portrait', 'Carta retrato'), (b'letter landscape', 'Carta paisagem')])), |
|||
('margem', models.PositiveIntegerField(default=4, help_text='Margem da p\xe1gina em cent\xedmetros', verbose_name='Margem')), |
|||
('texto', tinymce.models.HTMLField(help_text='Use as seguintes marca\xe7\xf5es:<ul><li>{{ casa }} para o nome da Casa Legislativa / \xf3rg\xe3o</li><li>{{ nome }} para o nome do visitante</li><li>{{ data }} para a data de emiss\xe3o da declara\xe7\xe3o</li><li>{{ evento.data_inicio }} para a data/hora do in\xedcio da visita</li><li>{{ evento.data_termino }} para a data/hora do t\xe9rmino da visita</li><li>{{ evento.nome }} para o nome do evento</li><li>{{ evento.descricao }} para a descri\xe7\xe3o do evento</li></ul>', verbose_name='Texto da declara\xe7\xe3o')), |
|||
], |
|||
options={ |
|||
'verbose_name': 'modelo de declara\xe7\xe3o', |
|||
'verbose_name_plural': 'modelos de declara\xe7\xe3o', |
|||
}, |
|||
bases=(models.Model,), |
|||
), |
|||
] |
@ -0,0 +1,10 @@ |
|||
{% extends "base_change_form.html" %} |
|||
{% load i18n %} |
|||
|
|||
{% block object-tools-items %} |
|||
<li><a href="declaracao/"> |
|||
<span class="glyphicon glyphicon-print"></span> |
|||
{% trans 'Declaração' %} |
|||
</a></li> |
|||
{{ block.super }} |
|||
{% endblock %} |
@ -0,0 +1,24 @@ |
|||
{% extends 'base_report.html' %} |
|||
{% load i18n %} |
|||
|
|||
{% block pagesize %}{{ pagesize }}{% endblock pagesize %} |
|||
{% block pagemargin %}4cm {{ pagemargin }}cm {{ pagemargin }}cm 2cm{% endblock pagemargin %} |
|||
|
|||
{% block report %} |
|||
{% for convite in evento.convite_set.all %} |
|||
{% with convite.casa.nome as casa %} |
|||
{% for nome in convite.nomes_participantes.splitlines %} |
|||
{% block text_body %}{% endblock %} |
|||
<pdf:nextpage /> |
|||
{% endfor %} |
|||
{% endwith %} |
|||
{% endfor %} |
|||
{% endblock %} |
|||
|
|||
{%block page_foot%} |
|||
<table> |
|||
<tr> |
|||
<td class="footer-left">{% trans 'Emissão:' %} {% now "d/m/Y H:i:s" %}</td> |
|||
</tr> |
|||
</table> |
|||
{% endblock %} |
@ -0,0 +1,25 @@ |
|||
{% extends "admin/base_site.html" %} |
|||
{% load i18n bootstrap3 %} |
|||
|
|||
{% block content_title %} |
|||
<h1 class="pull-left">{% trans 'Emitir declaração de comparecimento' %}</h1> |
|||
{% endblock %} |
|||
|
|||
{% block content %} |
|||
{% if error %} |
|||
<div class="alert alert-danger" role="alert"> |
|||
{{ error }} |
|||
</div> |
|||
{% endif %} |
|||
<div id="content-main"> |
|||
<form action="" method="post">{% csrf_token %} |
|||
{% csrf_token %} |
|||
<div class="form-group"> |
|||
{% bootstrap_form form %} |
|||
</div> |
|||
<input type="submit" value="Imprimir" class="btn btn-primary"/> |
|||
<a class="btn btn-danger" role="button" href="{% url 'admin:eventos_evento_change' evento_id %}">{% trans "Voltar" %}</a> |
|||
</form> |
|||
</div> |
|||
{% endblock %} |
|||
|
Loading…
Reference in new issue