Skip to content

Commit c1045e6

Browse files
committed
Uses Django Public Admin package
1 parent 350e46d commit c1045e6

File tree

14 files changed

+242
-161
lines changed

14 files changed

+242
-161
lines changed

jarbas/dashboard/admin/__init__.py

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88
from django.db.models import Count, F, Sum
99
from django.db.models.functions import Concat
1010
from django.utils.safestring import mark_safe
11+
from public_admin.admin import PublicModelAdmin
12+
from public_admin.sites import PublicAdminSite
1113

1214
from jarbas.chamber_of_deputies.models import (
1315
Reimbursement,
@@ -18,16 +20,14 @@
1820
from jarbas.dashboard.admin import list_filters, widgets
1921
from jarbas.dashboard.admin.paginators import CachedCountPaginator
2022
from jarbas.dashboard.admin.subquotas import Subquotas
21-
from jarbas.public_admin.admin import PublicAdminModelAdmin
22-
from jarbas.public_admin.sites import public_admin
2323

2424

2525
ALL_FIELDS = sorted(Reimbursement._meta.fields, key=lambda f: f.verbose_name)
2626
CUSTOM_WIDGETS = ('receipt_url', 'subquota_description', 'suspicions')
2727
READONLY_FIELDS = (f.name for f in ALL_FIELDS if f.name not in CUSTOM_WIDGETS)
2828

2929

30-
class ReimbursementModelAdmin(PublicAdminModelAdmin):
30+
class ReimbursementModelAdmin(PublicModelAdmin):
3131

3232
list_display = (
3333
'short_document_id',
@@ -183,7 +183,7 @@ def get_search_results(self, request, queryset, search_term):
183183
return queryset, distinct
184184

185185

186-
class ReimbursementSummaryModelAdmin(PublicAdminModelAdmin):
186+
class ReimbursementSummaryModelAdmin(PublicModelAdmin):
187187
change_list_template = 'dashboard/reimbursement_summary_change_list.html'
188188
list_filter = (
189189
list_filters.SuspiciousListFilter,
@@ -307,5 +307,15 @@ def changelist_view(self, request, extra=None):
307307
return response
308308

309309

310+
class JarbasPublicAdminSite(PublicAdminSite):
311+
site_title = 'Dashboard'
312+
site_header = 'Jarbas Dashboard'
313+
index_title = 'Jarbas'
314+
315+
316+
public_admin = JarbasPublicAdminSite(
317+
public_apps=('chamber_of_deputies',),
318+
public_models=('reimbursements',)
319+
)
310320
public_admin.register(Reimbursement, ReimbursementModelAdmin)
311321
public_admin.register(ReimbursementSummary, ReimbursementSummaryModelAdmin)
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
{% extends "admin/base.html" %}
2+
3+
{% block footer %}
4+
<div id="footer"></div>
5+
{% if google_analytics %}
6+
<script>
7+
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
8+
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
9+
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
10+
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
11+
ga('create', '{{ google_analytics }}', 'auto');
12+
ga('send', 'pageview');
13+
</script>
14+
{% endif %}
15+
{% endblock %}
Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
{% extends "admin/change_list.html" %}
2+
{% load dashboard %}
3+
4+
{% block content_title %}
5+
<h1>
6+
Resumo dos reembolsos da CEAP
7+
{% if year or month %}-{% endif %}
8+
{% if month %}{{ month }}{% endif %}
9+
{% if year and month %}/{% endif %}
10+
{% if year %}{{ year }}{% endif %}
11+
</h1>
12+
{% endblock %}
13+
14+
{% block result_list %}
15+
<div class="results">
16+
<table>
17+
18+
<thead>
19+
<tr>
20+
<th>
21+
<div class=”text”>
22+
<a href=”#”>Categoria (sub-cota)</a>
23+
</div>
24+
</th>
25+
<th>
26+
<div class=”text”>
27+
<a href=”#”>Número de reembolsos</a>
28+
</div>
29+
</th>
30+
<th>
31+
<div class=”text”>
32+
<a href=”#”>Valor total</a>
33+
</div>
34+
</th>
35+
<th>
36+
<div class=”text”>
37+
<a href=”#”>
38+
<strong>% do total</strong>
39+
</a>
40+
</div>
41+
</th>
42+
</tr>
43+
</thead>
44+
45+
<tbody>
46+
{% for row in summary %}
47+
<tr class=”{% cycle 'row1' 'row2' %}”>
48+
<td>{{ row.subquota_description|translate_subquota }}</td>
49+
<td>{{ row.total_reimbursements|brazilian_integer }}</td>
50+
<td>{{ row.total_value|brazilian_reais }}</td>
51+
<td>
52+
<strong>
53+
{{ row.total_value|default:0|percentof:summary_total.total_value }}
54+
</strong>
55+
</td>
56+
</tr>
57+
{% endfor %}
58+
</tbody>
59+
60+
<tfoot>
61+
<tr style=”font-weight:bold; border-top:2px solid #DDDDDD;”>
62+
<td> Total </td>
63+
<td>{{ summary_total.total_reimbursements|brazilian_integer }}</td>
64+
<td>{{ summary_total.total_value|brazilian_reais }}</td>
65+
<td>100%</td>
66+
</tr>
67+
</tfoot>
68+
69+
</table>
70+
</div>
71+
72+
<p>&nbsp;</p>
73+
74+
{% if summary_over_time|length > 1 %}
75+
<div class="results">
76+
<h2>Reembolsos por período (por {{ chart_grouping|translate_chart_grouping }})</h2>
77+
<div class="bar-chart">
78+
{% for data in summary_over_time %}
79+
<div class="bar" style="height:{{ data.percent }}%">
80+
<div class="bar-tooltip">
81+
{{ data.total|brazilian_reais }}<br>
82+
{% if chart_grouping == 'year' %}
83+
{{ data.chart_grouping|chart_grouping_as_date|date:"Y"}}
84+
{% else %}
85+
{{ data.chart_grouping|chart_grouping_as_date|date:"m/Y"}}
86+
{% endif %}
87+
</div>
88+
</div>
89+
{% endfor %}
90+
</div>
91+
</div>
92+
93+
</div>
94+
{% endif %}
95+
96+
{% endblock %}
97+
98+
{% block pagination %}{% endblock %}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
{% extends "admin/base.html" %}
2+
3+
{% block footer %}
4+
<div id="footer"></div>
5+
{% if google_analytics %}
6+
<script>
7+
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
8+
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
9+
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
10+
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
11+
ga('create', '{{ google_analytics }}', 'auto');
12+
ga('send', 'pageview');
13+
</script>
14+
{% endif %}
15+
{% endblock %}
Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
{% extends "admin/change_list.html" %}
2+
{% load dashboard %}
3+
4+
{% block content_title %}
5+
<h1>
6+
Resumo dos reembolsos da CEAP
7+
{% if year or month %}-{% endif %}
8+
{% if month %}{{ month }}{% endif %}
9+
{% if year and month %}/{% endif %}
10+
{% if year %}{{ year }}{% endif %}
11+
</h1>
12+
{% endblock %}
13+
14+
{% block result_list %}
15+
<div class="results">
16+
<table>
17+
18+
<thead>
19+
<tr>
20+
<th>
21+
<div class=”text”>
22+
<a href=”#”>Categoria (sub-cota)</a>
23+
</div>
24+
</th>
25+
<th>
26+
<div class=”text”>
27+
<a href=”#”>Número de reembolsos</a>
28+
</div>
29+
</th>
30+
<th>
31+
<div class=”text”>
32+
<a href=”#”>Valor total</a>
33+
</div>
34+
</th>
35+
<th>
36+
<div class=”text”>
37+
<a href=”#”>
38+
<strong>% do total</strong>
39+
</a>
40+
</div>
41+
</th>
42+
</tr>
43+
</thead>
44+
45+
<tbody>
46+
{% for row in summary %}
47+
<tr class=”{% cycle 'row1' 'row2' %}”>
48+
<td>{{ row.subquota_description|translate_subquota }}</td>
49+
<td>{{ row.total_reimbursements|brazilian_integer }}</td>
50+
<td>{{ row.total_value|brazilian_reais }}</td>
51+
<td>
52+
<strong>
53+
{{ row.total_value|default:0|percentof:summary_total.total_value }}
54+
</strong>
55+
</td>
56+
</tr>
57+
{% endfor %}
58+
</tbody>
59+
60+
<tfoot>
61+
<tr style=”font-weight:bold; border-top:2px solid #DDDDDD;”>
62+
<td> Total </td>
63+
<td>{{ summary_total.total_reimbursements|brazilian_integer }}</td>
64+
<td>{{ summary_total.total_value|brazilian_reais }}</td>
65+
<td>100%</td>
66+
</tr>
67+
</tfoot>
68+
69+
</table>
70+
</div>
71+
72+
<p>&nbsp;</p>
73+
74+
{% if summary_over_time|length > 1 %}
75+
<div class="results">
76+
<h2>Reembolsos por período (por {{ chart_grouping|translate_chart_grouping }})</h2>
77+
<div class="bar-chart">
78+
{% for data in summary_over_time %}
79+
<div class="bar" style="height:{{ data.percent }}%">
80+
<div class="bar-tooltip">
81+
{{ data.total|brazilian_reais }}<br>
82+
{% if chart_grouping == 'year' %}
83+
{{ data.chart_grouping|chart_grouping_as_date|date:"Y"}}
84+
{% else %}
85+
{{ data.chart_grouping|chart_grouping_as_date|date:"m/Y"}}
86+
{% endif %}
87+
</div>
88+
</div>
89+
{% endfor %}
90+
</div>
91+
</div>
92+
93+
</div>
94+
{% endif %}
95+
96+
{% endblock %}
97+
98+
{% block pagination %}{% endblock %}

jarbas/dashboard/urls.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
from django.urls import path
22

3-
from jarbas.public_admin.sites import public_admin
3+
from jarbas.dashboard.admin import public_admin
44

55

66
urlpatterns = [

jarbas/public_admin/__init__.py

Whitespace-only changes.

jarbas/public_admin/admin.py

Lines changed: 0 additions & 30 deletions
This file was deleted.

jarbas/public_admin/sites.py

Lines changed: 0 additions & 61 deletions
This file was deleted.

0 commit comments

Comments
 (0)