Subversion Repositories bacoAlunos

Rev

Rev 1730 | Rev 1822 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1730 Rev 1731
Line 3... Line 3...
3
<%@ taglib uri="/WEB-INF/tlds/struts-html.tld"  prefix="html" %>
3
<%@ taglib uri="/WEB-INF/tlds/struts-html.tld"  prefix="html" %>
4
<%@ taglib uri="/WEB-INF/tlds/struts-nested.tld"  prefix="nested" %>
4
<%@ taglib uri="/WEB-INF/tlds/struts-nested.tld"  prefix="nested" %>
5
<%@ taglib uri="/WEB-INF/tlds/struts-logic.tld"  prefix="logic" %>
5
<%@ taglib uri="/WEB-INF/tlds/struts-logic.tld"  prefix="logic" %>
6
<%@ taglib uri="/WEB-INF/tlds/struts-bean.tld"  prefix="bean" %>
6
<%@ taglib uri="/WEB-INF/tlds/struts-bean.tld"  prefix="bean" %>
7
<%@ taglib uri="/WEB-INF/tlds/struts-tiles.tld"  prefix="tiles" %>
7
<%@ taglib uri="/WEB-INF/tlds/struts-tiles.tld"  prefix="tiles" %>
-
 
8
<%@ taglib prefix="baco" uri="http://www.estgp.pt/baco/" %>
-
 
9
<%--Esta declaracao tem de estar antes das proximas que sao dependentes desta--%>
-
 
10
<script>
-
 
11
    var GLOBAL_BacoAngularAppDependencies = [];
-
 
12
    var bacoAngularApp = angular.module('BacoAngularApp', GLOBAL_BacoAngularAppDependencies);
8
 
13
 
9
 
14
 
-
 
15
 
-
 
16
 
-
 
17
    /* Isto daria para colocar numa app nossa lá no meio para adicionar material vindo do Ajax
-
 
18
    bacoAngularApp.directive('dynamic', function ($compile) {
-
 
19
        return {
-
 
20
            replace: true,
-
 
21
            link: function (scope, ele, attrs) {
-
 
22
                scope.$watch(attrs.dynamic, function(html) {
-
 
23
                    if (!html) {
-
 
24
                        return;
-
 
25
                    }
-
 
26
                    ele.html((typeof(html) === 'string') ? html : html.data);
-
 
27
                    $compile(ele.contents())(scope);
-
 
28
                });
-
 
29
            }
-
 
30
        };
-
 
31
    });
-
 
32
    */
-
 
33
    /**
-
 
34
     * AngularHelper : Contains methods that help using angular without being in the scope of an angular controller or directive
-
 
35
     */
-
 
36
    var AngularHelper = (function () {
-
 
37
        var AngularHelper = function () { };
-
 
38
 
-
 
39
        /**
-
 
40
         * ApplicationName : Default application name for the helper
-
 
41
         */
-
 
42
        var defaultApplicationName = "myDefaultAppName";
-
 
43
 
-
 
44
        /**
-
 
45
         * Compile : Compile html with the rootScope of an application
-
 
46
         *  and replace the content of a target element with the compiled html
-
 
47
         * @$targetDom : The dom in which the compiled html should be placed
-
 
48
         * @htmlToCompile : The html to compile using angular
-
 
49
         * @applicationName : (Optionnal) The name of the application (use the default one if empty)
-
 
50
         */
-
 
51
        AngularHelper.Compile = function ($targetDom, htmlToCompile, applicationName) {
-
 
52
            var $injector = angular.injector(["ng", applicationName || defaultApplicationName]);
-
 
53
 
-
 
54
            $injector.invoke(["$compile", "$rootScope", function ($compile, $rootScope) {
-
 
55
                //Get the scope of the target, use the rootScope if it does not exists
-
 
56
                var $scope = $targetDom.html(htmlToCompile).scope();
-
 
57
                $compile($targetDom)($scope || $rootScope);
-
 
58
                $rootScope.$digest();
-
 
59
            }]);
-
 
60
        }
-
 
61
 
-
 
62
        return AngularHelper;
-
 
63
    })();
-
 
64
</script>
-
 
65
 
-
 
66
 
-
 
67
<jsp:include page="intranetTools/files-upload-form.jsp"/>
-
 
68
 
-
 
69
 
-
 
