Commit 1a52d3e7c3032f184eb89b4ba58b2fa56cad4b49

Authored by Leonardo Merlin
2 parents 83328847 1601c505

Merge branch 'rafael' into merlin

src/app/components/cadastro-proposta/cadastro-proposta.directive.js 0 → 100644
@@ -0,0 +1,59 @@ @@ -0,0 +1,59 @@
  1 +(function() {
  2 + 'use strict';
  3 +
  4 + angular
  5 + .module('dialoga')
  6 + .directive('cadastroProposta', cadastroProposta);
  7 +
  8 + /** @ngInject */
  9 + function cadastroProposta() {
  10 +
  11 + /** @ngInject */
  12 + function CadastroPropostaController ($scope, $element, $timeout, $log) {
  13 + $log.debug('cadastroPropostaController');
  14 +
  15 + var vm = this;
  16 + vm.$scope = $scope;
  17 + vm.$element = $element;
  18 + vm.$timeout = $timeout;
  19 + vm.$log = $log;
  20 +
  21 + vm.init();
  22 + }
  23 +
  24 + CadastroPropostaController.prototype.init = function () {
  25 + // async values
  26 + var vm = this;
  27 +
  28 + // requeue to wait until DOM be created
  29 + vm.$timeout(function(){
  30 + attachPopover.call(vm);
  31 + }, 100);
  32 + };
  33 +
  34 + function attachPopover(){
  35 + var vm = this;
  36 +
  37 + vm.popover = angular.element(vm.$element.find('.link-popover'));
  38 + vm.popover.popover({
  39 + html: true,
  40 + placement: 'bottom',
  41 + animation: true,
  42 + title: 'Regra de posição das propostas',
  43 + content: '<p>Poderia escrever a sua proposta em um texto simples e breve?</p><br><p>Sua proposta passará pela fase de moderação. Assim que ela estiver pronta para compartilhar, avisaremos você.'
  44 + });
  45 + }
  46 +
  47 + var directive = {
  48 + restrict: 'E',
  49 + templateUrl: 'app/components/cadastro-proposta/cadastro-proposta.html',
  50 + scope: {},
  51 + controller: CadastroPropostaController,
  52 + controllerAs: 'vm',
  53 + bindToController: true
  54 + };
  55 +
  56 + return directive;
  57 + }
  58 +
  59 +})();
src/app/components/cadastro-proposta/cadastro-proposta.html 0 → 100644
@@ -0,0 +1,40 @@ @@ -0,0 +1,40 @@
  1 +<div id="message" class="envio-proposta">
  2 + <div class="row linha-proposta">
  3 + <div class="col-sm-8">
  4 + <span class="titulo-envio-proposta">Faça sua proposta</span>
  5 + <p>
  6 + Aqui você cadastra sua proposta e ajuda a construir um Brasil melhor.
  7 + </p>
  8 + </div>
  9 + </div>
  10 + <div class="row linha-proposta">
  11 + <div class="col-sm-8">
  12 + <p>Você está fazendo uma proposta para o programa:</p>
  13 + <div class="bloco-programa">
  14 + <span class="texto-programa">Nome do progama</span>
  15 + </div>
  16 + </div>
  17 + </div>
  18 + <form role="form" name="testeForm" ng-submit="pageSignin.login(pageSignin.credentials)" novalidate>
  19 + <div class="form-group">
  20 + <div class="row linha-proposta">
  21 + <div class="col-sm-8">
  22 + <span>Descrição da proposta*</span>
  23 + <div class="teste"><a tabindex="0" class="btn btn-link link-popover" role="button" data-toggle="popover" data-trigger="focus">?</a></div>
  24 + <textarea id="proposta" name="proposta" class="texto-proposta form-control"
  25 + ng-class="{ 'has-error' : testeForm.proposta.$invalid && testeForm.proposta.$touched }"
  26 + ng-model="proposta"
  27 + required ng-maxlength="200" ></textarea>
  28 + <validation-messages field="testeForm.proposta" maxlength="'Ops, esse campo não pode ser maior que 200 caracteres.'"/>
  29 + <span class="pull-left">*Dados obrigatórios</span>
  30 + <span class="pull-right">Máx. 200 caracteres</span>
  31 + </div>
  32 + </div>
  33 + </div>
  34 + <div class="form-group">
  35 + <div class="col-sm-4">
  36 + <button class="btn btn-lg btn-block btn-submit" type="submit">Enviar Proposta</button>
  37 + </div>
  38 + </div>
  39 +</form>
  40 +</div>
src/app/components/cadastro-proposta/cadastro-proposta.scss 0 → 100644
@@ -0,0 +1,55 @@ @@ -0,0 +1,55 @@
  1 +.envio-proposta {
  2 +
  3 + .titulo-envio-proposta{
  4 + color: #2D7B66;
  5 + }
  6 +
  7 + .bloco-programa {
  8 + border-color: gray;
  9 + border-width: 1px;
  10 + border-style: solid;
  11 + border-radius: 5px;
  12 + padding: 15px;
  13 + }
  14 +
  15 + .texto-programa {
  16 + font-weight: 600;
  17 + }
  18 +
  19 + .linha-proposta {
  20 + margin-bottom: 40px;
  21 + }
  22 +
  23 + .texto-proposta {
  24 + width: 100%;
  25 + height: 200px;
  26 + resize: none;
  27 + }
  28 +
  29 + .popover .fade .right .in {
  30 + top: 0px!important;
  31 + }
  32 +
  33 + .popover-content {
  34 + width: 300px;
  35 + }
  36 +
  37 + .popover-title {
  38 + display: none;
  39 + }
  40 +
  41 + .teste {
  42 + border-radius: 10px;
  43 + width: 20px;
  44 + height: 20px;
  45 + display: inline-block;
  46 + background-color: lightyellow;
  47 + }
  48 +
  49 + .link-popover {
  50 + font-size: 15px;
  51 + color: gray;
  52 + padding: 0px 7px;
  53 + border-style: none;
  54 + }
  55 +}
src/app/components/proposal-list/proposal-list.html
@@ -9,7 +9,8 @@ @@ -9,7 +9,8 @@
9 <tr> 9 <tr>
10 <th> 10 <th>
11 Colocação 11 Colocação
12 - <button type="button" class="btn btn-link btn-question">?</button> 12 + <!-- <button type="button" class="btn btn-link btn-question">?</button> -->
  13 + <a tabindex="0" class="btn btn-link btn-questionr" role="button" data-toggle="popover" data-trigger="focus">?</a>
