Commit b978d374ca629e8cfaaea6ebeddabd91a645691c

Authored by Adley
2 parents 8bc0494a 4650b42f
Exists in master

Merge branch 'master' of https://github.com/lightbase/WSCacicNeo

wscacicneo/__init__.py
@@ -52,6 +52,7 @@ def main(global_config, **settings): @@ -52,6 +52,7 @@ def main(global_config, **settings):
52 config.add_route('put_user', 'put_user') 52 config.add_route('put_user', 'put_user')
53 config.add_route('edituser', 'usuario/editar/{matricula}') 53 config.add_route('edituser', 'usuario/editar/{matricula}')
54 config.add_route('favoritos', 'usuario/favoritos/{matricula}') 54 config.add_route('favoritos', 'usuario/favoritos/{matricula}')
  55 + config.add_route('edit_favoritos', 'edit_favoritos')
55 config.add_route('listuser', 'usuario/lista') 56 config.add_route('listuser', 'usuario/lista')
56 config.add_route('delete_user', 'usuario/delete/{matricula}') 57 config.add_route('delete_user', 'usuario/delete/{matricula}')
57 # 58 #
wscacicneo/model/user.py
@@ -133,6 +133,15 @@ class UserBase(WSCacicNeo): @@ -133,6 +133,15 @@ class UserBase(WSCacicNeo):
133 multivalued=True, 133 multivalued=True,
134 required=False 134 required=False
135 )) 135 ))
  136 + itens = Field(**dict(
  137 + name='itens',
  138 + alias='itens',
  139 + description='Itens do Usuário',
  140 + datatype='Text',
  141 + indices=['Textual'],
  142 + multivalued=True,
  143 + required=False
  144 + ))