70
<link rel="stylesheet" href="<%=request.getContextPath()%>/js/angularjs/angular-ui-tree/angular-ui-tree.min.css">
-
 
71
<script type="text/javascript" src="<%=request.getContextPath()%>/js/angularjs/angular-ui-tree/angular-ui-tree.js"></script>
-
 
72
 
-
 
73
 
-
 
74
<script>
-
 
75
    //COLOCAR WEB-MESSAGES WARNING E ERROR NUMA MODAL DEPOIS DE CARREGAR A PAGINA
-
 
76
    //ESTE METODO É DE AMBITO AUTOMATICO VAI BUSCAR ERROS, REPARE NA CLASSE web-messages-errors-baco que é
-
 
77
    //colocada pelo Struts nos prefixos a partir da conf no MessageResources
-
 
78
    //Todas as mensagens desta classe são apanhadas e colocadas na modal de erros abaixo
-
 
79
    //seguidamente são mostradas em Modal
10
<logic:present name="UserSession">
80
    $(document).ready(function()
11
    <%
81
    {
12
        if(UserSessionProxy.loadUserSessionFromRequest(request).getUser() == null)
82
        if($(".web-messages-errors-baco").length)
13
        {
83
        {
-
 
84
            var webMessages= "";
-
 
85
            $(".web-messages-errors-baco").each( function()
-
 
86
            {
-
 
87
                webMessages += $(this).html();
-
 
88
            });
-
 
89
            $('#errorsBacoModal .content-errors').html(webMessages);
14
            response.sendError(401);
90
            $('.modal').modal("hide");
-
 
91
            $('#errorsBacoModal').modal({
-
 
92
                show: 'true'
15
            return;
93
            });
16
        }
94
        }
-
 
95
    });
-
 
96
   /* function modalWebMessages(title)
17
    %>
97
    {
18
    <logic:present name="UserSession" property="user">
98
        if($(".web-messages").length)
-
 
99
        {
19
        <logic:notEmpty name="UserSession" property="user">
100
            $("#modalWebMessages modal-title").html(title);
20
            INTRANET - (<bean:write name="UserSession" property="user.name"/> online)
101
            $('#modalWebMessages .content-web-messages').html( $(".web-messages").html());
21
        </logic:notEmpty>
102
            $('#modalWebMessages .content-aditional').html( "");
22
    </logic:present>
103
            $('.modal').modal("hide");
23
 
-
 
24
    <div id="google_translate_element" class="pull-right"></div>
104
            $('#modalWebMessages').modal({
25
    <script type="text/javascript">
105
                show: 'true'
26
        function googleTranslateElementInit() {
106
            });
27
            new google.translate.TranslateElement({pageLanguage: 'pt', includedLanguages: 'pt,en,es,fr', layout: google.translate.TranslateElement.InlineLayout.SIMPLE}, 'google_translate_element');
-
 
28
        }
107
        }
-
 
108
    }*/
-
 
109
    function modalWebMessages(title,aditionalHtml)
-
 
110
    {
-
 
111
        if($(".web-messages").length)
-
 
112
        {
-
 
113
            $("#modalWebMessages .modal-title").html(title);
-
 
114
 
-
 
115
            var webMessages= "";
-
 
116
            $(".web-messages").each( function()
-
 
117
            {
-
 
118
                webMessages += $(this).html();
-
 
119
            });
-
 
120
            $('#modalWebMessages .content-web-messages').html( webMessages);
-
 
121
            if(aditionalHtml)
-
 
122
                $('#modalWebMessages .content-aditional').html( aditionalHtml);
-
 
123
            $('.modal').modal("hide");
-
 
124
            $('#modalWebMessages').modal({
-
 
125
                show: 'true'
-
 
126
            });
-
 
127
        }
-
 
128
    }
-
 
129
    function modalWebMessagesGivenContainer(title,refContainer)
-
 
130
    {
-
 
131
        if($(refContainer + " .web-messages").length)
-
 
132
        {
-
 
133
            $("#modalWebMessages .modal-title").html(title);
-
 
134
            var webMessages= "";
-
 
135
            $(refContainer + " .web-messages").each( function()
-
 
136
            {
-
 
137
                webMessages += $(this).html();
-
 
138
            });
-
 
139
            $('#modalWebMessages .content-web-messages').html(webMessages);
-
 
140
            $('#modalWebMessages .content-aditional').html( "");
-
 
141
            $('.modal').modal("hide");
-
 
142
            $('#modalWebMessages').modal({
-
 
143
                show: 'true'
-
 
144
            });
-
 
145
        }
-
 
146
    }
