Commit 3c848a3277eab5630ef8b80f36e7448847401364
1 parent
6efc2d3c
Exists in
master
reports
Showing
5 changed files
with
82 additions
and
15 deletions
Show diff stats
wscacicneo/__init__.py
@@ -61,7 +61,7 @@ def main(global_config, **settings): | @@ -61,7 +61,7 @@ def main(global_config, **settings): | ||
61 | # | 61 | # |
62 | # relatorios | 62 | # relatorios |
63 | cfg.add_route('conf_report', 'relatorios/configuracao') | 63 | cfg.add_route('conf_report', 'relatorios/configuracao') |
64 | - cfg.add_route('report_hd', 'relatorio/{orgao}/{item}') | 64 | + cfg.add_route('report_itens', 'relatorio/{nm_orgao}/{attr}/{child}') |
65 | # | 65 | # |
66 | cfg.add_route('list', 'list') | 66 | cfg.add_route('list', 'list') |
67 | cfg.add_route('gestao', 'gestao') | 67 | cfg.add_route('gestao', 'gestao') |
@@ -75,7 +75,6 @@ def main(global_config, **settings): | @@ -75,7 +75,6 @@ def main(global_config, **settings): | ||
75 | cfg.add_route('login', 'login') | 75 | cfg.add_route('login', 'login') |
76 | cfg.add_route('loginautentication', 'loginautentication') | 76 | cfg.add_route('loginautentication', 'loginautentication') |
77 | cfg.add_route('logout', 'logout') | 77 | cfg.add_route('logout', 'logout') |
78 | - cfg.add_route('reports', 'reports') | ||
79 | cfg.add_route('computador', 'computador') | 78 | cfg.add_route('computador', 'computador') |
80 | cfg.add_route('busca', 'busca') | 79 | cfg.add_route('busca', 'busca') |
81 | cfg.add_route('gestor', 'gestor') | 80 | cfg.add_route('gestor', 'gestor') |
@@ -87,7 +86,6 @@ def main(global_config, **settings): | @@ -87,7 +86,6 @@ def main(global_config, **settings): | ||
87 | cfg.add_route('processador','processador') | 86 | cfg.add_route('processador','processador') |
88 | cfg.add_route('configcoleta','configcoleta') | 87 | cfg.add_route('configcoleta','configcoleta') |
89 | cfg.add_route('configfav','configfav') | 88 | cfg.add_route('configfav','configfav') |
90 | - cfg.add_route('reportsgestor','reportsgestor') | ||
91 | cfg.add_route('questionarcoleta','questionarcoleta') | 89 | cfg.add_route('questionarcoleta','questionarcoleta') |
92 | cfg.add_route('confighome','confighome') | 90 | cfg.add_route('confighome','confighome') |
93 | cfg.add_route('db','db') | 91 | cfg.add_route('db','db') |
wscacicneo/templates/conf_report.pt
@@ -9,7 +9,7 @@ | @@ -9,7 +9,7 @@ | ||
9 | <div class="col-lg-2"> | 9 | <div class="col-lg-2"> |
10 | <select id="orgao" class="form-control"> | 10 | <select id="orgao" class="form-control"> |
11 | <option></option> | 11 | <option></option> |
12 | - <option tal:repeat="doc orgao_doc">${doc.sigla}</option> | 12 | + <option tal:repeat="doc orgao_doc">${doc.nome}</option> |
13 | </select> | 13 | </select> |
14 | </div> | 14 | </div> |
15 | </div> | 15 | </div> |
@@ -37,7 +37,28 @@ | @@ -37,7 +37,28 @@ | ||
37 | <metal:content fill-slot="javascript"> | 37 | <metal:content fill-slot="javascript"> |
38 | <script type="text/javascript"> | 38 | <script type="text/javascript"> |
39 | $('#enviar').click(function(){ | 39 | $('#enviar').click(function(){ |
40 | - window.location = "${request.route_url('root')}home" | 40 | + orgao = $('#orgao').val() |
41 | + attr = $('#coleta').val() | ||
42 | + if(attr == 'hd'){ | ||
43 | + item = "tipo_hd" | ||
44 | + } | ||
45 | + else if(attr == 'bios'){ | ||
46 | + item = "fabricante_bios" | ||
47 | + } | ||
48 | + else if(attr == 'Sistemas Operacionais'){ | ||
49 | + attr = 'sistemaoperacional' | ||
50 | + item = 'nome_so' | ||
51 | + } | ||
52 | + else if(attr == 'memoria'){ | ||
53 | + item = 'interface_memoria' | ||
54 | + } | ||
55 | + else if(attr == 'processador'){ | ||
56 | + item = 'nome_processador' | ||
57 | + } | ||
58 | + else{ | ||
59 | + alert('Selecione o Item da coleta') | ||
60 | + } | ||
61 | + window.location = "${request.route_url('root')}relatorio/"+orgao+"/"+attr+"/"+item+"" | ||
41 | }); | 62 | }); |
42 | </script> | 63 | </script> |
43 | </metal:content> | 64 | </metal:content> |
wscacicneo/templates/report.pt
1 | <metal:main use-macro="load: master.pt"> | 1 | <metal:main use-macro="load: master.pt"> |
2 | <metal:content fill-slot="conteudo"> | 2 | <metal:content fill-slot="conteudo"> |
3 | - </metal:content> | 3 | + <div class="matter"> |
4 | + <div class="container"> | ||
5 | + <div class="row"> | ||
6 | + <div class="col-md-12"> | ||
7 | + <div class="widget"> | ||
8 | + <div class="widget-head"> | ||
9 | + <div class="pull-left">Data Tables</div> | ||
10 | + <div class="widget-icons pull-right"> | ||
11 | + <a href="#" class="wminimize"><i class="fa fa-chevron-up"></i></a> | ||
12 | + <a href="#" class="wclose"><i class="fa fa-times"></i></a> | ||
13 | + </div> | ||
14 | + <div class="clearfix"></div> | ||
15 | + </div> | ||
16 | + <div class="widget-content"> | ||
17 | + <div class="padd"> | ||
18 | + <div class="page-tables"> | ||
19 | + <div class="table-responsive"> | ||
20 | + <table cellpadding="0" cellspacing="0" border="0" id="data-table" width="100%"> | ||
21 | + <thead> | ||
22 | + <tr> | ||
23 | + <th>Item</th> | ||
24 | + <th>Quantidade</th> | ||
25 | + <th>Opçoes</th> | ||
26 | + </tr> | ||
27 | + </thead> | ||
28 | + <tbody> | ||
29 | + <tr tal:repeat="k data.keys()"> | ||
30 | + <td>${k}</td> | ||
31 | + <td tal:content="data[k]"></td> | ||
32 | + <td> | ||
33 | + <a href="" class="btn btn-xs btn-danger"><i class="fa fa-times"></i></a> | ||
34 | + </td> | ||
35 | + </tr> | ||
36 | + </tbody> | ||
37 | + </table> | ||
38 | + <div class="clearfix"></div> | ||
39 | + </div> | ||
40 | + </div> | ||
41 | + </div> | ||
42 | + </div> | ||
43 | + <div class="widget-foot"> | ||
44 | + </div> | ||
45 | + </div> | ||
46 | + </div> | ||
47 | + </div> | ||
48 | + </div> | ||
49 | + </div> | ||
50 | + </metal:content> | ||
4 | <metal:content fill-slot="javascript"> | 51 | <metal:content fill-slot="javascript"> |
5 | <script type="text/javascript"> | 52 | <script type="text/javascript"> |
6 | </script> | 53 | </script> |
wscacicneo/test/test_reports.py
@@ -46,7 +46,7 @@ class TestRelatorio(unittest.TestCase): | @@ -46,7 +46,7 @@ class TestRelatorio(unittest.TestCase): | ||
46 | hd = get_doc.get_attribute('hd') | 46 | hd = get_doc.get_attribute('hd') |
47 | self.assertGreater(len(hd.results), 0) | 47 | self.assertGreater(len(hd.results), 0) |
48 | 48 | ||
49 | - hd_count = get_doc.count_attribute('hd', 'tipo_hd') | 49 | + hd_count = get_doc.count_attribute('memoria', 'interface_memoria') |
50 | fd = open('/tmp/teste.json', 'w+') | 50 | fd = open('/tmp/teste.json', 'w+') |
51 | fd.write(json.dumps(hd_count)) | 51 | fd.write(json.dumps(hd_count)) |
52 | fd.close() | 52 | fd.close() |
wscacicneo/views.py
@@ -17,6 +17,7 @@ from wscacicneo.model.user import UserBase | @@ -17,6 +17,7 @@ from wscacicneo.model.user import UserBase | ||
17 | from wscacicneo.model.notify import Notify | 17 | from wscacicneo.model.notify import Notify |
18 | from wscacicneo.model.notify import NotifyBase | 18 | from wscacicneo.model.notify import NotifyBase |
19 | from wscacicneo.model import coleta_manual | 19 | from wscacicneo.model import coleta_manual |
20 | +from wscacicneo.model.reports import Reports | ||
20 | 21 | ||
21 | from liblightbase.lbbase.struct import Base | 22 | from liblightbase.lbbase.struct import Base |
22 | from liblightbase.lbutils import conv | 23 | from liblightbase.lbutils import conv |
@@ -51,7 +52,7 @@ def home(request): | @@ -51,7 +52,7 @@ def home(request): | ||
51 | return {'project': 'WSCacicNeo'} | 52 | return {'project': 'WSCacicNeo'} |
52 | 53 | ||
53 | @view_config(route_name='list_notify', renderer='templates/list_notify.pt') | 54 | @view_config(route_name='list_notify', renderer='templates/list_notify.pt') |
54 | -def reports(request): | 55 | +def list_notify(request): |
55 | notify_obj = Notify( | 56 | notify_obj = Notify( |
56 | orgao = 'deasdsd', | 57 | orgao = 'deasdsd', |
57 | id_coleta = 'saudhasd', | 58 | id_coleta = 'saudhasd', |
@@ -198,10 +199,6 @@ def error(request): | @@ -198,10 +199,6 @@ def error(request): | ||
198 | def configfav(request): | 199 | def configfav(request): |
199 | return {'project': 'WSCacicNeo'} | 200 | return {'project': 'WSCacicNeo'} |
200 | 201 | ||
201 | -@view_config(route_name='reportsgestor', renderer='templates/reportsgestor.pt') | ||
202 | -def reportsgestor(request): | ||
203 | - return {'project': 'WSCacicNeo'} | ||
204 | - | ||
205 | @view_config(route_name='questionarcoleta', renderer='templates/questionarcoleta.pt') | 202 | @view_config(route_name='questionarcoleta', renderer='templates/questionarcoleta.pt') |
206 | def questionarcoleta(request): | 203 | def questionarcoleta(request): |
207 | return {'project': 'WSCacicNeo'} | 204 | return {'project': 'WSCacicNeo'} |
@@ -238,9 +235,13 @@ def conf_report(request): | @@ -238,9 +235,13 @@ def conf_report(request): | ||
238 | search = orgao_obj.search_list_orgaos() | 235 | search = orgao_obj.search_list_orgaos() |
239 | return {'orgao_doc': search.results} | 236 | return {'orgao_doc': search.results} |
240 | 237 | ||
241 | -@view_config(route_name='report_hd', renderer='templates/report.pt') | ||
242 | -def report_hd(request): | ||
243 | - return { } | 238 | +@view_config(route_name='report_itens', renderer='templates/report.pt') |
239 | +def report_itens(request): | ||
240 | + nm_orgao = request.matchdict['nm_orgao'] | ||
241 | + attr = request.matchdict['attr'] | ||
242 | + child = request.matchdict['child'] | ||
243 | + data = Reports(nm_orgao).count_attribute(attr, child) | ||
244 | + return {'data': data } | ||
244 | 245 | ||
245 | @view_config(route_name='post_orgao') | 246 | @view_config(route_name='post_orgao') |
246 | def post_orgao(request): | 247 | def post_orgao(request): |