Commit cfababc9addb1368cf8148ff2491b69b7203779f

Authored by Macieski
1 parent 87601e92
Exists in master

favoritos add funcionado

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/orgao.pt
@@ -75,7 +75,7 @@ @@ -75,7 +75,7 @@
75 } 75 }
76 $.ajax({ 76 $.ajax({
77 type: "POST", 77 type: "POST",
78 - url: "post_orgao", 78 + url: "${request.route_url('root')}post_orgao",
79 data: data, 79 data: data,
80 success: function(){ alert('aaaaaaaaaaaaaaaaaaaaaa') }, 80 success: function(){ alert('aaaaaaaaaaaaaaaaaaaaaa') },
81 error: function(){ alert('ooooooooooooooooooooooooo') }, 81 error: function(){ alert('ooooooooooooooooooooooooo') },
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):
@@ -318,7 +321,7 @@ def post_user(request): @@ -318,7 +321,7 @@ def post_user(request):
318 doc = request.params 321 doc = request.params
319 document = doc['favoritos'] 322 document = doc['favoritos']
320 favoritos = [document] 323 favoritos = [document]
321 - print(type(favoritos)) 324 + itens = [doc['lista_orgao'], doc['cadastro_orgao'], doc['lista_user'], doc['cadastro_user'], doc['relatorios'], doc['coleta'], doc['notify']]
322 user_obj = User( 325 user_obj = User(
323 nome = doc['nome'], 326 nome = doc['nome'],
324 matricula = doc['matricula'], 327 matricula = doc['matricula'],
@@ -329,7 +332,8 @@ def post_user(request): @@ -329,7 +332,8 @@ def post_user(request):
329 setor = doc['setor'], 332 setor = doc['setor'],
330 permissao = doc['permissao'], 333 permissao = doc['permissao'],
331 senha = doc['senha'], 334 senha = doc['senha'],
332 - favoritos = favoritos 335 + favoritos = favoritos,
  336 + itens = itens
333 ) 337 )
334 print(user_obj) 338 print(user_obj)
335 id_doc = user_obj.create_user() 339 id_doc = user_obj.create_user()
@@ -440,3 +444,30 @@ def delete_user(request): @@ -440,3 +444,30 @@ def delete_user(request):
440 id = search.results[0]._metadata.id_doc 444 id = search.results[0]._metadata.id_doc
441 delete = user_obj.delete_user(id) 445 delete = user_obj.delete_user(id)
442 return Response(delete) 446 return Response(delete)
  447 +
  448 +@view_config(route_name='edit_favoritos')
  449 +def edit_favoritos(request):
  450 + """
  451 + Editar do Favoritos
  452 + """
  453 + doc = request.params
  454 + value = doc['value']
  455 + matricula = doc['matricula']
  456 + path = [doc['path']]
  457 + user_obj = User(
  458 + nome = 'asdasd',
  459 + matricula = 'asdasd',
  460 + email = 'asdsad',
  461 + orgao = 'asdsad',
  462 + telefone = 'sdasd',
  463 + cargo = 'asdasdasd',
  464 + setor = 'asdasd',
  465 + permissao = 'asdasd',
  466 + senha = 'sadasdasd',
  467 + favoritos = ['asdasdasdasd']
  468 + )
  469 + search = user_obj.search_user(matricula)
  470 + id = search.results[0]._metadata.id_doc
  471 + update= user_obj.create_favoritos(id, path, value)
  472 +
  473 + return Response(update)