13 </th> 14 </th>
14 <th>123 PROPOSTAS</th> 15 <th>123 PROPOSTAS</th>
15 </tr> 16 </tr>
src/app/components/show-message/message.html
@@ -1,21 +0,0 @@ @@ -1,21 +0,0 @@
1 -<div  
2 - id="message"  
3 - class="show-message">  
4 - <div class="row">  
5 - <div class="col-sm-1 col-sm-offset-2">  
6 - <div class="message-border {{ ::vm.type }}">  
7 - <span  
8 - class="glyphicon glyphicon-ok icon-white"  
9 - aria-hidden="true"></span>  
10 - </div>  
11 - </div>  
12 - <div class="col-sm-4">  
13 - <h3>{{ ::vm.title }}</h3>  
14 - </div>  
15 - </div>  
16 - <div class="row">  
17 - <div class="col-sm-8 col-sm-offset-3">  
18 - <h5>{{ ::vm.message }}</h5>  
19 - </div>  
20 - </div>  
21 -</div>  
22 \ No newline at end of file 0 \ No newline at end of file
src/app/components/show-message/show-message.directive.js
@@ -18,7 +18,7 @@ @@ -18,7 +18,7 @@
18 18
19 var directive = { 19 var directive = {
20 restrict: 'E', 20 restrict: 'E',
21 - templateUrl: 'app/components/show-message/message.html', 21 + templateUrl: 'app/components/show-message/show-message.html',
22 scope: { 22 scope: {
23 type: '=', 23 type: '=',
24 title: '=', 24 title: '=',
src/app/components/show-message/show-message.html 0 → 100644
@@ -0,0 +1,17 @@ @@ -0,0 +1,17 @@
  1 +<div id="message" class="show-message">
  2 + <div class="row">
  3 + <div class="div-center">
  4 + <div class="col-sm-2 col-sm-offset-2 message-border {{ ::vm.type }}">
  5 + <span class="glyphicon glyphicon-ok icon-white" aria-hidden="true"></span>
  6 + </div>
  7 + </div>
  8 + <div class="col-sm-7 div-mensagem">
  9 + <div class="row">
  10 + <h3>{{ ::vm.title }}</h3>
  11 + </div>
  12 + <div class="row">
  13 + <h5>{{ ::vm.message }}</h5>
  14 + </div>
  15 + </div>
  16 + </div>
  17 +</div>
src/app/components/show-message/show-message.scss
@@ -11,8 +11,16 @@ @@ -11,8 +11,16 @@
11 .success { 11 .success {
12 background-color: #8AB34D; 12 background-color: #8AB34D;
13 } 13 }
14 - 14 +
15 .error { 15 .error {
16 background-color: #C93E55; 16 background-color: #C93E55;
17 } 17 }
  18 +
  19 + .div-center {
  20 + text-align: center;
  21 + }
  22 +
  23 + .div-mensagem {
  24 + margin-left: 30px;
  25 + }
18 } 26 }
src/app/components/validation-messages/validation-messages.directive.js 0 → 100644
@@ -0,0 +1,52 @@ @@ -0,0 +1,52 @@
  1 +(function() {
  2 + 'use strict';
  3 +
  4 + angular
  5 + .module('dialoga')
  6 + .directive('validationMessages', validationMessages);
  7 +
  8 + /** @ngInject */
  9 + function validationMessages() {
  10 +
  11 + /** @ngInject */
  12 + function validationMessagesController($log) {
  13 + $log.debug('validationMessagesController');
  14 +
  15 + var vm = this;
  16 + vm.$log = $log;
  17 +
  18 + vm.init();
  19 +
  20 + }
  21 +
  22 + validationMessagesController.prototype.init = function () {
  23 + // async values
  24 + var vm = this;
  25 +
  26 + if (!vm.required) {vm.required = "Ops, o campo é obrigatório."};
  27 + if (!vm.minlength) {vm.minlength = "O campo deve ser maior."};
  28 + if (!vm.maxlength) {vm.maxlength = "O campo deve ser menor"};
  29 + if (!vm.email) {vm.email = "O endereço de e-mail deve ser válido"};
  30 +
  31 + };
  32 +
  33 + var directive = {
  34 + restrict: 'E',
  35 + templateUrl: 'app/components/validation-messages/validation-messages.html',
  36 + scope: {
  37 + field: '=',
  38 + required: '=',
  39 + minlength: '=',
  40 + maxlength: '=',
  41 + email: '='
  42 + },
  43 + controller: validationMessagesController,
  44 + controllerAs: 'vm',
  45 + bindToController: true
  46 + };
  47 +
  48 + return directive;
  49 + }
  50 +
  51 +})();
  52 +
src/app/components/validation-messages/validation-messages.html 0 → 100644
@@ -0,0 +1,10 @@ @@ -0,0 +1,10 @@
  1 +<div ng-show="vm.field.$touched">
  2 + <div ng-messages="vm.field.$error">
  3 + <div class="error-message">
  4 + <div ng-message="required">{{vm.required}}</div>
  5 + <div ng-message="minlength">{{vm.minlength}}</div>
  6 + <div ng-message="maxlength">{{vm.maxlength}}</div>
  7 + <div ng-message="email">{{vm.email}}</div>
  8 + </div>
  9 + </div>
  10 +</div>
src/app/components/validation-messages/validation-messages.scss 0 → 100644
@@ -0,0 +1,3 @@ @@ -0,0 +1,3 @@
  1 +.error-message {
  2 + color: #ff4431
  3 +}
src/app/index.route.js
@@ -35,6 +35,7 @@ @@ -35,6 +35,7 @@
35 'footer': { templateUrl: 'app/pages/footer/footer.html' } 35 'footer': { templateUrl: 'app/pages/footer/footer.html' }
36 } 36 }
37 }) 37 })
  38 + // apenas para teste das mensagens
38 .state('mensagem', { 39 .state('mensagem', {
39 url: '/mensagem', 40 url: '/mensagem',
40 ncyBreadcrumb: {label: 'Mensagem'}, 41 ncyBreadcrumb: {label: 'Mensagem'},
@@ -129,6 +130,20 @@ @@ -129,6 +130,20 @@
129 'footer': { templateUrl: 'app/pages/footer/footer.html' } 130 'footer': { templateUrl: 'app/pages/footer/footer.html' }
130 } 131 }
131 }) 132 })
  133 + // apenas para teste do cadastro das propostas
  134 + .state('cadastro-propostas', {
  135 + url: '/cadastro-propostas',
  136 + ncyBreadcrumb: {label: 'Cadastro de Propostas'},
  137 + views: {
  138 + 'header': { templateUrl: 'app/pages/header/header.html' },
  139 + 'main': {
  140 + templateUrl: 'app/pages/propostas/cadastro-proposta.html',
  141 + controller: 'PropostasPageController',
  142 + controllerAs: 'pagePropostas'
  143 + },
  144 + 'footer': { templateUrl: 'app/pages/footer/footer.html' }
  145 + }
  146 + })