-
 
147
    function modalWebMessagesGivenContainerAndTarget(title,refContainer,targetOkUrl)
-
 
148
    {
-
 
149
        if($(refContainer + " .web-messages").length)
-
 
150
        {
-
 
151
            $("#modalWebMessages .modal-title").html(title);
-
 
152
            var webMessages= "";
-
 
153
            $(refContainer + " .web-messages").each( function()
-
 
154
            {
-
 
155
                webMessages += $(this).html();
-
 
156
            });
-
 
157
            $('#modalWebMessages .content-web-messages').html(webMessages);
-
 
158
            $('#modalWebMessages .content-aditional').html( "");
-
 
159
            $('.modal').modal("hide");
-
 
160
            $('#modalWebMessages').modal({
-
 
161
                show: 'true'
-
 
162
            });
-
 
163
            $("#modalWebMessages button[data-dismiss='modal']").unbind( "click" );
-
 
164
            $("#modalWebMessages button[data-dismiss='modal']").click(
-
 
165
                    function()
-
 
166
                    {
-
 
167
                        window.location.href = targetOkUrl;
-
 
168
                    }
-
 
169
            );
-
 
170
        }
-
 
171
    }
29
    </script>
172
</script>
-
 
173
 
-
 
174
<div class="modal fade" id="errorsBacoModal" role="dialog" >
-
 
175
    <div class="modal-dialog" data-width="960" style="display: block; width: 960px; margin-top: 50px;" aria-hidden="false">
-
 
176
 
-
 
177
        <!-- Modal content-->
-
 
178
        <div class="modal-content">
-
 
179
            <div class="modal-header">
-
 
180
                <h1 class="modal-title">Existem Avisos</h1>
-
 
181
            </div>
-
 
182
            <div class="modal-body">
-
 
183
                <div class="panel panel-default">
-
 
184
                    <div class="panel-body content-errors" >
-
 
185
 
-
 
186
                    </div>
-
 
187
                </div>
-
 
188
 
-
 
189
                <button type="button" class="btn btn-default" data-dismiss="modal">Entendi</button>
-
 
190
            </div>
-
 
191
        </div>
-
 
192
 
-
 
193
    </div>
-
 
194
</div>
-
 
195
 
-
 
196
<div class="modal fade" id="modalWebMessages" role="dialog" >
-
 
197
    <div class="modal-dialog" data-width="960" style="display: block; width: 960px; margin-top: 50px;" aria-hidden="false">
-
 
198
 
-
 
199
        <!-- Modal content-->
-
 
200
        <div class="modal-content">
-
 
201
            <div class="modal-header">
-
 
202
                <h1 class="modal-title"></h1>
-
 
203
            </div>
-
 
204
            <div class="modal-body">
-
 
205
                <div class="panel panel-default">
-
 
206
                    <div class="panel-body content-web-messages" >
-
 
207
 
-
 
208
                    </div>
-
 
209
                </div>
-
 
210
                <div class="content-aditional" >
-
 
211
 
-
 
212
                </div>
30
    <script type="text/javascript" src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
213
                <button type="button" class="btn btn-default" data-dismiss="modal">Entendi</button>
-
 
214
            </div>
31
</logic:present>
215
        </div>
-
 
216
 
-
 
217
    </div>
-
 
218
</div>
-
 
219
 
32
 
220
 
33
<div class="modal fade" id="historyFilesModal" role="dialog" >
221
<div class="modal fade" id="historyFilesModal" role="dialog" >
34
    <div class="modal-dialog" data-width="960" style="display: block; width: 960px; margin-top: 50px;" aria-hidden="false">
222
    <div class="modal-dialog" data-width="960" style="display: block; width: 960px; margin-top: 50px;" aria-hidden="false">
35
 
223
 
36
        <!-- Modal content-->
224
        <!-- Modal content-->
Line 149... Line 337...
149
        top: 0;
337
        top: 0;
150
        left: 0;
338
        left: 0;
151
    }
339
    }
152
</style>
340
</style>
153
 
341
 
-
 
342
<%--
-
 
343
    PODEMOS CRIAR OUTRAS  MODAL DA CLASSE MODAL CONFIRM sempre que quisermos
