Commit 13086b70659f328c64eec8b699a8532092d287bc

Authored by Adley
1 parent 9d287325
Exists in master

criação do editar orgão

wscacicneo/__init__.py
@@ -42,14 +42,15 @@ def main(global_config, **settings): @@ -42,14 +42,15 @@ def main(global_config, **settings):
42 config.add_route('orgao', 'orgao/cadastro') 42 config.add_route('orgao', 'orgao/cadastro')
43 config.add_route('post_orgao', 'post_orgao') 43 config.add_route('post_orgao', 'post_orgao')
44 config.add_route('put_orgao', 'put_orgao') 44 config.add_route('put_orgao', 'put_orgao')
45 - config.add_route('editorgao', 'editar/{sigla}') 45 + config.add_route('editorgao', 'editar/orgao/{sigla}')
46 config.add_route('listorgao', 'orgao/list') 46 config.add_route('listorgao', 'orgao/list')
47 config.add_route('delete_orgao', 'delete/{sigla}') 47 config.add_route('delete_orgao', 'delete/{sigla}')
48 # 48 #
49 49
50 #Usuários 50 #Usuários
51 - config.add_route('users', 'users') 51 + config.add_route('user', 'user/cadastro')
52 config.add_route('post_user', 'post_user') 52 config.add_route('post_user', 'post_user')
  53 + config.add_route('edituser', 'editar/user/{matricula}')