132 .state('propostas-conteudo', { 147 .state('propostas-conteudo', {
133 url: '/propostas/:id', 148 url: '/propostas/:id',
134 ncyBreadcrumb: { 149 ncyBreadcrumb: {
src/app/layout.scss
@@ -120,20 +120,61 @@ @@ -120,20 +120,61 @@
120 border-width: 1px; 120 border-width: 1px;
121 } 121 }
122 122
123 -.error-message {  
124 - color: #ff4431  
125 -}  
126 -  
127 -.modal-termos-uso-header{  
128 - border-bottom: none; 123 +// Está com o nome do termos de uso. Deixas genérico ou apenas aqui? Ver como vão ficar esses modais
  124 +.modal-termos-uso{
  125 + &-header{
  126 + border-bottom: none;
129 padding: 0px; 127 padding: 0px;
130 min-height: 10px; 128 min-height: 10px;
131 border-bottom: none; 129 border-bottom: none;
132 padding: 0px; 130 padding: 0px;
133 -} 131 + position: relative;
  132 + top: -30px;
  133 + right: 0px;
  134 + }
134 135
135 -.modal-termos-uso-body {  
136 - padding: 30px; 136 + &-body {
  137 + padding: 25px 35px;
137 height: 500px; 138 height: 500px;
138 - overflow-y: auto; 139 +
  140 + &-inner{
  141 + background-color: lightgray;
  142 + overflow-y: auto;
  143 + padding: 15px;
  144 + height: 440px;
  145 + }
  146 + }
  147 +}
  148 +
  149 +.modal-fechar-pequeno {
  150 + font-size: 15px;
  151 +}
  152 +
  153 +.modal-fechar-grande {
  154 + font-size: 24px;
  155 +}
  156 +
  157 +// Sobreescreve a classe do bootstrap
  158 +.close {
  159 + // position: absolute;
  160 + color: white;
  161 + opacity: 1;
  162 + font-weight: normal;
139 } 163 }
  164 +
  165 +// Cria uma barra de rolagem parecida com a pedida, mas aplica pro site todo
  166 +// ::-webkit-scrollbar {
  167 +// width: 12px;
  168 +// background-color: gray;
  169 +// }
  170 +
  171 +// ::-webkit-scrollbar-track {
  172 +// -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
  173 +// border-radius: 10px;
  174 +// }
  175 +
  176 +// ::-webkit-scrollbar-thumb {
  177 +// border-radius: 10px;
  178 +// -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.5);
  179 +// background-color: black;
  180 +// }
src/app/pages/auth/auth.scss
@@ -7,31 +7,33 @@ @@ -7,31 +7,33 @@
7 } 7 }
8 8
9 .btn-social { 9 .btn-social {
10 - color: #fff;  
11 - font-weight: bold;  
12 - padding: 15px 16px;  
13 - font-size: 16px;  
14 - white-space: normal; 10 + color: #fff;
  11 + font-weight: bold;
  12 + padding: 15px 16px;
  13 + font-size: 16px;
  14 + white-space: normal;
15 15
16 - &:hover,  
17 - &:focus {color: #fff;} 16 + &:hover,
  17 + &:focus {color: #fff;}
18 18
19 - &.btn-facebook {  
20 - background-color: #496AA0; 19 + &.btn-facebook {
  20 + background-color: #496AA0;
21 21
22 - &:hover,  
23 - &:focus {background-color: #304373; }  
24 - &:active {background-color: #33477a; }  
25 - }  
26 - &.btn-google-plus {  
27 - background-color: #b92d25;  
28 - &:hover,  
29 - &:focus {background-color: #b12b23; }  
30 - &:active {background-color: #b92d25; }  
31 - }  
32 - @media (max-width: 991px) {  
33 - margin-bottom: 20px;  
34 - } 22 + &:hover,
  23 + &:focus {background-color: #304373; }
  24 + &:active {background-color: #33477a; }
  25 + }
  26 +
  27 + &.btn-google-plus {
  28 + background-color: #b92d25;
  29 + &:hover,
  30 + &:focus {background-color: #b12b23; }
  31 + &:active {background-color: #b92d25; }
  32 + }
  33 +
  34 + @media (max-width: 991px) {
  35 + margin-bottom: 20px;
  36 + }
35 } 37 }
36 38
37 .btn { 39 .btn {
@@ -39,6 +41,7 @@ @@ -39,6 +41,7 @@
39 color: #fff; 41 color: #fff;
40 } 42 }
41 } 43 }
  44 +
42 .btn-primary { 45 .btn-primary {
43 .contraste & { 46 .contraste & {
44 background-color: #262626; 47 background-color: #262626;
@@ -47,66 +50,66 @@ @@ -47,66 +50,66 @@
47 } 50 }
48 51
49 .glyphicon { 52 .glyphicon {
50 - &.icon-white {  
51 - fill: white;  
52 - } 53 + &.icon-white {
  54 + fill: white;
  55 + }
53 } 56 }
54 57
55 .border-social-icon { 58 .border-social-icon {
56 - border-radius: 25px;  
57 - padding: 7px 9px;  
58 - width: 40px;  
59 - height: 40px;  
60 - display: inline-block;  
61 -  
62 - &.border-social-facebook {  
63 - background: #547BBC;  
64 - }  
65 -  
66 - &.border-social-googlePlus {  
67 - background: #D44105;  
68 - } 59 + border-radius: 25px;
  60 + padding: 7px 9px;
  61 + width: 40px;
  62 + height: 40px;
  63 + display: inline-block;
  64 +
  65 + &.border-social-facebook {
  66 + background: #547BBC;
  67 + }
  68 +
  69 + &.border-social-googlePlus {
  70 + background: #D44105;
  71 + }
69 } 72 }
70 73
71 .separator { 74 .separator {
72 - border-top: 2px solid #d8d8d8;  
73 - text-align: center;  
74 - font-weight: bold;  
75 - margin-top: 20px;  
76 - margin-bottom: 35px;  
77 -  
78 - &:after {  
79 - position: absolute;  
80 - top: 4px;  
81 - margin-left: -26px;  
82 - font-size: 20px;  
83 - line-height: 30px;  
84 - padding: 0 0.25em;  
85 - background: $gray; 75 + border-top: 2px solid #d8d8d8;
  76 + text-align: center;
  77 + font-weight: bold;
  78 + margin-top: 20px;
  79 + margin-bottom: 35px;
  80 +
  81 + &:after {
  82 + position: absolute;
  83 + top: -15px;
  84 + margin-left: -26px;
  85 + font-size: 20px;
  86 + line-height: 30px;
  87 + padding: 0 0.25em;
  88 + background: $gray;
86 89
87 .contraste & { 90 .contraste & {
88 - background: #000; 91 + background: #000;
89 } 92 }
90 - } 93 + }
91 94
92 - &.separator-or:after {  
93 - content: "ou";  
94 - left: 51%;  
95 - } 95 + &.separator-or:after {
  96 + content: "ou";
  97 + left: 50%;
  98 + margin-left: -17px;
96 99
97 - &.separator-cadastro:after {  
98 - content: "ou preencha o formulario";  
99 - left: 31%;  
100 - } 100 + @media (min-width: 992px) {
  101 + top: 4px;
  102 + }
  103 + }
101 104
102 - } 105 + &.separator-cadastro:after {
  106 + content: "ou preencha o formulario";
  107 + left: 50%;
  108 + margin-left: -133px;
103 109
104 - input[type="checkbox"] {  
105 - display:inline-block;  
106 - width:18px;  
107 - height:18px;  
108 - margin:-1px 4px 0 0;  
109 - vertical-align:middle;  
110 - cursor:pointer; 110 + @media (min-width: 768px) {
  111 + top: 4px;
  112 + }
  113 + }
111 } 114 }
112 } 115 }
src/app/pages/auth/error-messages.html 0 → 100644
@@ -0,0 +1,6 @@ @@ -0,0 +1,6 @@
  1 +<div class="error-message">
  2 + <div ng-message="required" >Ops, o campo é obrigatório.</div>
  3 + <div ng-message="minlength">O campo deve ser maior.</div>
  4 + <div ng-message="maxlength">O campo deve ser menor</div>
  5 + <div ng-message="email">O endereço de e-mail deve ser válido</div>
  6 +</div>
0 \ No newline at end of file 7 \ No newline at end of file
src/app/pages/auth/message.html
  1 +<!-- APENAS PARA TESTE DO SHOW MESSAGE E DO MODAL DE TERMOS DE USO -->
1 <section 2 <section
2 role="main" 3 role="main"
3 class="section-gray auth-content"> 4 class="section-gray auth-content">
4 <div class="container"> 5 <div class="container">
5 <show-message 6 <show-message
6 - type="'error'" 7 + type="'success'"
7 title="'Cadastro efetuado com sucesso :)'" 8 title="'Cadastro efetuado com sucesso :)'"
8 message="'Agora você faz parte do Dialoga Brasil. Você será redirecionado para a página (página) em 10 segundos'"></show-message> 9 message="'Agora você faz parte do Dialoga Brasil. Você será redirecionado para a página (página) em 10 segundos'"></show-message>
9 </div> 10 </div>
@@ -15,56 +16,48 @@ @@ -15,56 +16,48 @@
15 <div class="modal-content"> 16 <div class="modal-content">
16 <div class="modal-header modal-termos-uso-header"> 17 <div class="modal-header modal-termos-uso-header">
17 <button type="button" class="close" data-dismiss="modal" aria-label="Close"> 18 <button type="button" class="close" data-dismiss="modal" aria-label="Close">
18 - <span aria-hidden="true">&times;</span> 19 + <span aria-hidden="true" class="modal-fechar-pequeno">FECHAR</span>
  20 + <span aria-hidden="true" class="modal-fechar-grande">X</span>
19 </button> 21 </button>
20 </div> 22 </div>
21 <div class="modal-body modal-termos-uso-body"> 23 <div class="modal-body modal-termos-uso-body">
  24 + <div class="modal-termos-uso-body-inner">
22 <h3>Termos de Uso</h3> 25 <h3>Termos de Uso</h3>
23 <p> 26 <p>
24 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod 27 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
25 - tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,  
26 - quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo  
27 - consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse  
28 - cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non  
29 - proident, sunt in culpa qui officia deserunt mollit anim id est laborum. 28 + tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
  29 + quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
  30 + consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
  31 + cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
  32 + proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
30 </p> 33 </p>
31 <p> 34 <p>
32 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod 35 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
33 - tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,  
34 - quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo  
35 - consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse  
36 - cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non  
37 - proident, sunt in culpa qui officia deserunt mollit anim id est laborum. 36 + tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
  37 + quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
  38 + consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
  39 + cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
  40 + proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
38 </p> 41 </p>
39 <p> 42 <p>
40 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod 43 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
41 - tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,  
42 - quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo  
43 - consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse  
44 - cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non  
45 - proident, sunt in culpa qui officia deserunt mollit anim id est laborum. 44 + tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
  45 + quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
  46 + consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
  47 + cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
  48 + proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
46 </p> 49 </p>
47 -  
48 - <p>  
49 - Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod  
50 - tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,  
51 - quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo  
52 - consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse  
53 - cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non  
54 - proident, sunt in culpa qui officia deserunt mollit anim id est laborum.  
55 - </p>  
56 -  
57 <p> 50 <p>
58 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod 51 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
59 - tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,  
60 - quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo  
61 - consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse  
62 - cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non  
63 - proident, sunt in culpa qui officia deserunt mollit anim id est laborum. 52 + tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
  53 + quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
  54 + consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
  55 + cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
  56 + proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
64 </p> 57 </p>
65 - 58 + </div>
66 </div> 59 </div>
67 </div> 60 </div>
68 </div> 61 </div>
69 </div> 62 </div>
70 -</section>  
71 \ No newline at end of file 63 \ No newline at end of file
  64 +</section>
src/app/pages/auth/signin.html
@@ -24,24 +24,17 @@ @@ -24,24 +24,17 @@
24 <div class="col-md-12"> 24 <div class="col-md-12">
25 <h2>Já possui cadastro</h2> 25 <h2>Já possui cadastro</h2>
26 <p>Use seus dados para acessar o Dialoga Brasil</p> 26 <p>Use seus dados para acessar o Dialoga Brasil</p>
27 - <form name="loginForm" ng-submit="pageSignin.login(pageSignin.credentials)" novalidate> 27 + <form role="form" name="loginForm" ng-submit="pageSignin.login(pageSignin.credentials)" novalidate>
28 <div class="form-group"> 28 <div class="form-group">
29 <label for="inputLoginUsername">E-mail*</label> 29 <label for="inputLoginUsername">E-mail*</label>
30 <input type="email" id="inputLoginUsername" name="inputLoginUsername" class="form-control input-lg" ng-class="{ 'has-error' : loginForm.inputLoginUsername.$invalid && loginForm.inputLoginUsername.$touched }" ng-model="pageSignin.credentials.username" required/> 30 <input type="email" id="inputLoginUsername" name="inputLoginUsername" class="form-control input-lg" ng-class="{ 'has-error' : loginForm.inputLoginUsername.$invalid && loginForm.inputLoginUsername.$touched }" ng-model="pageSignin.credentials.username" required/>
31 - <div ng-show="loginForm.inputLoginUsername.$touched">  
32 - <div ng-messages="loginForm.inputLoginUsername.$error">  
33 - <div ng-messages-include="app/pages/geral/error-messages.html"></div>  
34 - </div>  
35 - </div> 31 + <!-- Diretiva validation-messages -->
  32 + <validation-messages field="loginForm.inputLoginUsername"/>
36 </div> 33 </div>
37 <div class="form-group"> 34 <div class="form-group">
38 <label for="inputLoginPassword">Senha*</label> 35 <label for="inputLoginPassword">Senha*</label>
39 <input type="password" id="inputLoginPassword" name="inputLoginPassword" class="form-control input-lg" ng-class="{ 'has-error' : loginForm.inputLoginPassword.$invalid && loginForm.inputLoginPassword.$touched }" ng-model="pageSignin.credentials.password" required> 36 <input type="password" id="inputLoginPassword" name="inputLoginPassword" class="form-control input-lg" ng-class="{ 'has-error' : loginForm.inputLoginPassword.$invalid && loginForm.inputLoginPassword.$touched }" ng-model="pageSignin.credentials.password" required>
40 - <div ng-show="loginForm.inputLoginPassword.$touched">  
41 - <div ng-messages="loginForm.inputLoginPassword.$error">  
42 - <div ng-messages-include="app/pages/geral/error-messages.html"></div>  
43 - </div>  
44 - </div> 37 + <validation-messages field="loginForm.inputLoginPassword"/>
45 </div> 38 </div>
46 <div class="form-group"> 39 <div class="form-group">
47 <button class="btn btn-lg btn-block btn-submit" type="submit">Entrar</button> 40 <button class="btn btn-lg btn-block btn-submit" type="submit">Entrar</button>
@@ -52,156 +45,134 @@ @@ -52,156 +45,134 @@
52 <div class="row"> 45 <div class="row">
53 <div class="col-md-12"> 46 <div class="col-md-12">
54 <hr class="separator separator-or"></hr> 47 <hr class="separator separator-or"></hr>
  48 + </div>
55 </div> 49 </div>
56 - </div>  
57 - <div class="row">  
58 - <div class="col-md-5">  
59 - <button type="button" class="btn btn-lg btn-block btn-social btn-facebook">  
60 - <div class="border-social-icon border-social-facebook">  
61 - <span class="glyphicon icon-google-plus icon-white" aria-hidden="true">  
62 - <!-- Facebook -->  
63 - <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 33 33" width="25" height="25">  
64 - <path d="M18 32L12 32 12 16l-4 0 0-5.5 4 0 0-3.2C12 2.7 13.2 0 18.5 0l4.4 0 0 5.5 -2.8 0c-2.1 0-2.2 0.8-2.2 2.2l0 2.8 5 0 -0.6 5.5L18 16 18 32z"/>  
65 - </svg>  
66 - </span>  
67 - </div>  
68 - <span class="text">Entrar com Facebook</span>  
69 - </button>  
70 - </div>  
71 - <div class="col-md-5">  
72 - <button type="button" class="btn btn-lg btn-block btn-social btn-google-plus">  
73 - <div class="border-social-icon border-social-googlePlus">  
74 - <span class="glyphicon icon-google-plus icon-white" aria-hidden="true">  
75 - <!-- Google Plus -->  
76 - <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 33 33" width="25" height="25">  
77 - <path d="M17.5 2c0 0-6.3 0-8.4 0C5.3 2 1.8 4.8 1.8 8.1c0 3.4 2.6 6.1 6.4 6.1 0.3 0 0.5 0 0.8 0 -0.2 0.5-0.4 1-0.4 1.6 0 0.9 0.5 1.7 1.1 2.3 -0.5 0-0.9 0-1.5 0C3.6 18.1 0 21.1 0 24.1c0 3 3.9 4.9 8.6 4.9 5.3 0 8.2-3 8.2-6 0-2.4-0.7-3.9-2.9-5.4 -0.8-0.5-2.2-1.8-2.2-2.6 0-0.9 0.3-1.3 1.6-2.4 1.4-1.1 2.4-2.6 2.4-4.4 0-2.1-0.9-4.2-2.7-4.8l2.7 0L17.5 2zM14.5 22.5c0.1 0.3 0.1 0.6 0.1 0.9 0 2.4-1.6 4.4-6.1 4.4 -3.2 0-5.5-2-5.5-4.5 0-2.4 2.9-4.4 6.1-4.4 0.8 0 1.4 0.1 2.1 0.3C12.9 20.4 14.2 21.1 14.5 22.5zM9.4 13.4c-2.2-0.1-4.2-2.4-4.6-5.2 -0.4-2.8 1.1-5 3.2-4.9 2.2 0.1 4.2 2.3 4.6 5.2C13 11.2 11.6 13.4 9.4 13.4zM26 8L26 2 24 2 24 8 18 8 18 10 24 10 24 16 26 16 26 10 32 10 32 8z"/>  
78 - </svg>  
79 - </span>  
80 - </div>  
81 - <span class="text">Entrar com Google+</span>  
82 - </button>  
83 - </div>  
84 - </div>  
85 - </div>  
86 - <div class="col-sm-6">  
87 - <div class="row">  
88 - <div class="col-sm-12">  
89 - <h2>Ou cadastre-se</h2>  
90 - <p>  
91 - Para fazer parte do Dialoga Brasil, interagir com as propostas e enviar as suas!  
92 - </p> 50 + <div class="row">
  51 + <div class="col-md-5">
  52 + <button type="button" class="btn btn-lg btn-block btn-social btn-facebook">
  53 + <div class="border-social-icon border-social-facebook">
  54 + <span class="glyphicon icon-google-plus icon-white" aria-hidden="true">
  55 + <!-- Facebook -->
  56 + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 33 33" width="25" height="25">
  57 + <path d="M18 32L12 32 12 16l-4 0 0-5.5 4 0 0-3.2C12 2.7 13.2 0 18.5 0l4.4 0 0 5.5 -2.8 0c-2.1 0-2.2 0.8-2.2 2.2l0 2.8 5 0 -0.6 5.5L18 16 18 32z"/>
  58 + </svg>
  59 + </span>
  60 + </div>
  61 + <span class="text">Entrar com Facebook</span>
  62 + </button>
  63 + </div>
  64 + <div class="col-md-5">
  65 + <button type="button" class="btn btn-lg btn-block btn-social btn-google-plus">
  66 + <div class="border-social-icon border-social-googlePlus">
  67 + <span class="glyphicon icon-google-plus icon-white" aria-hidden="true">
  68 + <!-- Google Plus -->
  69 + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 33 33" width="25" height="25">
  70 + <path d="M17.5 2c0 0-6.3 0-8.4 0C5.3 2 1.8 4.8 1.8 8.1c0 3.4 2.6 6.1 6.4 6.1 0.3 0 0.5 0 0.8 0 -0.2 0.5-0.4 1-0.4 1.6 0 0.9 0.5 1.7 1.1 2.3 -0.5 0-0.9 0-1.5 0C3.6 18.1 0 21.1 0 24.1c0 3 3.9 4.9 8.6 4.9 5.3 0 8.2-3 8.2-6 0-2.4-0.7-3.9-2.9-5.4 -0.8-0.5-2.2-1.8-2.2-2.6 0-0.9 0.3-1.3 1.6-2.4 1.4-1.1 2.4-2.6 2.4-4.4 0-2.1-0.9-4.2-2.7-4.8l2.7 0L17.5 2zM14.5 22.5c0.1 0.3 0.1 0.6 0.1 0.9 0 2.4-1.6 4.4-6.1 4.4 -3.2 0-5.5-2-5.5-4.5 0-2.4 2.9-4.4 6.1-4.4 0.8 0 1.4 0.1 2.1 0.3C12.9 20.4 14.2 21.1 14.5 22.5zM9.4 13.4c-2.2-0.1-4.2-2.4-4.6-5.2 -0.4-2.8 1.1-5 3.2-4.9 2.2 0.1 4.2 2.3 4.6 5.2C13 11.2 11.6 13.4 9.4 13.4zM26 8L26 2 24 2 24 8 18 8 18 10 24 10 24 16 26 16 26 10 32 10 32 8z"/>
  71 + </svg>
  72 + </span>
  73 + </div>
  74 + <span class="text">Entrar com Google+</span>
  75 + </button>
  76 + </div>
93 </div> 77 </div>
94 </div> 78 </div>
95 - <div class="row">  
96 - <div class="col-md-6">  
97 - <button type="button" class="btn btn-lg btn-block btn-social btn-facebook">  
98 - <div class="border-social-icon border-social-facebook">  
99 - <span class="glyphicon icon-google-plus icon-white" aria-hidden="true">  
100 - <!-- Google Plus -->  
101 - <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 33 33" width="25" height="25">  
102 - <path d="M18 32L12 32 12 16l-4 0 0-5.5 4 0 0-3.2C12 2.7 13.2 0 18.5 0l4.4 0 0 5.5 -2.8 0c-2.1 0-2.2 0.8-2.2 2.2l0 2.8 5 0 -0.6 5.5L18 16 18 32z"/>  
103 - </svg>  
104 - </span>  
105 - </div>  
106 - <span class="text">Conectar pelo Facebook</span>  
107 - </button>  
108 - </div>  
109 - <div class="col-md-6">  
110 - <button type="button" class="btn btn-lg btn-block btn-social btn-google-plus">  
111 - <div class="border-social-icon border-social-googlePlus">  
112 - <span class="glyphicon icon-google-plus icon-white" aria-hidden="true">  
113 - <!-- Google Plus -->  
114 - <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 33 33" width="25" height="25">  
115 - <path d="M17.5 2c0 0-6.3 0-8.4 0C5.3 2 1.8 4.8 1.8 8.1c0 3.4 2.6 6.1 6.4 6.1 0.3 0 0.5 0 0.8 0 -0.2 0.5-0.4 1-0.4 1.6 0 0.9 0.5 1.7 1.1 2.3 -0.5 0-0.9 0-1.5 0C3.6 18.1 0 21.1 0 24.1c0 3 3.9 4.9 8.6 4.9 5.3 0 8.2-3 8.2-6 0-2.4-0.7-3.9-2.9-5.4 -0.8-0.5-2.2-1.8-2.2-2.6 0-0.9 0.3-1.3 1.6-2.4 1.4-1.1 2.4-2.6 2.4-4.4 0-2.1-0.9-4.2-2.7-4.8l2.7 0L17.5 2zM14.5 22.5c0.1 0.3 0.1 0.6 0.1 0.9 0 2.4-1.6 4.4-6.1 4.4 -3.2 0-5.5-2-5.5-4.5 0-2.4 2.9-4.4 6.1-4.4 0.8 0 1.4 0.1 2.1 0.3C12.9 20.4 14.2 21.1 14.5 22.5zM9.4 13.4c-2.2-0.1-4.2-2.4-4.6-5.2 -0.4-2.8 1.1-5 3.2-4.9 2.2 0.1 4.2 2.3 4.6 5.2C13 11.2 11.6 13.4 9.4 13.4zM26 8L26 2 24 2 24 8 18 8 18 10 24 10 24 16 26 16 26 10 32 10 32 8z"/>  
116 - </svg>  
117 - </span>  
118 - </div>  
119 - <span class="text">Conectar pelo Google+</span>  
120 - </button> 79 + <div class="col-sm-6">
  80 + <div class="row">
  81 + <div class="col-sm-12">
  82 + <h2>Ou cadastre-se</h2>
  83 + <p>
  84 + Para fazer parte do Dialoga Brasil, interagir com as propostas e enviar as suas!
  85 + </p>
  86 + </div>
121 </div> 87 </div>
122 - </div>  
123 - <div class="row">  
124 - <div class="col-sm-12">  
125 - <hr class="separator separator-cadastro"></hr>  
126 - </div>  
127 - </div>  
128 - <div class="row">  
129 - <div class="col-sm-12">  
130 - <form name="cadastroForm">  
131 - <div class="form-group">  
132 - <label for="inputNome">Nome:</label>  
133 - <span class="pull-right">*Dados obrigatórios</span>  
134 - <input type="text" id="inputNome" name="inputNome" class="form-control input-lg" ng-class="{ 'has-error' : cadastroForm.inputNome.$invalid && cadastroForm.inputNome.$touched }" ng-model="nome" ng-minlength="" ng-maxlength="" required>  
135 - <div ng-show="cadastroForm.inputNome.$touched">  
136 - <div ng-messages="cadastroForm.inputNome.$error">  
137 - <div ng-messages-include="app/pages/geral/error-messages.html"></div> 88 + <div class="row">
  89 + <div class="col-md-6">
  90 + <button type="button" class="btn btn-lg btn-block btn-social btn-facebook">
  91 + <div class="border-social-icon border-social-facebook">
  92 + <span class="glyphicon icon-google-plus icon-white" aria-hidden="true">
  93 + <!-- Google Plus -->
  94 + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 33 33" width="25" height="25">
  95 + <path d="M18 32L12 32 12 16l-4 0 0-5.5 4 0 0-3.2C12 2.7 13.2 0 18.5 0l4.4 0 0 5.5 -2.8 0c-2.1 0-2.2 0.8-2.2 2.2l0 2.8 5 0 -0.6 5.5L18 16 18 32z"/>
  96 + </svg>
  97 + </span>
138 </div> 98 </div>
139 - </div> 99 + <span class="text">Conectar pelo Facebook</span>
  100 + </button>
140 </div> 101 </div>
141 - <div class="form-group">  
142 - <label for="inputEmail">E-mail*</label>  
143 - <input type="email" id="inputEmail" name="inputEmail" class="form-control input-lg" ng-class="{ 'has-error' : cadastroForm.inputEmail.$invalid && cadastroForm.inputEmail.$touched }" ng-model="email" ng-minlength="" ng-maxlength="" required>  
144 - <div ng-show="cadastroForm.inputEmail.$touched">  
145 - <div ng-messages="cadastroForm.inputEmail.$error">  
146 - <div ng-messages-include="app/pages/geral/error-messages.html"></div> 102 + <div class="col-md-6">
  103 + <button type="button" class="btn btn-lg btn-block btn-social btn-google-plus">
  104 + <div class="border-social-icon border-social-googlePlus">
  105 + <span class="glyphicon icon-google-plus icon-white" aria-hidden="true">
  106 + <!-- Google Plus -->
  107 + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 33 33" width="25" height="25">
  108 + <path d="M17.5 2c0 0-6.3 0-8.4 0C5.3 2 1.8 4.8 1.8 8.1c0 3.4 2.6 6.1 6.4 6.1 0.3 0 0.5 0 0.8 0 -0.2 0.5-0.4 1-0.4 1.6 0 0.9 0.5 1.7 1.1 2.3 -0.5 0-0.9 0-1.5 0C3.6 18.1 0 21.1 0 24.1c0 3 3.9 4.9 8.6 4.9 5.3 0 8.2-3 8.2-6 0-2.4-0.7-3.9-2.9-5.4 -0.8-0.5-2.2-1.8-2.2-2.6 0-0.9 0.3-1.3 1.6-2.4 1.4-1.1 2.4-2.6 2.4-4.4 0-2.1-0.9-4.2-2.7-4.8l2.7 0L17.5 2zM14.5 22.5c0.1 0.3 0.1 0.6 0.1 0.9 0 2.4-1.6 4.4-6.1 4.4 -3.2 0-5.5-2-5.5-4.5 0-2.4 2.9-4.4 6.1-4.4 0.8 0 1.4 0.1 2.1 0.3C12.9 20.4 14.2 21.1 14.5 22.5zM9.4 13.4c-2.2-0.1-4.2-2.4-4.6-5.2 -0.4-2.8 1.1-5 3.2-4.9 2.2 0.1 4.2 2.3 4.6 5.2C13 11.2 11.6 13.4 9.4 13.4zM26 8L26 2 24 2 24 8 18 8 18 10 24 10 24 16 26 16 26 10 32 10 32 8z"/>
  109 + </svg>
  110 + </span>
147 </div> 111 </div>
148 - </div> 112 + <span class="text">Conectar pelo Google+</span>
  113 + </button>
  114 + </div>
  115 + </div>
  116 + <div class="row">
  117 + <div class="col-sm-12">
  118 + <hr class="separator separator-cadastro"></hr>
149 </div> 119 </div>
150 <div class="row"> 120 <div class="row">
151 - <div class="col-sm-6">  
152 - <div class="form-group">  
153 - <label for="inputPassword">Senha:</label>  
154 - <input type="password" id="inputPassword" name="inputPassword" class="form-control input-lg" ng-class="{ 'has-error' : cadastroForm.inputPassword.$invalid && cadastroForm.inputPassword.$touched }" ng-model="senha" ng-minlength="" ng-maxlength="" required>  
155 - <div ng-show="cadastroForm.inputPassword.$touched">  
156 - <div ng-messages="cadastroForm.inputPassword.$error">  
157 - <div ng-messages-include="app/pages/geral/error-messages.html"></div> 121 + <div class="col-sm-12">
  122 + <form name="cadastroForm">
  123 + <div class="form-group">
  124 + <label for="inputNome">Nome:</label>
  125 + <span class="pull-right">*Dados obrigatórios</span>
  126 + <input type="text" id="inputNome" name="inputNome" class="form-control input-lg" ng-class="{ 'has-error' : cadastroForm.inputNome.$invalid && cadastroForm.inputNome.$touched }" ng-model="nome" ng-minlength="" ng-maxlength="" required>
  127 + <validation-messages field="cadastroForm.inputNome"/>
  128 + </div>
  129 + <div class="form-group">
  130 + <label for="inputEmail">E-mail*</label>
  131 + <input type="email" id="inputEmail" name="inputEmail" class="form-control input-lg" ng-class="{ 'has-error' : cadastroForm.inputEmail.$invalid && cadastroForm.inputEmail.$touched }" ng-model="email" ng-minlength="" ng-maxlength="" required>
  132 + <validation-messages field="cadastroForm.inputEmail"/>
  133 + </div>
  134 + <div class="row">
  135 + <div class="col-sm-6">
  136 + <div class="form-group">
  137 + <label for="inputPassword">Senha:</label>
  138 + <input type="password" id="inputPassword" name="inputPassword" class="form-control input-lg" ng-class="{ 'has-error' : cadastroForm.inputPassword.$invalid && cadastroForm.inputPassword.$touched }" ng-model="senha" ng-minlength="" ng-maxlength="" required>
  139 + <validation-messages field="cadastroForm.inputPassword"/>
  140 + </div>
  141 + </div>
  142 + <div class="col-sm-6">
  143 + <div class="form-group">
  144 + <label for="inputRepeatPassword">Confirmar Senha:</label>
  145 + <input type="password" id="inputRepeatPassword" name="inputRepeatPassword" class="form-control input-lg" ng-class="{ 'has-error' : cadastroForm.inputRepeatPassword.$invalid && cadastroForm.inputRepeatPassword.$touched }" ng-model="senhaRepetida" ng-minlength="" ng-maxlength="" required>
  146 + <validation-messages field="cadastroForm.inputRepeatPassword"/>
  147 + </div>
158 </div> 148 </div>
159 </div> 149 </div>
160 - </div>  
161 - </div>  
162 - <div class="col-sm-6">  
163 - <div class="form-group">  
164 - <label for="inputRepeatPassword">Confirmar Senha:</label>  
165 - <input type="password" id="inputRepeatPassword" name="inputRepeatPassword" class="form-control input-lg" ng-class="{ 'has-error' : cadastroForm.inputRepeatPassword.$invalid && cadastroForm.inputRepeatPassword.$touched }" ng-model="senhaRepetida" ng-minlength="" ng-maxlength="" required>  
166 - <div ng-show="cadastroForm.inputRepeatPassword.$touched">  
167 - <div ng-messages="cadastroForm.inputRepeatPassword.$error">  
168 - <div ng-messages-include="app/pages/geral/error-messages.html"></div> 150 + <div class="row">
  151 + <div class="col-sm-12">
  152 + <span class="text">
  153 + A senha deve ter 6 ou mais caracteres e conter números e letras.
  154 + </span>
169 </div> 155 </div>
170 </div> 156 </div>
  157 + <div class="form-group">
  158 + <input type="checkbox" id="termosDeUso" name="termosDeUso" value="aceito" ng-model="termosDeUso" required>
  159 + Já li os
  160 + <a href="">Termos de Uso</a>
  161 + e concordo com os mesmos*
  162 + </input>
  163 + <validation-messages field="cadastroForm.termosDeUso"/>
171 </div> 164 </div>
172 - </div>  
173 - </div>  
174 - <div class="row">  
175 - <div class="col-sm-12">  
176 - <span class="text">  
177 - A senha deve ter 6 ou mais caracteres e conter números e letras.  
178 - </span>  
179 - </div>  
180 - </div>  
181 - <div class="form-group">  
182 - <input type="checkbox" id="termosDeUso" name="termosDeUso" value="aceito" required>  
183 - Já li os  
184 - <a href="">Termos de Uso</a>  
185 - e concordo com os mesmos*  
186 - </input>  
187 - <div ng-show="cadastroForm.termosDeUso.$touched">  
188 - <div ng-messages="cadastroForm.termosDeUso.$error">  
189 - <div ng-messages-include="app/pages/geral/error-messages.html"></div>  
190 - </div> 165 + <div class="form-group">
  166 + <span>Digite o texto da imagem</span>
  167 + <p>O Captcha vai aqui</p>
  168 + </div>
  169 + <div class="form-group">
  170 + <button class="btn btn-lg btn-block btn-submit " ng-class=" {'disabled' : !termosDeUso }"type="submit">Cadastrar</button>
  171 + </div>
  172 + </form>
191 </div> 173 </div>
192 </div> 174 </div>
193 - <div class="form-group">  
194 - <span>Digite o texto da imagem</span>  
195 - <p>O Captcha vai aqui</p>  
196 - </div>  
197 - <div class="form-group">  
198 - <button class="btn btn-lg btn-block btn-submit" type="submit">Cadastrar</button>  
199 - </div>  
200 - </form> 175 + </div>
201 </div> 176 </div>
202 </div> 177 </div>
203 - </div>  
204 -</div>  
205 -</div>  
206 -</div>  
207 -</section>  
208 \ No newline at end of file 178 \ No newline at end of file
  179 + </section>
src/app/pages/geral/termosDeUso.html
@@ -1,92 +0,0 @@ @@ -1,92 +0,0 @@
1 -<div class="modal fade modalTermosDeUso" id="termosDeUso" tabindex="-1" role="dialog" aria-labelledby="termosDeUsoLabel">  
2 - <div class="modal-dialog" role="document">  
3 - <div class="modal-content">  
4 - <div class="modal-header">  
5 - <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>  
6 - <h4 class="modal-title" id="termosDeUsoLabel">Termos de Uso</h4>  
7 - </div>  
8 - <div class="modal-body">  
9 - <p>  
10 - Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod  
11 - tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,  
12 - quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo  
13 - consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse  
14 - cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non  
15 - proident, sunt in culpa qui officia deserunt mollit anim id est laborum.  
16 - </p>  
17 -  
18 - <p>  
19 - Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod  
20 - tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,  
21 - quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo  
22 - consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse  
23 - cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non  
24 - proident, sunt in culpa qui officia deserunt mollit anim id est laborum.  
25 - </p>  
26 -  
27 - <p>  
28 - Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod  
29 - tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,  
30 - quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo  
31 - consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse  
32 - cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non  
33 - proident, sunt in culpa qui officia deserunt mollit anim id est laborum.  
34 - </p>  
35 -  
36 - <p>  
37 - Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod  
38 - tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,  
39 - quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo  
40 - consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse  
41 - cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non  
42 - proident, sunt in culpa qui officia deserunt mollit anim id est laborum.  
43 - </p>  
44 -  
45 - <p>  
46 - Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod  
47 - tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,  
48 - quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo  
49 - consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse  
50 - cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non  
51 - proident, sunt in culpa qui officia deserunt mollit anim id est laborum.  
52 - </p>  
53 -  
54 - <p>  
55 - Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod  
56 - tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,  
57 - quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo  
58 - consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse  
59 - cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non  
60 - proident, sunt in culpa qui officia deserunt mollit anim id est laborum.  
61 - </p>  
62 -  
63 - <p>  
64 - Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod  
65 - tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,  
66 - quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo  
67 - consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse  
68 - cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non  
69 - proident, sunt in culpa qui officia deserunt mollit anim id est laborum.  
70 - </p>  
71 -  
72 - <p>  
73 - Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod  
74 - tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,  
75 - quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo  
76 - consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse  
77 - cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non  
78 - proident, sunt in culpa qui officia deserunt mollit anim id est laborum.  
79 - </p>  
80 -  
81 - <p>  
82 - Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod  
83 - tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,  
84 - quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo  
85 - consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse  
86 - cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non  
87 - proident, sunt in culpa qui officia deserunt mollit anim id est laborum.  
88 - </p>  
89 - </div>  
90 - </div>  
91 - </div>  
92 - </div>  
93 \ No newline at end of file 0 \ No newline at end of file
src/app/pages/propostas/cadastro-proposta.html 0 → 100644
@@ -0,0 +1,13 @@ @@ -0,0 +1,13 @@
  1 +<!-- APENAS PARA TESTE DO ENVIAR PROPOSTA -->
  2 +<div class="container">
  3 + <div class="row">
  4 + <div class="col-sm-12">
  5 + </div>
  6 + </div>
  7 +</div>
  8 +
  9 +<section class="section-gray auth-content ng-scope">
  10 + <div class="container">
  11 + <cadastro-proposta></cadastro-proposta>
  12 + </div>
  13 +</section>
src/app/pages/propostas/propostas.controller.js
@@ -26,7 +26,7 @@ @@ -26,7 +26,7 @@
26 vm.loading = true; 26 vm.loading = true;
27 vm.error = false; 27 vm.error = false;
28 28
29 - vm.loadData(); 29 + // vm.loadData();
30 }; 30 };
31 31
32 32
src/assets/images/icons/sprite.png

107 KB