-
 
344
    A função generica acima permite que qualquer modal da classe .modalConfirm
-
 
345
    seja automaticamente preenchida com os campos ConfirmMessageToUser vindos
-
 
346
    do attributo data-message e com o btn-ok vindo do data-href
-
 
347
--%>
154
<div class="modal fade confirmModal" id="confirm-ModalGeneric" tabindex="-1" role="dialog" >
348
<div class="modal fade confirmModal" id="confirm-ModalGeneric" tabindex="-1" role="dialog" >
155
    <div class="modal-dialog" data-width="450" style="display: block; width: 450px; margin-top: 50px;" aria-hidden="false">
349
    <div class="modal-dialog" data-width="450" style="display: block; width: 450px; margin-top: 50px;" aria-hidden="false">
156
        <div class="modal-content">
350
        <div class="modal-content">
157
            <div class="modal-header">
351
            <div class="modal-header">
158
                <h4 class="modal-title">Tem a certeza que deseja efectuar a seguinte operação?</h4>
352
                <h4 class="modal-title">Tem a certeza que deseja efectuar a seguinte operação?</h4>
Line 250... Line 444...
250
            'callback-target-function-token-parameter': $(target).data('callbackTargetFunctionTokenParameter')
444
            'callback-target-function-token-parameter': $(target).data('callbackTargetFunctionTokenParameter')
251
        };
445
        };
252
        $.post($(target).data('href'),
446
        $.post($(target).data('href'),
253
                ajaxCallbackParameters
447
                ajaxCallbackParameters
254
                , function(data) {
448
                , function(data) {
255
            $("#modalAjaxRequest .contentAjaxRequest").html(data);
449
                    $("#modalAjaxRequest .contentAjaxRequest").html(data);
256
            evaluateTableSortersInside("#modalAjaxRequest");
450
                    evaluateTableSortersInside("#modalAjaxRequest");
257
            invokeChosenSelects();
451
                    invokeChosenSelects();
258
 
452
 
259
            $('#modalAjaxRequest .reloadAjaxRequestModal').on("click",
453
                    $('#modalAjaxRequest .reloadAjaxRequestModal').on("click",
260
                    function(e){
454
                            function(e){
261
                        reloadAjaxRequestModal(e.currentTarget);
455
                                reloadAjaxRequestModal(e.currentTarget);
262
                    }
456
                            }
263
            );
457
                    );
264
        });
458
                });
265
    }
459
    }
266
</script>
460
</script>
267
 
461
 
268
<div class="modal fade" id="modalAjaxRequest" role="dialog" >
462
<div class="modal fade" id="modalAjaxRequest" role="dialog" >
269
    <div class="modal-dialog" data-width="960" style="display: block; width: 960px; margin-top: 50px;" aria-hidden="false">
463
    <div class="modal-dialog" data-width="960" style="display: block; width: 960px; margin-top: 50px;" aria-hidden="false">
Line 306... Line 500...
306
        </div>
500
        </div>
307
    </div>
501
    </div>
308
</div>
502
</div>
309
 
503
 
310
 
504
 
311
<%--Esta declaracao tem de estar antes das proximas que sao dependentes desta--%>
-
 
312
<script>
-
 
313
    var GLOBAL_BacoAngularAppDependencies = [];
-
 
314
    var bacoAngularApp = angular.module('BacoAngularApp', GLOBAL_BacoAngularAppDependencies);
-
 
315
 
-
 
316
 
-
 
317
 
-
 
318
 
-
 
319
    /* Isto daria para colocar numa app nossa lá no meio para adicionar material vindo do Ajax
-
 
320
    bacoAngularApp.directive('dynamic', function ($compile) {
-
 
321
        return {
-
 
322
            replace: true,
-
 
323
            link: function (scope, ele, attrs) {
-
 
324
                scope.$watch(attrs.dynamic, function(html) {
-
 
325
                    if (!html) {
-
 
326
                        return;
-
 
327
                    }
-
 
328
                    ele.html((typeof(html) === 'string') ? html : html.data);
-
 
329
                    $compile(ele.contents())(scope);
-
 
330
                });
-
 
331
            }
-
 
332
        };
-
 
333
    });
-
 
334
    */
-
 
335
    /**
-
 
336
     * AngularHelper : Contains methods that help using angular without being in the scope of an angular controller or directive
-
 
337
     */
