Subversion Repositories bacoAlunos

Rev

Rev 1728 | Rev 1731 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1484 jmachado 1
<%@ page import="pt.estgp.estgweb.web.UserSessionProxy" %>
1312 jmachado 2
<%@ page contentType="text/html; charset=UTF-8"  language="java"%>
3
<%@ taglib uri="/WEB-INF/tlds/struts-html.tld"  prefix="html" %>
4
<%@ taglib uri="/WEB-INF/tlds/struts-nested.tld"  prefix="nested" %>
5
<%@ taglib uri="/WEB-INF/tlds/struts-logic.tld"  prefix="logic" %>
6
<%@ taglib uri="/WEB-INF/tlds/struts-bean.tld"  prefix="bean" %>
7
<%@ taglib uri="/WEB-INF/tlds/struts-tiles.tld"  prefix="tiles" %>
8
 
1577 jmachado 9
 
1312 jmachado 10
<logic:present name="UserSession">
1484 jmachado 11
    <%
12
        if(UserSessionProxy.loadUserSessionFromRequest(request).getUser() == null)
13
        {
14
            response.sendError(401);
15
            return;
16
        }
17
    %>
18
    <logic:present name="UserSession" property="user">
19
        <logic:notEmpty name="UserSession" property="user">
20
            INTRANET - (<bean:write name="UserSession" property="user.name"/> online)
21
        </logic:notEmpty>
22
    </logic:present>
1320 jmachado 23
 
24
    <div id="google_translate_element" class="pull-right"></div>
25
    <script type="text/javascript">
26
        function googleTranslateElementInit() {
27
            new google.translate.TranslateElement({pageLanguage: 'pt', includedLanguages: 'pt,en,es,fr', layout: google.translate.TranslateElement.InlineLayout.SIMPLE}, 'google_translate_element');
28
        }
29
    </script>
30
    <script type="text/javascript" src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
1312 jmachado 31
</logic:present>
32
 
33
<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">
35
 
36
        <!-- Modal content-->
37
        <div class="modal-content">
38
            <div class="modal-header">
39
                <h1 class="modal-title"><bean:message key="data.history.title"/></h1>
40
            </div>
41
            <div class="modal-body">
42
                <div class="panel panel-default">
43
                    <div class="panel-body" id="contentForm">
44
                        <form class="form-horizontal" onsubmit="submitDataVersionForm();return false;">
45
                            <div class="form-group">
46
                                <label class="control-label col-sm-4" for="filesVersionsId"><bean:message key="data.history.form.input"/></label>
47
                                <div class="col-sm-6">
48
                                    <input type="text" id="filesVersionsId" class="form-control"/>
49
                                </div>
50
                            </div>
51
                            <input type="button" class="btn btn-default" onclick="submitDataVersionForm()" value="<bean:message key="submit"/>"/>
52
                            <button type="button" class="btn btn-danger" data-dismiss="modal"><bean:message key="cancel"/></button>
53
                        </form>
54
                    </div>
55
                </div>
56
                <div class="panel panel-default">
57
                    <div class="panel-body" id="contentVersions">
58
 
59
                    </div>
60
                </div>
61
                <button type="button" class="btn btn-danger" data-dismiss="modal"><bean:message key="cancel"/></button>
62
            </div>
63
        </div>
64
 
65
    </div>
66
</div>
1326 jmachado 67
 
68
 
69
 
1387 jmachado 70
 
1326 jmachado 71
<script>
1717 jmachado 72
 
73
    function alertModal(msg)
74
    {
75
        $('#alertModal').find('.InfoMessageToUser').html(msg);
76
        $('#alertModal').modal({
77
            show: 'true'
78
        });
79
    }
80
    function infoModal(msg)
81
    {
82
        $('.dynamicInfoModal').find('.InfoMessageToUser').html(msg);
83
        $('.dynamicInfoModal').modal({
84
            show: 'true'
85
        });
86
    }
87
 
1326 jmachado 88
    $(document).ready(function(){
89
        $('.confirmModal').on('show.bs.modal', function(e) {
90
            $(this).find('.btn-ok').attr('href', $(e.relatedTarget).data('href'));
91
            $(this).find('.ConfirmMessageToUser').html($(e.relatedTarget).data('message'));
92
        });
1332 jmachado 93
 
94
        $('.dynamicInfoModal').on('show.bs.modal', function(e)
95
        {
1717 jmachado 96
            if(e.relatedTarget && e.relatedTarget.data('message'))
97
            {
98
                $(this).find('.InfoMessageToUser').html($(e.relatedTarget).data('message'));
99
            }
1332 jmachado 100
        });
1333 jmachado 101
 
1717 jmachado 102
        $('.alertModal').on('show.bs.modal', function(e)
103
        {
104
            if(e.relatedTarget && e.relatedTarget.data('message'))
105
            {
106
                $(this).find('.InfoMessageToUser').html($(e.relatedTarget).data('message'));
107
            }
108
        });
109
 
1333 jmachado 110
        $('.maximize-button').click(function(e)
111
        {
112
            $($(e.currentTarget).data("target")).toggleClass('fullscreen');
113
        });
114
 
1350 jmachado 115
 
116
 
117
 
118
        $('.confirmModalFunction').on('show.bs.modal', function(e) {
119
            callbackscript = $(e.relatedTarget).data('script');
120
            $(this).find('.btn-ok').unbind('click').click(
121
                    function(){
122
                        eval(callbackscript);
123
                    }
124
            );
125
            $(this).find('.ConfirmMessageToUser').html($(e.relatedTarget).data('message'));
126
        });
127
 
1394 jmachado 128
        $('.confirmModal').on('show.bs.modal', function(e) {
129
            href = $(e.relatedTarget).data('href');
130
            $(this).find('.btn-ok').unbind('click').click(
131
                    function(){
132
                        window.location=href;
133
                    }
134
            );
135
            $(this).find('.ConfirmMessageToUser').html($(e.relatedTarget).data('message'));
136
        });
1350 jmachado 137
 
138
 
139
 
1394 jmachado 140
 
1326 jmachado 141
    });