53 # 54 #
54 55
55 config.add_route('list', 'list') 56 config.add_route('list', 'list')
wscacicneo/model/user.py
@@ -208,13 +208,13 @@ class User(user_base.metaclass): @@ -208,13 +208,13 @@ class User(user_base.metaclass):
208 208
209 return result 209 return result
210 210
211 - def search_user(self, matricula_user): 211 + def search_user(self, matricula):
212 """ 212 """
213 Busca registro completo do usuário pela matricula 213 Busca registro completo do usuário pela matricula
214 :return: obj collection com os dados da base 214 :return: obj collection com os dados da base
215 """ 215 """
216 search = Search( 216 search = Search(
217 - literal="document->>'matricula' = '"+matricula_user+"'" 217 + literal="document->>'matricula' = '"+matricula+"'"
218 ) 218 )
219 results = self.documentrest.get_collection(search_obj=search) 219 results = self.documentrest.get_collection(search_obj=search)
220 220
wscacicneo/templates/editaruser.pt 0 → 100644
@@ -0,0 +1,104 @@ @@ -0,0 +1,104 @@
  1 +<metal:main use-macro="load: master.pt">
  2 + <metal:content fill-slot="conteudo">
  3 + <div class="padd">
  4 + <br />
  5 + <!-- Form starts. -->
  6 + <form class="form-horizontal" role="form">
  7 + <div class="form-group">
  8 + <label class="col-lg-2 control-label">Nome</label>
  9 + <div class="col-lg-5">
  10 + <input type="text" id="nome" value="${nome}" class="form-control" placeholder="Nome do Usuário">
  11 + </div>
  12 + </div>
  13 + <div class="form-group">
  14 + <label class="col-lg-2 control-label">Matricula</label>
  15 + <div class="col-lg-5">
  16 + <input type="text" id="matricula" value="${matricula}" class="form-control" placeholder="Matricula">
  17 + </div>
  18 + </div>
  19 + <div class="form-group">
  20 + <label class="col-lg-2 control-label">E-Mail</label>
  21 + <div class="col-lg-5">
  22 + <input type="text" id="email" value="${email}" class="form-control" placeholder="E-Mail">
  23 + </div>
  24 + </div>
  25 + <div class="form-group">
  26 + <label class="col-lg-2 control-label">Telefone</label>
  27 + <div class="col-lg-5">
  28 + <input type="text" id="telefone" value="${telefone}" class="form-control" placeholder="Telefone">
  29 + </div>
  30 + </div>
  31 + <div class="form-group">
  32 + <label class="col-lg-2 control-label">Orgão</label>
  33 + <div class="col-lg-5">
  34 + <input type="text" id="orgao" value="${orgao}" class="form-control" placeholder="Orgão">
  35 + </div>
  36 + </div>
  37 + <div class="form-group">
  38 + <label class="col-lg-2 control-label">Cargo</label>
  39 + <div class="col-lg-5">
  40 + <input type="text" id="cargo" value="${cargo}" class="form-control" placeholder="Cargo">
  41 + </div>
  42 + </div>
  43 + <div class="form-group">
  44 + <label class="col-lg-2 control-label">Setor</label>
  45 + <div class="col-lg-5">
  46 + <input type="text" id="setor" value="${setor}" class="form-control" placeholder="Setor">
  47 + </div>
  48 + </div>
  49 + <div class="form-group">
  50 + <label class="col-lg-2 control-label">Permissão</label>
  51 + <div class="col-lg-2">
  52 + <select id="permissao" class="form-control">
  53 + <option selected>${permissao}</option>
  54 + <option>Administrador</option>
  55 + <option>Gestor</option>
  56 + </select>
  57 + </div>
  58 + </div>
  59 + <div class="form-group">
  60 + <div class="col-lg-offset-2 col-lg-6">
  61 + <button type="button" id="enviar" class="btn btn-sm" style="margin-left: 315px;" >Enviar</button>
  62 + <button type="button" id="limpar" class="btn btn-sm">Limpar</button>
  63 + </div>
  64 + </div>
  65 + </form>
  66 + </div>
  67 + </metal:content>
  68 + <metal:content fill-slot="javascript">
  69 + <script type="text/javascript">
  70 + $('#limpar').click(function(){
  71 + $('#nome').val('')
  72 + $('#matricula').val('')
  73 + $('#email').val('')
  74 + $('#telefone').val('')
  75 + $('#orgao').val('')
  76 + $('#cargo').val('')
  77 + $('#setor').val('')
  78 + $('#permissao').val('Permissões')
  79 + });
  80 + $('#enviar').click(function(){
  81 + var data = {
  82 + 'nome' : $('#nome').val(),
  83 + 'matricula' : $('#matricula').val(),
  84 + 'email' : $('#email').val(),
  85 + 'telefone' : $('#telefone').val(),
  86 + 'orgao' : $('#orgao').val(),
  87 + 'cargo' : $('#cargo').val(),
  88 + 'setor' : $('#setor').val(),
  89 + 'permissao' : $('#permissao').val(),
  90 + }
  91 + if (data.email.indexOf("gov.br") > -1 == false){
  92 + alert('Somente é permitido cadastro de e-mails institucionais');
  93 + }else{
  94 + $.ajax({
  95 + type: "PUT",
  96 + url: "${request.route_url('root')}post_user",
  97 + data: data,
  98 + success: function(){ alert('sucesso') },
  99 + error: function(){ alert('erro') },
  100 + });}
  101 + });
  102 + </script>
  103 + </metal:content>
  104 +</metal:main>
wscacicneo/templates/menu.pt
@@ -7,7 +7,13 @@ @@ -7,7 +7,13 @@
7 <li class="has_sub"> 7 <li class="has_sub">
8 <a href="#"><i class="fa fa-file-o"></i> Orgão <span class="pull-right"><i class="fa fa-chevron-right"></i></span></a> 8 <a href="#"><i class="fa fa-file-o"></i> Orgão <span class="pull-right"><i class="fa fa-chevron-right"></i></span></a>
9 <ul> 9 <ul>
10 - <li><a href="${request.route_url('root')}orgao">Cadastrar Orgao</a></li> 10 + <li><a href="${request.route_url('root')}orgao/cadastro">Cadastrar Orgao</a></li>
  11 + <li><a href="${request.route_url('root')}orgao/list">Listar Orgao</a></li>
  12 + </ul>
  13 + <li class="has_sub">
  14 + <a href="#"><i class="fa fa-file-o"></i> Usuário <span class="pull-right"><i class="fa fa-chevron-right"></i></span></a>
  15 + <ul>
  16 + <li><a href="${request.route_url('root')}user/cadastro">Cadastrar Usuário</a></li>
