Commit 2c84c3a5750776546ffd4a06a478a52c1ac6ac7d

Authored by Luciano Borges
1 parent 595dd074
Exists in master

Adição dos artefatos para tela de login.

archetype/html-rest/src/main/resources/archetype-resources/src/main/webapp/css/bookmark.css
1 1 body {
2 2 padding-top: 20px;
3 3 padding-bottom: 20px;
  4 + margin-top: 60px;
  5 +}
  6 +
  7 +input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button {
  8 + -webkit-appearance: none;
  9 + margin: 0;
4 10 }
5 11 \ No newline at end of file
... ...
archetype/html-rest/src/main/resources/archetype-resources/src/main/webapp/index.html
1 1 <html>
2 2 <head>
3   -<meta http-equiv="Refresh" content="0; URL=bookmark-list.html">
  3 +<meta http-equiv="Refresh" content="0; URL=login.html">
4 4 </head>
5 5 </html>
6 6 \ No newline at end of file
... ...
archetype/html-rest/src/main/resources/archetype-resources/src/main/webapp/js/controller/login.js 0 → 100644
... ... @@ -0,0 +1,52 @@
  1 +$(function() {
  2 +
  3 + $("#username").focus();
  4 +
  5 + $("form").submit(function(event) {
  6 + event.preventDefault();
  7 + $("[id$='-message']").hide();
  8 + var form = {
  9 + 'username' : $("#username").val().trim(),
  10 + 'password' : $("#password").val().trim()
  11 + };
  12 +
  13 + AuthProxy.login(form, loginOk, loginFail);
  14 + });
  15 +
  16 +});
  17 +
  18 +// Funções de Callback
  19 +
  20 +function loginOk(data) {
  21 + location.href = "pendencies.html";
  22 +}
  23 +
  24 +function loginFail(request) {
  25 +
  26 + switch (request.status) {
  27 + case 401:
  28 + $("#global-message").html("Usuário ou senha inválidos.").show();
  29 + break;
  30 + case 412:
  31 + $($("form input").get().reverse()).each(function() {
  32 + var id = $(this).attr('id');
  33 + var message = null;
  34 +
  35 + $.each(request.responseJSON, function(index, value) {
  36 + if (id == value.property) {
  37 + message = value.message;
  38 + return;
  39 + }
  40 + });
  41 +
  42 + if (message) {
  43 + $("#" + id + "-message").html(message).show();
  44 + $(this).focus();
  45 + } else {
  46 + $("#" + id + "-message").hide();
  47 +
  48 + }
  49 + });
  50 + break;
  51 + }
  52 +}
... ...
archetype/html-rest/src/main/resources/archetype-resources/src/main/webapp/js/proxy/auth.js 0 → 100644
... ... @@ -0,0 +1,32 @@
  1 +var AuthProxy = {};
  2 +
  3 +AuthProxy.url = "api/auth";
  4 +
  5 +AuthProxy.login = function($credentials, $success, $error) {
  6 + $.ajax({
  7 + url : this.url,
  8 + type : "POST",
  9 + data : JSON.stringify($credentials),
  10 + contentType : "application/json",
  11 + success : $success,
  12 + error : $error
  13 + });
  14 +};
  15 +
  16 +AuthProxy.logout = function($success, $error) {
  17 + $.ajax({
  18 + url : this.url,
  19 + type : "DELETE",
  20 + success : $success,
  21 + error : $error
  22 + });
  23 +};
  24 +
  25 +AuthProxy.getUser = function($success, $error) {
  26 + $.ajax({
  27 + url : this.url,
  28 + type : "GET",
  29 + success : $success,
  30 + error : $error
  31 + });
  32 +};
0 33 \ No newline at end of file
... ...
archetype/html-rest/src/main/resources/archetype-resources/src/main/webapp/login.html 0 → 100644
... ... @@ -0,0 +1,46 @@
  1 +<!DOCTYPE html>
  2 +<html>
  3 +<head>
  4 + <meta charset="UTF-8">
  5 + <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6 + <meta name="viewport" content="width=device-width, initial-scale=1">
  7 + <title>Notifica | Login</title>
  8 + <link href="css/bootstrap.min.css" rel="stylesheet">
  9 + <link href="css/bookmark.css" rel="stylesheet">
  10 +</head>
  11 +<body>
  12 + <div class="container">
  13 + <form id="form-login" role="form">
  14 + <div class="col-md-4 col-md-offset-4">
  15 + <div class="form-group">
  16 + <h1>Bookmark | Login</h1>
  17 + </div>
  18 + </div>
  19 + <div class="col-md-4 col-md-offset-4">
  20 + <div class="form-group">
  21 + <label for="username">CPF</label>
  22 + <input id="username" type="number" class="form-control input-lg" />
  23 + <div id="username-message" class="label label-danger" hidden="true"></div>
  24 + </div>
  25 + </div>
  26 + <div class="col-md-4 col-md-offset-4">
  27 + <div class="form-group">
  28 + <label for="password">Senha</label>
  29 + <input id="password" type="password" class="form-control input-lg" />
  30 + <div id="password-message" class="label label-danger" hidden="true"></div>
  31 + </div>
  32 + </div>
  33 + <div class="col-md-4 col-md-offset-4">
  34 + <div class="form-group">
  35 + <div id="global-message" class="alert alert-danger" hidden="true"></div>
  36 + <button id="login" class="btn btn-lg btn-success " type="submit">Entrar</button>
  37 + </div>
  38 + </div>
  39 + </form>
  40 + </div>
  41 + <script type="text/javascript" src="js/lib/jquery-2.1.0.min.js"></script>
  42 + <script type="text/javascript" src="js/lib/bootstrap.min.js"></script>
  43 + <script type="text/javascript" src="js/controller/login.js"></script>
  44 + <script type="text/javascript" src="js/proxy/auth.js"></script>
  45 +</body>
  46 +</html>
0 47 \ No newline at end of file
... ...