142
</script>
1333 jmachado 143
<style>
144
    .fullscreen{
145
        z-index: 9999;
146
        width: 100%;
147
        height: 100%;
148
        position: fixed;
149
        top: 0;
150
        left: 0;
151
    }
152
</style>
153
 
1326 jmachado 154
<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">
156
        <div class="modal-content">
157
            <div class="modal-header">
158
                <h4 class="modal-title">Tem a certeza que deseja efectuar a seguinte operação?</h4>
159
            </div>
160
            <div class="modal-body">
161
 
162
                <p class="ConfirmMessageToUser">
163
 
164
                </p>
165
 
166
            </div>
167
            <div class="modal-footer">
168
                <button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button>
1350 jmachado 169
                <button class="btn btn-danger btn-ok">Sim</button>
170
            </div>
171
        </div>
172
    </div>
173
</div>
174
 
175
 
176
<div class="modal fade confirmModalFunction" id="confirm-ModalFunction" tabindex="-1" role="dialog" >
177
    <div class="modal-dialog" data-width="450" style="display: block; width: 450px; margin-top: 50px;" aria-hidden="false">
178
        <div class="modal-content">
179
            <div class="modal-header">
180
                <h4 class="modal-title">Tem a certeza que deseja efectuar a seguinte operação?</h4>
181
            </div>
182
            <div class="modal-body">
183
 
184
                <p class="ConfirmMessageToUser">
185
 
186
                </p>
187
 
188
            </div>
189
            <div class="modal-footer">
190
                <button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button>
1326 jmachado 191
                <a class="btn btn-danger btn-ok">Sim</a>
192
            </div>
193
        </div>
194
    </div>
195
</div>
1327 jmachado 196
 
1332 jmachado 197
<div class="modal fade dynamicInfoModal" id="dynamicInfo-ModalGeneric" tabindex="-1" role="dialog" >
198
    <div class="modal-dialog" data-width="450" style="display: block; width: 450px; margin-top: 50px;" aria-hidden="false">
199
        <div class="modal-content">
200
            <div class="modal-header">
201
                <h4 class="modal-title">Informação</h4>
202
            </div>
203
            <div class="modal-body">
1327 jmachado 204
 
1332 jmachado 205
                <p class="InfoMessageToUser">
206
 
207
                </p>
208
 
209
            </div>
210
            <div class="modal-footer">
211
                <button type="button" class="btn btn-default" data-dismiss="modal">Ok</button>
212
            </div>
213
        </div>
214
    </div>
215
</div>
216
 
1717 jmachado 217
<div class="modal fade alertModal" id="alertModal" tabindex="-1" role="dialog" >
218
    <div class="modal-dialog" data-width="450" style="display: block; width: 450px; margin-top: 50px;" aria-hidden="false">
219
        <div class="modal-content">
220
            <div class="modal-header">
221
                <h4 class="modal-title">Alerta</h4>
222
            </div>
223
            <div class="modal-body">
224
                <div class="alert alert-warning InfoMessageToUser">
1332 jmachado 225
 
1717 jmachado 226
                </div>
227
            </div>
228
            <div class="modal-footer">
229
                <button type="button" class="btn btn-default" data-dismiss="modal">Ok</button>
230
            </div>
231
        </div>
232
    </div>
233
</div>
234
 
235
 
1327 jmachado 236
<script>
237
    $(document).ready(function(){
238
        $('#modalAjaxRequest').on('show.bs.modal', function(e)
239
        {
240
            reloadAjaxRequestModal($(e.relatedTarget));
241
        });
242
    });
243
    function reloadAjaxRequestModal(target)