-
 
338
    var AngularHelper = (function () {
-
 
339
        var AngularHelper = function () { };
-
 
340
 
-
 
341
        /**
-
 
342
         * ApplicationName : Default application name for the helper
-
 
343
         */
-
 
344
        var defaultApplicationName = "myDefaultAppName";
-
 
345
 
-
 
346
        /**
-
 
347
         * Compile : Compile html with the rootScope of an application
-
 
348
         *  and replace the content of a target element with the compiled html
-
 
349
         * @$targetDom : The dom in which the compiled html should be placed
-
 
350
         * @htmlToCompile : The html to compile using angular
-
 
351
         * @applicationName : (Optionnal) The name of the application (use the default one if empty)
-
 
352
         */
-
 
353
        AngularHelper.Compile = function ($targetDom, htmlToCompile, applicationName) {
-
 
354
            var $injector = angular.injector(["ng", applicationName || defaultApplicationName]);
-
 
355
 
-
 
356
            $injector.invoke(["$compile", "$rootScope", function ($compile, $rootScope) {
-
 
357
                //Get the scope of the target, use the rootScope if it does not exists
-
 
358
                var $scope = $targetDom.html(htmlToCompile).scope();
-
 
359
                $compile($targetDom)($scope || $rootScope);
-
 
360
                $rootScope.$digest();
-
 
361
            }]);
-
 
362
        }
-
 
363
 
-
 
364
        return AngularHelper;
-
 
365
    })();
-
 
366
</script>
-
 
367
 
-
 
368
 
-
 
369
<jsp:include page="intranetTools/files-upload-form.jsp"/>
-
 
370
 
-
 
371
<link rel="stylesheet" href="<%=request.getContextPath()%>/js/angularjs/angular-ui-tree/angular-ui-tree.min.css">
-
 
372
<script type="text/javascript" src="<%=request.getContextPath()%>/js/angularjs/angular-ui-tree/angular-ui-tree.js"></script>
-
 
373
 
-
 
374
 
-
 
375
 
-
 
376
 
-
 
377
 
-
 
378
 
-
 
379
 
-
 
380
<script>
-
 
381
    //COLOCAR WEB-MESSAGES WARNING E ERROR NUMA MODAL DEPOIS DE CARREGAR A PAGINA
-
 
382
    $(document).ready(function()
-
 
383
    {
-
 
384
        if($(".web-messages-errors-baco").length)
-
 
385
        {
-
 
386
            var webMessages= "";
-
 
387
            $(".web-messages-errors-baco").each( function()
-
 
388
            {
-
 
389
                webMessages += $(this).html();
-
 
390
            });
-
 
391
            $('#errorsBacoModal .content-errors').html(webMessages);
-
 
392
            $('.modal').modal("hide");
-
 
393
            $('#errorsBacoModal').modal({
-
 
394
                show: 'true'
-
 
395
            });
-
 
396
        }
-
 
397
    });
-
 
398
   /* function modalWebMessages(title)
-
 
399
    {
-
 
400
        if($(".web-messages").length)
-
 
401
        {
-
 
402
            $("#modalWebMessages modal-title").html(title);
-
 
403
            $('#modalWebMessages .content-web-messages').html( $(".web-messages").html());
-
 
404
            $('#modalWebMessages .content-aditional').html( "");
-
 
405
            $('.modal').modal("hide");
-
 
406
            $('#modalWebMessages').modal({
-
 
407
                show: 'true'
-
 
408
            });
-
 
409
        }
-
 
410
    }*/
-
 
411
    function modalWebMessages(title,aditionalHtml)
-
 
412
    {
-
 
413
        if($(".web-messages").length)
-
 
414
        {
-
 
415
            $("#modalWebMessages .modal-title").html(title);
-
 
416
 
-
 
417
            var webMessages= "";
-
 
418
            $(".web-messages").each( function()
-
 
419
            {
-
 
420
                webMessages += $(this).html();
-
 
421
            });
-
 
422
            $('#modalWebMessages .content-web-messages').html( webMessages);
-
 
423
            if(aditionalHtml)
-
 
424
                $('#modalWebMessages .content-aditional').html( aditionalHtml);
-
 
425
            $('.modal').modal("hide");
-
 
426
            $('#modalWebMessages').modal({
-
 
427
                show: 'true'
-
 
428
            });
-
 
429
        }
-
 
430
    }
