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 42 config.add_route('orgao', 'orgao/cadastro')
43 43 config.add_route('post_orgao', 'post_orgao')
44 44 config.add_route('put_orgao', 'put_orgao')
45   - config.add_route('editorgao', 'editar/{sigla}')
  45 + config.add_route('editorgao', 'editar/orgao/{sigla}')
46 46 config.add_route('listorgao', 'orgao/list')
47 47 config.add_route('delete_orgao', 'delete/{sigla}')
48 48 #
49 49  
50 50 #Usuários
51   - config.add_route('users', 'users')
  51 + config.add_route('user', 'user/cadastro')
52 52 config.add_route('post_user', 'post_user')
  53 + config.add_route('edituser', 'editar/user/{matricula}')
53 54 #
54 55  
55 56 config.add_route('list', 'list')
... ...
wscacicneo/model/user.py
... ... @@ -208,13 +208,13 @@ class User(user_base.metaclass):
208 208  
209 209 return result
210 210  
211   - def search_user(self, matricula_user):
  211 + def search_user(self, matricula):
212 212 """
213 213 Busca registro completo do usuário pela matricula
214 214 :return: obj collection com os dados da base
215 215 """
216 216 search = Search(
217   - literal="document->>'matricula' = '"+matricula_user+"'"
  217 + literal="document->>'matricula' = '"+matricula+"'"
218 218 )
219 219 results = self.documentrest.get_collection(search_obj=search)
220 220  
... ...
wscacicneo/templates/editaruser.pt 0 → 100644
... ... @@ -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 <li class="has_sub">
8 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 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 17 </ul>
12 18 </li>
13 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 @@
  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 1 \ No newline at end of file
  2 +22
3 3 \ No newline at end of file
... ...
wscacicneo/views.py
... ... @@ -72,8 +72,8 @@ def admin(request):
72 72 def diagnostic(request):
73 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 77 return {'project': 'WSCacicNeo'}
78 78  
79 79 @view_config(route_name='cadastro', renderer='templates/cadastro.pt')
... ... @@ -302,3 +302,28 @@ def post_user(request):
302 302 print(id_doc)
303 303  
304 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 330 \ No newline at end of file
... ...