136 145
137 base_metadata = BaseMetadata( 146 base_metadata = BaseMetadata(
138 name='users', 147 name='users',
@@ -149,6 +158,7 @@ class UserBase(WSCacicNeo): @@ -149,6 +158,7 @@ class UserBase(WSCacicNeo):
149 content_list.append(permissao) 158 content_list.append(permissao)
150 content_list.append(senha) 159 content_list.append(senha)
151 content_list.append(favoritos) 160 content_list.append(favoritos)
  161 + content_list.append(itens)
152 162
153 lbbase = Base( 163 lbbase = Base(
154 metadata=base_metadata, 164 metadata=base_metadata,
@@ -252,7 +262,15 @@ class User(user_base.metaclass): @@ -252,7 +262,15 @@ class User(user_base.metaclass):
252 262
253 return results 263 return results
254 264
255 - def edit_user(self, id, doc): 265 + def create_favoritos(self, id, path, value):
  266 + """
  267 + altera um doc ou path do doc
  268 + """
  269 + results = self.documentrest.create_path(id, path, value)
  270 +
  271 + return results
  272 +
  273 + def edit_user(self, id, value):
256 """ 274 """
257 altera um doc ou path do doc 275 altera um doc ou path do doc
258 """ 276 """
wscacicneo/templates/favoritos.pt
@@ -5,41 +5,19 @@ @@ -5,41 +5,19 @@
5 <div class="widget-head"> 5 <div class="widget-head">
6 <div class="pull-left">Editar</div> 6 <div class="pull-left">Editar</div>
7 <div class="widget-icons pull-right"> 7 <div class="widget-icons pull-right">
8 - <a href="#" class="wminimize"><i class="fa fa-chevron-up"></i></a> 8 + <a href="#" class="wminimize"><i class="fa fa-chevron-up"></i></a>
9 </div> 9 </div>
10 <div class="clearfix"></div> 10 <div class="clearfix"></div>
11 </div> 11 </div>
12 <div class="widget-content"> 12 <div class="widget-content">
13 <div class="padd"> 13 <div class="padd">
14 <!-- Visitors, pageview, bounce rate, etc., Sparklines plugin used --> 14 <!-- Visitors, pageview, bounce rate, etc., Sparklines plugin used -->
15 - <ul id='favoritos-off' class="current-status">  
16 - <label class="checkbox-inline">  
17 - <input type="checkbox" id="cadastro">Cadastro de Órgãos  
18 - </label>  
19 - <li>  
20 - <label class="checkbox-inline">  
21 - <input type="checkbox" id="inlineCheckbox3">Lista de Órgãos  
22 - </label>  
23 - </li>  
24 - <label class="checkbox-inline">  
25 - <input type="checkbox" id="inlineCheckbox3">Cadastro de Usuario  
26 - </label>  
27 - <li>  
28 - <label class="checkbox-inline">  
29 - <input type="checkbox" id="inlineCheckbox3">Lista de Usuario  
30 - </label>  
31 - </li>  
32 - <label class="checkbox-inline">  
33 - <input type="checkbox" id="inlineCheckbox3">Gráficos  
34 - </label>  
35 - <li>  
36 - <label class="checkbox-inline">  
37 - <input type="checkbox" id="inlineCheckbox3">Questionar Coleta  
38 - </label>  
39 - </li>  
40 - <label class="checkbox-inline">  
41 - <input type="checkbox" id="inlineCheckbox3">Notificações  
42 - </label> 15 + <ul tal:repeat="i itens" id='favoritos-off' class="current-status">
  16 + <li>
  17 + <label class="checkbox-inline">
  18 + <a id="${i}">${i}</a>
  19 + </label>
  20 + </li>
43 </ul> 21 </ul>
44 </div> 22 </div>
45 </div> 23 </div>
@@ -60,7 +38,7 @@ @@ -60,7 +38,7 @@
60 <ul tal:repeat="doc favoritos" id="favoritos-on" class="current-status"> 38 <ul tal:repeat="doc favoritos" id="favoritos-on" class="current-status">
61 <li> 39 <li>
62 <label class="checkbox-inline"> 40 <label class="checkbox-inline">
63 - <input type="checkbox" id="inlineCheckbox3" value="option3">${doc} 41 + <a id="${doc}">${doc}</a>
64 </label> 42 </label>
65 </li> 43 </li>
66 </ul> 44 </ul>
@@ -69,9 +47,38 @@ @@ -69,9 +47,38 @@
69 </div> 47 </div>
70 <button type="button" class="btn btn-sm btn-default">Salvar</button> 48 <button type="button" class="btn btn-sm btn-default">Salvar</button>
71 </div> 49 </div>
  50 + <input style="display:none;" id="matricula" value="${request.matchdict['matricula']}">
72 </metal:content> 51 </metal:content>
73 <metal:content fill-slot="javascript"> 52 <metal:content fill-slot="javascript">
74 <script type="text/javascript"> 53 <script type="text/javascript">
  54 + $('a').click(function(){
  55 + value = $(this).html()
  56 + label = $(this).parent()
  57 + li = $(label).parent()
  58 + ul = $(li).parent()
  59 + id_ul = $(ul).attr('id')
  60 + if(id_ul == 'favoritos-off'){
  61 + matricula = $('#matricula').html()
  62 + var data = {
  63 + 'value': value,
  64 + 'path': 'favoritos',
  65 + 'matricula': $('#matricula').val()
  66 + }
  67 + $.ajax({
  68 + type: "PUT",
  69 + url: "${request.route_url('root')}edit_favoritos",
  70 + data: data,
  71 + success: function(){ location.reload(); },
  72 + error: function(){ alert('Não foi desta vez Tente novamente mais tarde') },
  73 + });
  74 + }
  75 + else if(id_ul == 'favoritos-on'){
  76 + alert(value)
  77 + }
  78 + else{
  79 + return true
  80 + }
  81 + });
75 </script> 82 </script>
76 </metal:content> 83 </metal:content>
77 </metal:main> 84 </metal:main>
wscacicneo/templates/list_orgao.pt
@@ -58,7 +58,6 @@ @@ -58,7 +58,6 @@
58 </metal:content> 58 </metal:content>
59 <metal:content fill-slot="javascript"> 59 <metal:content fill-slot="javascript">
60 <script type="text/javascript"> 60 <script type="text/javascript">
61 - });  
62 </script> 61 </script>
63 </metal:content> 62 </metal:content>
64 </metal:main> 63 </metal:main>
wscacicneo/templates/user.pt
@@ -102,7 +102,14 @@ @@ -102,7 +102,14 @@
102 'setor' : $('#setor').val(), 102 'setor' : $('#setor').val(),
103 'permissao' : $('#permissao').val(), 103 'permissao' : $('#permissao').val(),
104 'senha' : $('#senha').val(), 104 'senha' : $('#senha').val(),
105 - 'favoritos': 'Relatórios' 105 + 'favoritos': 'Relatórios',
  106 + 'cadastro_orgao': 'Cadastro de Órgãos',
  107 + 'lista_orgao': 'Lista de Órgãos',
  108 + 'cadastro_user': 'Cadastro de Usuario',
  109 + 'lista_user': 'Lista de Usuarios',
  110 + 'relatorios': 'Relatorios',
  111 + 'coleta': 'Questionar Coleta',
  112 + 'notify': 'Notificações'
106 } 113 }
107 if (data.email.indexOf("gov.br") > -1 == false){ 114 if (data.email.indexOf("gov.br") > -1 == false){
108 setTimeout(function() {noty({text: 'O e-mail tem que ser institucional',layout:'topRight',type:'error',timeout:5000});}, 100); 115 setTimeout(function() {noty({text: 'O e-mail tem que ser institucional',layout:'topRight',type:'error',timeout:5000});}, 100);
wscacicneo/views.py
@@ -119,7 +119,10 @@ def favoritos(request): @@ -119,7 +119,10 @@ def favoritos(request):
119 ) 119 )
120 search = user_obj.search_user(matricula) 120 search = user_obj.search_user(matricula)
121 favoritos = search.results[0].favoritos 121 favoritos = search.results[0].favoritos
122 - return {'favoritos': favoritos } 122 + return {
  123 + 'favoritos': search.results[0].favoritos,
  124 + 'itens': search.results[0].itens
  125 + }