11 </ul> 17 </ul>
12 </li> 18 </li>
13 </ul> 19 </ul>
wscacicneo/templates/user.pt
1 -<html>  
2 - <head>  
3 - <title>Login</title>  
4 - <style type="text/css">  
5 - body {  
6 - margin : 0px;  
7 - padding : 0px;  
8 - }  
9 - .login {  
10 - background-color : #032a65;  
11 - width : 1366px;  
12 - height : 75px;  
13 - }  
14 - </style>  
15 - </head>  
16 - <body>  
17 - <div class="login"></div>  
18 - </body>  
19 -</html> 1 +<metal:main use-macro="load: master.pt">
  2 + <metal:content fill-slot="conteudo">
  3 + <div class="padd">
  4 + <br />
  5 + <!-- Form starts. -->
  6 + <form class="form-horizontal" role="form">
  7 + <div class="form-group">
  8 + <label class="col-lg-2 control-label">Nome</label>
  9 + <div class="col-lg-5">
  10 + <input type="text" id="nome" class="form-control" placeholder="Nome do Usuário">
  11 + </div>
  12 + </div>
  13 + <div class="form-group">
  14 + <label class="col-lg-2 control-label">Matricula</label>
  15 + <div class="col-lg-5">
  16 + <input type="text" id="matricula" class="form-control" placeholder="Matricula">
  17 + </div>
  18 + </div>
  19 + <div class="form-group">
  20 + <label class="col-lg-2 control-label">E-Mail</label>
  21 + <div class="col-lg-5">
  22 + <input type="text" id="email" class="form-control" placeholder="E-Mail">
  23 + </div>
  24 + </div>
  25 + <div class="form-group">
  26 + <label class="col-lg-2 control-label">Telefone</label>
  27 + <div class="col-lg-5">
  28 + <input type="text" id="telefone" class="form-control" placeholder="Telefone">
  29 + </div>
  30 + </div>
  31 + <div class="form-group">
  32 + <label class="col-lg-2 control-label">Orgão</label>
  33 + <div class="col-lg-5">
  34 + <input type="text" id="orgao" class="form-control" placeholder="Orgão">
  35 + </div>
  36 + </div>
  37 + <div class="form-group">
  38 + <label class="col-lg-2 control-label">Cargo</label>
  39 + <div class="col-lg-5">
  40 + <input type="text" id="cargo" class="form-control" placeholder="Cargo">
  41 + </div>
  42 + </div>
  43 + <div class="form-group">
  44 + <label class="col-lg-2 control-label">Setor</label>
  45 + <div class="col-lg-5">
  46 + <input type="text" id="setor" class="form-control" placeholder="Setor">
  47 + </div>
  48 + </div>
  49 + <div class="form-group">
  50 + <label class="col-lg-2 control-label">Permissão</label>
  51 + <div class="col-lg-2">
  52 + <select id="permissao" class="form-control">
  53 + <option selected disabled>Permissões</option>
  54 + <option>Administrador</option>
  55 + <option>Gestor</option>
  56 + </select>
  57 + </div>
  58 + </div>
  59 + <div class="form-group">
  60 + <div class="col-lg-offset-2 col-lg-6">
  61 + <button type="button" id="enviar" class="btn btn-sm" style="margin-left: 315px;" >Enviar</button>
  62 + <button type="button" id="limpar" class="btn btn-sm">Limpar</button>
  63 + </div>
  64 + </div>
  65 + </form>
  66 + </div>
  67 + </metal:content>
  68 + <metal:content fill-slot="javascript">
  69 + <script type="text/javascript">
  70 + $('#limpar').click(function(){
  71 + $('#nome').val('')
  72 + $('#matricula').val('')
  73 + $('#email').val('')
  74 + $('#telefone').val('')
  75 + $('#orgao').val('')
  76 + $('#cargo').val('')
  77 + $('#setor').val('')
  78 + $('#permissao').val('Permissões')
  79 + });
  80 + $('#enviar').click(function(){
  81 + var data = {
  82 + 'nome' : $('#nome').val(),
  83 + 'matricula' : $('#matricula').val(),
  84 + 'email' : $('#email').val(),
  85 + 'telefone' : $('#telefone').val(),
  86 + 'orgao' : $('#orgao').val(),
  87 + 'cargo' : $('#cargo').val(),
  88 + 'setor' : $('#setor').val(),
  89 + 'permissao' : $('#permissao').val(),
  90 + }
  91 + if (data.email.indexOf("gov.br") > -1 == false){
  92 + alert('Somente é permitido cadastro de e-mails institucionais');
  93 + }else{
  94 + $.ajax({
  95 + type: "POST",
  96 + url: "${request.route_url('root')}post_user",
  97 + data: data,
  98 + success: function(){ alert('sucesso') },
  99 + error: function(){ alert('erro') },
  100 + });}
  101 + });
  102 + </script>
  103 + </metal:content>
  104 +</metal:main>