244
    {
245
        $("#modalAjaxRequest .modal-title .title-wrap").html($(target).data('title'));
1524 jmachado 246
        $("#modalAjaxRequest .contentAjaxRequest").html('Por favor aguarde ... <img src="<%=request.getContextPath()%>/imgs/wait.gif"/>');
1579 jmachado 247
        var ajaxCallbackParameters = {
248
            'callback-target-url': $(target).data('callbackTargetUrl'),
1730 jmachado 249
            'callback-target-function': $(target).data('callbackTargetFunction'),
250
            'callback-target-function-token-parameter': $(target).data('callbackTargetFunctionTokenParameter')
1579 jmachado 251
        };
252
        $.post($(target).data('href'),
253
                ajaxCallbackParameters
254
                , function(data) {
1327 jmachado 255
            $("#modalAjaxRequest .contentAjaxRequest").html(data);
256
            evaluateTableSortersInside("#modalAjaxRequest");
1524 jmachado 257
            invokeChosenSelects();
258
 
1327 jmachado 259
            $('#modalAjaxRequest .reloadAjaxRequestModal').on("click",
260
                    function(e){
261
                        reloadAjaxRequestModal(e.currentTarget);
262
                    }
263
            );
264
        });
265
    }
266
</script>
267
 
268
<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">
270
 
271
        <!-- Modal content-->
272
        <div class="modal-content">
1337 jmachado 273
            <div class="modal-header clearfix">
1327 jmachado 274
                <h3 class="modal-title">
275
                    <label class="title-wrap"></label>
276
                    <button type="button" class="btn btn-danger btn-xs pull-right" data-dismiss="modal"><span class="glyphicon glyphicon-remove small"></span></button>
277
                </h3>
278
            </div>
279
            <div class="modal-body">
280
                <div class="contentAjaxRequest">
281
 
282
                </div>
1332 jmachado 283
                <button type="button" class="btn btn-danger" data-dismiss="modal">Sair</button>
1327 jmachado 284
            </div>
285
        </div>
286
    </div>
1354 jmachado 287
</div>
288
 
289
 
290
<div class="modal fade" id="modalPleaseWait" role="dialog" >
291
    <div class="modal-dialog" data-width="960" style="display: block; width: 960px; margin-top: 50px;" aria-hidden="false">
292
        <!-- Modal content-->
293
        <div class="modal-content">
294
            <div class="modal-header clearfix">
295
                <h3 class="modal-title">
296
                    <label class="title-wrap"></label>
297
                </h3>
298
            </div>
299
            <div class="modal-body">
300
                <div class="panel panel-info">
301
                    <div class="panel-body">
302
                        <p>Por favor aguarde um momento, o sistema está a carregar <img src="<%=request.getContextPath()%>/imgs/wait.gif"/></p>
303
                    </div>
304
                </div>
305
            </div>
306
        </div>
307
    </div>
308
</div>
1576 jmachado 309
 
310
 
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);
1670 jmachado 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
    })();
1576 jmachado 366
</script>
367
 
368
 
369
<jsp:include page="intranetTools/files-upload-form.jsp"/>
1675 jmachado 370
 
371
<link rel="stylesheet" href="<%=request.getContextPath()%>/js/angularjs/angular-ui-tree/angular-ui-tree.min.css">
1686 jmachado 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
        {
1728 jmachado 386
            var webMessages= "";
387
            $(".web-messages-errors-baco").each( function()
388
            {
389
                webMessages += $(this).html();
390
            });
391
            $('#errorsBacoModal .content-errors').html(webMessages);
1688 jmachado 392
            $('.modal').modal("hide");
1686 jmachado 393
            $('#errorsBacoModal').modal({
394
                show: 'true'
395
            });
396
        }
397
    });
1728 jmachado 398
   /* function modalWebMessages(title)
1686 jmachado 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( "");
1688 jmachado 405
            $('.modal').modal("hide");
1686 jmachado 406
            $('#modalWebMessages').modal({
407
                show: 'true'
408
            });
409
        }
1728 jmachado 410
    }*/
1686 jmachado 411
    function modalWebMessages(title,aditionalHtml)
412
    {
413
        if($(".web-messages").length)
414
        {
415
            $("#modalWebMessages .modal-title").html(title);
1728 jmachado 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);
1688 jmachado 425
            $('.modal').modal("hide");
1686 jmachado 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);
1728 jmachado 436
            var webMessages= "";
437
            $(refContainer + " .web-messages").each( function()
438
            {
439
                webMessages += $(this).html();
440
            });
441
            $('#modalWebMessages .content-web-messages').html(webMessages);
1686 jmachado 442
            $('#modalWebMessages .content-aditional').html( "");
1688 jmachado 443
            $('.modal').modal("hide");
1686 jmachado 444
            $('#modalWebMessages').modal({
445
                show: 'true'
446
            });
447
        }
448
    }
1688 jmachado 449
    function modalWebMessagesGivenContainerAndTarget(title,refContainer,targetOkUrl)
1686 jmachado 450
    {
451
        if($(refContainer + " .web-messages").length)
452
        {
453
            $("#modalWebMessages .modal-title").html(title);
1728 jmachado 454
            var webMessages= "";
455
            $(refContainer + " .web-messages").each( function()
456
            {
457
                webMessages += $(this).html();
458
            });
459
            $('#modalWebMessages .content-web-messages').html(webMessages);
1686 jmachado 460
            $('#modalWebMessages .content-aditional').html( "");
1688 jmachado 461
            $('.modal').modal("hide");
1686 jmachado 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
 
524
<jsp:include page="/auth/loginWidget.jsp"/>