Commit 3c848a3277eab5630ef8b80f36e7448847401364

Authored by Macieski
1 parent 6efc2d3c
Exists in master

reports

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):