wscacicneo/templates/userbk.pt 0 → 100644
@@ -0,0 +1,19 @@ @@ -0,0 +1,19 @@
  1 +<html>
  2 + <head>
  3 + <title>Login</title>
  4 + <style type="text/css">
  5 + body {
  6 + margin : 0px;
  7 + padding : 0px;
  8 + }
  9 + .login {
  10 + background-color : #032a65;
  11 + width : 1366px;
  12 + height : 75px;
  13 + }
  14 + </style>
  15 + </head>
  16 + <body>
  17 + <div class="login"></div>
  18 + </body>
  19 +</html>
wscacicneo/test/results.txt
1 -18  
2 \ No newline at end of file 1 \ No newline at end of file
  2 +22
3 \ No newline at end of file 3 \ No newline at end of file
wscacicneo/views.py
@@ -72,8 +72,8 @@ def admin(request): @@ -72,8 +72,8 @@ def admin(request):
72 def diagnostic(request): 72 def diagnostic(request):
73 return {'project': 'WSCacicNeo'} 73 return {'project': 'WSCacicNeo'}
74 74
75 -@view_config(route_name='users', renderer='templates/users.pt')  
76 -def users(request): 75 +@view_config(route_name='user', renderer='templates/user.pt')
  76 +def user(request):
77 return {'project': 'WSCacicNeo'} 77 return {'project': 'WSCacicNeo'}
78 78
79 @view_config(route_name='cadastro', renderer='templates/cadastro.pt') 79 @view_config(route_name='cadastro', renderer='templates/cadastro.pt')
@@ -302,3 +302,28 @@ def post_user(request): @@ -302,3 +302,28 @@ def post_user(request):
302 print(id_doc) 302 print(id_doc)
303 303
304 return Response(str(id_doc)) 304 return Response(str(id_doc))
  305 +
  306 +@view_config(route_name='edituser', renderer='templates/editaruser.pt')
  307 +def edituser(request):
  308 + matricula = request.matchdict['matricula']
  309 + user_obj = User(
  310 + nome = 'base',
  311 + matricula = matricula,
  312 + email = 'base@gov.br',
  313 + orgao = 'orgao',
  314 + telefone = 'telefone',
  315 + cargo = 'cargo',
  316 + setor = 'setor',
  317 + permissao = 'Gestor'
  318 + )
  319 + search = user_obj.search_user(matricula)
  320 + return {
  321 + 'nome' : search.results[0].nome,
  322 + 'matricula' : search.results[0].matricula,
  323 + 'email' : search.results[0].email,
  324 + 'orgao' : search.results[0].orgao,
  325 + 'telefone' : search.results[0].telefone,
  326 + 'cargo' : search.results[0].cargo,
  327 + 'setor' : search.results[0].setor,
  328 + 'permissao' : search.results[0].permissao
  329 + }
305 \ No newline at end of file 330 \ No newline at end of file