123 126
124 @view_config(route_name='config', renderer='templates/config.pt') 127 @view_config(route_name='config', renderer='templates/config.pt')
125 def config(request): 128 def config(request):
@@ -319,7 +322,7 @@ def post_user(request): @@ -319,7 +322,7 @@ def post_user(request):
319 doc = request.params 322 doc = request.params
320 document = doc['favoritos'] 323 document = doc['favoritos']
321 favoritos = [document] 324 favoritos = [document]
322 - print(type(favoritos)) 325 + itens = [doc['lista_orgao'], doc['cadastro_orgao'], doc['lista_user'], doc['cadastro_user'], doc['relatorios'], doc['coleta'], doc['notify']]
323 user_obj = User( 326 user_obj = User(
324 nome = doc['nome'], 327 nome = doc['nome'],
325 matricula = doc['matricula'], 328 matricula = doc['matricula'],
@@ -330,7 +333,8 @@ def post_user(request): @@ -330,7 +333,8 @@ def post_user(request):
330 setor = doc['setor'], 333 setor = doc['setor'],
331 permissao = doc['permissao'], 334 permissao = doc['permissao'],
332 senha = doc['senha'], 335 senha = doc['senha'],
333 - favoritos = favoritos 336 + favoritos = favoritos,
  337 + itens = itens
334 ) 338 )
335 print(user_obj) 339 print(user_obj)
336 id_doc = user_obj.create_user() 340 id_doc = user_obj.create_user()
@@ -441,3 +445,30 @@ def delete_user(request): @@ -441,3 +445,30 @@ def delete_user(request):
441 id = search.results[0]._metadata.id_doc 445 id = search.results[0]._metadata.id_doc
442 delete = user_obj.delete_user(id) 446 delete = user_obj.delete_user(id)
443 return Response(delete) 447 return Response(delete)
  448 +
  449 +@view_config(route_name='edit_favoritos')
  450 +def edit_favoritos(request):
  451 + """
  452 + Editar do Favoritos
  453 + """
  454 + doc = request.params
  455 + value = doc['value']
  456 + matricula = doc['matricula']
  457 + path = [doc['path']]
  458 + user_obj = User(
  459 + nome = 'asdasd',
  460 + matricula = 'asdasd',
  461 + email = 'asdsad',
  462 + orgao = 'asdsad',
  463 + telefone = 'sdasd',
  464 + cargo = 'asdasdasd',
  465 + setor = 'asdasd',
  466 + permissao = 'asdasd',
  467 + senha = 'sadasdasd',
  468 + favoritos = ['asdasdasdasd']
  469 + )
  470 + search = user_obj.search_user(matricula)
  471 + id = search.results[0]._metadata.id_doc
  472 + update= user_obj.create_favoritos(id, path, value)
  473 +
  474 + return Response(update)