mirror of https://github.com/interlegis/sigi.git
Sesóstris Vieira
3 weeks ago
3 changed files with 243 additions and 0 deletions
@ -0,0 +1,58 @@ |
|||
{% extends "eventos/calendario.html" %} |
|||
{% load i18n static sigi_tags djbs_extras %} |
|||
|
|||
{% block extrastyle %} |
|||
{{ block.super }} |
|||
<style> |
|||
tr.linha-evento { |
|||
border-bottom: 1px solid var(--hairline-color); |
|||
} |
|||
tr.linha-evento.last { |
|||
border-bottom: 1px solid var(--main-bg-color); |
|||
} |
|||
tr td { |
|||
border-left: 1px solid var(--hairline-color); |
|||
} |
|||
.col-horario { |
|||
width: 5em; |
|||
text-aign: right; |
|||
} |
|||
</style> |
|||
{% endblock %} |
|||
|
|||
{% block breadcrumbs %} |
|||
<li class="breadcrumb-item">{% translate "Relatórios" %}</li> |
|||
<li class="breadcrumb-item">{% translate "Reserva de espaços" %}</li> |
|||
{% endblock %} |
|||
|
|||
{% block content %} |
|||
<div class="card mb-3"> |
|||
<div class="card-header"> |
|||
{% icon "filter" %} {% translate "Filtros" %} |
|||
</div> |
|||
<div class="card-body"> |
|||
<ul class="nav nav-tabs" id="anoTab" role="tablist"> |
|||
{% for ano in meses %} |
|||
<li class="nav-item" role="presentation"> |
|||
<button class="nav-link{% if ano == ano_pesquisa %} active{% endif %}" id="tab-{{ ano|safe }}" data-bs-toggle="tab" data-bs-target="#tab-pane-{{ ano|safe }}" type="button" role="tab" aria-controls="tab-pane-{{ ano|safe }}" aria-selected="{% if ano == ano_pesquisa %}true{% else %}false{% endif %}">{{ ano|safe }}</button> |
|||
</li> |
|||
{% endfor %} |
|||
</ul> |
|||
<div class="tab-content" id="anoTabContent"> |
|||
{% for ano, lista in meses.items %} |
|||
<div class="tab-pane fade p-3{% if ano == ano_pesquisa %} show active{% endif %}" id="tab-pane-{{ ano|safe }}" role="tabpanel" aria-labelledby="tab-{{ ano|safe }}" tabindex="0"> |
|||
{% for mes, nome in lista.items %} |
|||
<a class="btn btn-outline-primary btn-sm{% if ano == ano_pesquisa and mes == mes_pesquisa %} disabled{% endif %}" href="?ano={{ ano|safe }}&mes={{ mes|safe }}">{{ nome }}</a> |
|||
{% endfor %} |
|||
</div> |
|||
{% endfor %} |
|||
</div> |
|||
</div> |
|||
<div class="card-footer d-flex justify-content-end"> |
|||
<div> |
|||
<a class="btn btn-primary" role="button" href="?ano={{ ano_pesquisa|safe }}&mes={{ mes_pesquisa|safe }}&pdf=1" title="{% trans 'Exportar para PDF' %}">{% icon "pdf" %} {% trans 'Exportar para PDF' %}</a> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
{% include "espacos/snippets/agenda_cal.html" %} |
|||
{% endblock %} |
@ -0,0 +1,107 @@ |
|||
{% extends 'pdf/base_report.html' %} |
|||
{% load static i18n sigi_tags %} |
|||
|
|||
{% block extra_style %} |
|||
{{ block.super }} |
|||
.card-header { |
|||
font-size: 1.1 rem; |
|||
font-weight: bold; |
|||
} |
|||
|
|||
a { |
|||
color: black; |
|||
text-decoration: none; |
|||
} |
|||
table { |
|||
table-layout: fixed; |
|||
} |
|||
.calendar-table { |
|||
border-collapse: collapse; |
|||
border-spacing: 0; |
|||
border: 1px solid #d2d2d2; |
|||
} |
|||
.calendar-table td+td { |
|||
border-left: 1px solid #d2d2d2 !important; |
|||
} |
|||
table td, |
|||
table td * { |
|||
vertical-align: top; |
|||
} |
|||
.calendar-table tr:nth-child(even) { |
|||
background-color: white !important; |
|||
} |
|||
tr.linha-dias { |
|||
background: #d2d2d2; |
|||
border-top: 1px solid #d2d2d2; |
|||
} |
|||
tr.linha-evento { |
|||
border-bottom: 1px solid #d2d2d2; |
|||
} |
|||
tr.linha-evento.last { |
|||
border-bottom: 1px solid #007433; |
|||
} |
|||
span.numero-dia { |
|||
font-size: 1em; |
|||
} |
|||
.card { |
|||
background-color: #fff; |
|||
padding: 15px; |
|||
margin: 10px 0; |
|||
} |
|||
.card .card-content .card-title { |
|||
display: block; |
|||
line-height: 32px; |
|||
margin-bottom: 8px; |
|||
font-weight: 300; |
|||
} |
|||
.card-title { |
|||
font-size: 20px !important; |
|||
margin-bottom: -6px !important; |
|||
} |
|||
.data-evento { |
|||
font-size: 1em; |
|||
display: block; |
|||
} |
|||
.tipo-evento { |
|||
font-size: 1em; |
|||
color: var(--body-quiet-color); |
|||
display: block; |
|||
margin-bottom: 8px; |
|||
} |
|||
.evento { |
|||
margin: 0; |
|||
padding: 5px 10px; |
|||
} |
|||
.cyan.lighten-4 { background-color: #b2ebf2!important; } |
|||
.red.lighten-4 { background-color: #ffcdd2!important; } |
|||
.purple.lighten-4 { background-color: #e1bee7!important; } |
|||
.blue.lighten-4 { background-color: #bbdefb!important; } |
|||
.orange.lighten-4 { background-color: #ffe0b2!important; } |
|||
.brown.lighten-4 { background-color: #d7ccc8 !important; } |
|||
@font-face { |
|||
font-family: 'Material Icons'; |
|||
font-style: normal; |
|||
font-weight: 400; |
|||
src: url('/static/material/fonts/flUhRq6tzZclQEJ-Vdg-IuiaDsNc.woff2') format('woff2'); |
|||
} |
|||
i.tiny { font-size: 1rem; } |
|||
.material-icons { |
|||
font-family: "Material Icons"; |
|||
font-weight: 400; |
|||
font-style: normal; |
|||
font-size: 24px; |
|||
line-height: 1; |
|||
letter-spacing: normal; |
|||
text-transform: none; |
|||
display: inline-block; |
|||
white-space: nowrap; |
|||
word-wrap: normal; |
|||
direction: ltr; |
|||
-webkit-font-feature-settings: "liga"; |
|||
-webkit-font-smoothing: antialiased; |
|||
} |
|||
{% endblock %} |
|||
|
|||
{% block main_content %} |
|||
{% include "espacos/snippets/agenda_cal.html" %} |
|||
{% endblock main_content %} |
@ -0,0 +1,78 @@ |
|||
{% load i18n static sigi_tags %} |
|||
|
|||
{% for semana in semanas %} |
|||
{% if pdf and not forloop.last and not forloop.first and semana|length > 1 %} |
|||
<div class="new-page"></div> |
|||
{% endif %} |
|||
|
|||
<div class="card mb-3"> |
|||
<div class="card-header"> |
|||
{% blocktranslate with start=semana.datas|first|date:"SHORT_DATE_FORMAT" end=semana.datas|last|date:"SHORT_DATE_FORMAT" %} |
|||
Semana de {{ start }} a {{ end }} |
|||
{% endblocktranslate %} |
|||
</div> |
|||
<div class="card-body"> |
|||
{% if semana|length > 1 %} |
|||
<table class="table table-responsive table-sm table-bordered"> |
|||
<colgroup> |
|||
<col class="col-sala"/> |
|||
<col class="col-horario"/> |
|||
</colgroup> |
|||
<thead> |
|||
<tr> |
|||
<th rowspan="2">{% trans "Espaço" %}</th> |
|||
<th rowspan="2" class="col-horario"></th> |
|||
{% for name in day_names %} |
|||
<th>{{ name }}</th> |
|||
{% endfor %} |
|||
</tr> |
|||
<tr> |
|||
{% for dia in semana.datas %} |
|||
<th>{{ dia|date:"d/m"}}</th> |
|||
{% endfor %} |
|||
</tr> |
|||
</thead> |
|||
<tbody class="table-group-divider"> |
|||
{% for espaco, linhas in semana.items %} |
|||
{% if espaco != "datas" %} |
|||
{% for linha in linhas %} |
|||
<tr class="linha-evento{% if forloop.last %} last{% endif %}"> |
|||
{% if forloop.first %} |
|||
<th rowspan="{{ linhas|length}}">{{ espaco.sigla }}</th> |
|||
{% endif %} |
|||
<td class="col-horario">{{ linha.hora }}</td> |
|||
{% for coluna in linha.colunas %} |
|||
{% if "reserva" in coluna %} |
|||
<td colspan="{{ coluna.colspan}}" rowspan="{{ coluna.rowspan}}" class="blue lighten-4"> |
|||
<p> |
|||
<strong> |
|||
<a href="{% url "admin:espacos_reserva_change" coluna.reserva.id %}"> |
|||
{{ coluna.reserva.proposito }} |
|||
</a> |
|||
</strong> |
|||
</p> |
|||
<p>{{ coluna.reserva.data_inicio|interval:coluna.reserva.data_termino }}</p> |
|||
<p> |
|||
{% blocktranslate with solicitante=coluna.reserva.solicitante %} |
|||
solicitado por {{ solicitante }} |
|||
{% endblocktranslate %} |
|||
</p> |
|||
</td> |
|||
{% else %} |
|||
{% if not coluna is None %} |
|||
<td></td> |
|||
{% endif %} |
|||
{% endif %} |
|||
{% endfor %} |
|||
</tr> |
|||
{% endfor %} |
|||
{% endif %} |
|||
{% endfor %} |
|||
</tbody> |
|||
</table> |
|||
{% else %} |
|||
<p class="card-text">{% translate "Nenhuma reserva de espaço nesta semana" %}</p> |
|||
{% endif %} |
|||
</div> |
|||
</div> |
|||
{% endfor %} |
Loading…
Reference in new issue