-
 
431
    function modalWebMessagesGivenContainer(title,refContainer)
-
 
432
    {
-
 
433
        if($(refContainer + " .web-messages").length)
-
 
434
        {
-
 
435
            $("#modalWebMessages .modal-title").html(title);
-
 
436
            var webMessages= "";
-
 
437
            $(refContainer + " .web-messages").each( function()
-
 
438
            {
-
 
439
                webMessages += $(this).html();
-
 
440
            });
-
 
441
            $('#modalWebMessages .content-web-messages').html(webMessages);
-
 
442
            $('#modalWebMessages .content-aditional').html( "");
-
 
443
            $('.modal').modal("hide");
-
 
444
            $('#modalWebMessages').modal({
-
 
445
                show: 'true'
-
 
446
            });
-
 
447
        }
-
 
448
    }
-
 
449
    function modalWebMessagesGivenContainerAndTarget(title,refContainer,targetOkUrl)
-
 
450
    {
-
 
451
        if($(refContainer + " .web-messages").length)
-
 
452
        {
-
 
453
            $("#modalWebMessages .modal-title").html(title);
-
 
454
            var webMessages= "";
-
 
455
            $(refContainer + " .web-messages").each( function()
-
 
456
            {
-
 
457
                webMessages += $(this).html();
-
 
458
            });
-
 
459
            $('#modalWebMessages .content-web-messages').html(webMessages);
-
 
460
            $('#modalWebMessages .content-aditional').html( "");
-
 
461
            $('.modal').modal("hide");
-
 
462
            $('#modalWebMessages').modal({
-
 
463
                show: 'true'
-
 
464
            });
-
 
465
            $("#modalWebMessages button[data-dismiss='modal']").unbind( "click" );
-
 
466
            $("#modalWebMessages button[data-dismiss='modal']").click(
-
 
467
                    function()
-
 
468
                    {
-
 
469
                        window.location.href = targetOkUrl;
-
 
470
                    }
-
 
471
            );
-
 
472
        }
-
 
473
    }
-
 
474
</script>
-
 
475
 
-
 
476
<div class="modal fade" id="errorsBacoModal" role="dialog" >
-
 
477
    <div class="modal-dialog" data-width="960" style="display: block; width: 960px; margin-top: 50px;" aria-hidden="false">
-
 
478
 
-
 
479
        <!-- Modal content-->
-
 
480
        <div class="modal-content">
-
 
481
            <div class="modal-header">
-
 
482
                <h1 class="modal-title">Existem Avisos</h1>
-
 
483
            </div>
-
 
484
            <div class="modal-body">
-
 
485
                <div class="panel panel-default">
-
 
486
                    <div class="panel-body content-errors" >
-
 
487
 
-
 
488
                    </div>
-
 
489
                </div>
-
 
490
 
-
 
491
                <button type="button" class="btn btn-default" data-dismiss="modal">Entendi</button>
-
 
492
            </div>
-
 
493
        </div>
-
 
494
 
-
 
495
    </div>
-
 
496
</div>
-
 
497
 
-
 
498
<div class="modal fade" id="modalWebMessages" role="dialog" >
-
 
499
    <div class="modal-dialog" data-width="960" style="display: block; width: 960px; margin-top: 50px;" aria-hidden="false">
-
 
500
 
-
 
501
        <!-- Modal content-->
-
 
502
        <div class="modal-content">
-
 
503
            <div class="modal-header">
-
 
504
                <h1 class="modal-title"></h1>
-
 
505
            </div>
-
 
506
            <div class="modal-body">
-
 
507
                <div class="panel panel-default">
-
 
508
                    <div class="panel-body content-web-messages" >
-
 
509
 
-
 
510
                    </div>
-
 
511
                </div>
-
 
512
                <div class="content-aditional" >
-
 
513
 
-
 
514
                </div>
-
 
515
                <button type="button" class="btn btn-default" data-dismiss="modal">Entendi</button>
-
 
516
            </div>
-
 
517
        </div>
-
 
518
 
-
 
519
    </div>
-
 
520
</div>
-
 
521
 
-
 
522
 
-
 
523
 
505
 
524
<jsp:include page="/auth/loginWidget.jsp"/>
506
<jsp:include page="/auth/loginWidget.jsp"/>