Subversion Repositories bacoAlunos

Rev

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

Rev Author Line No. Line
1670 jmachado 1
<%@ page import="jomm.dao.impl.AbstractDao" %>
2
<%@ page import="pt.estgp.estgweb.domain.RepositoryDocumentCollection" %>
3
<%@ page import="pt.estgp.estgweb.domain.RepositoryDocumentCollectionImpl" %>
4
<%@ page import="pt.estgp.estgweb.domain.RepositoryDocumentImpl" %>
5
<%@ page import="pt.estgp.estgweb.domain.dao.DaoFactory" %>
6
<%@ page import="java.util.List" %>
7
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
8
<%@ taglib prefix="bacoTags" tagdir="/WEB-INF/tags" %>
9
<%@ taglib prefix="logic" uri="/WEB-INF/tlds/struts-logic.tld" %>
1683 jmachado 10
<%@ taglib prefix="html" uri="/WEB-INF/tlds/struts-html.tld" %>
11
<%@ taglib prefix="bean" uri="/WEB-INF/tlds/struts-bean.tld" %>
1670 jmachado 12
 
13
<div class="container-fluid">
14
 
15
    <%
16
 
17
        AbstractDao.getCurrentSession().beginTransaction();
18
        List<RepositoryDocumentCollection> collections = DaoFactory.getRepositoryDocumentCollectionDaoImpl().findAll();
19
 
20
        String documentRepositoryId = request.getParameter("repositoryDocumentId");
1714 jmachado 21
        String repositoryCollectionId = request.getParameter("repositoryCollectionId");
1670 jmachado 22
        if(documentRepositoryId != null)
23
        {
24
            RepositoryDocumentImpl repoEdited = (RepositoryDocumentImpl) DaoFactory.getRepositoryDocumentDaoImpl().get(Long.parseLong(documentRepositoryId));
25
            String docJson = repoEdited.toJson();
26
            request.setAttribute("docJson",docJson);
27
        }
1714 jmachado 28
        else if(repositoryCollectionId != null)
29
        {
30
            request.setAttribute("repositoryCollectionId",repositoryCollectionId);
31
        }
1670 jmachado 32
 
33
        String collectionsJson = RepositoryDocumentCollectionImpl.toJson(collections);
34
 
35
        request.setAttribute("collectionsJson",collectionsJson);
36
 
37
    %>
38
 
39
    <script>
40
        var repoModule = angular.module('repoModule', []);
41
        GLOBAL_BacoAngularAppDependencies.push('repoModule');
42
 
43
 
44
        repoModule.controller('repoModuleController', function($scope) {
45
            $scope.collections = ${collectionsJson};
46
            <logic:empty name="docJson">
47
            $scope.doc = {
48
                "visible" : true
1714 jmachado 49
                <logic:notEmpty name="repositoryCollectionId">
50
                ,
51
                "collection" : { "id" : ${repositoryCollectionId} }
52
                </logic:notEmpty>
1670 jmachado 53
            };
54
            </logic:empty>
55
            <logic:notEmpty name="docJson">
56
            $scope.doc = ${docJson}
57
            </logic:notEmpty>
58
            $scope.setCloseDate = function (datePickerId) {
59
 
60
                $("#"+datePickerId).datetimepicker().on("dp.change", function (data) {
61
 
62
                    //alert($("#"+datePicker).find("input").val());
63
                    $scope.doc.closeDateStr = $("#"+datePickerId).find("input").val();
64
                    $scope.$apply();
65
 
66
                });
67
            }
68
            $scope.setPublishDate = function (datePickerId) {
69
 
70
                $("#"+datePickerId).datetimepicker().on("dp.change", function (data) {
71
 
72
                    //alert($("#"+datePicker).find("input").val());
73
                    $scope.doc.publishDateStr = $("#"+datePickerId).find("input").val();
74
                    $scope.$apply();
75
 
76
                });
77
            }
78
            $scope.newAuthor = function()
79
            {
80
                if(!$scope.doc.authorsJson)
81
                {
82
                    $scope.doc.authorsJson = {};
83
                }
84
                if(!$scope.doc.authorsJson.persons)
85
                {
86
                    $scope.doc.authorsJson.persons = [];
87
                }
88
                $scope.doc.authorsJson.persons.push({});
89
            }
90
            $scope.newContributor = function()
91
            {
92
                if(!$scope.doc.contributorsJson)
93
                {
94
                    $scope.doc.contributorsJson = {};
95
                }
96
                if(!$scope.doc.contributorsJson.persons)
97
                {
98
                    $scope.doc.contributorsJson.persons = [];
99
                }
100
                $scope.doc.contributorsJson.persons.push({});
101
            }
102
            $scope.submitForm = function()
103
            {
1717 jmachado 104
                if(!($scope.doc.collection && $scope.doc.collection.id))
1675 jmachado 105
                {
1717 jmachado 106
                    alertModal("Necessita de preencher uma colecção para continuar");
107
                }
108
                else if(!($scope.doc.title && $scope.doc.title.length>0))
109
                {
110
                    alertModal("Necessita de preencher o título para continuar");
111
                }
112
                else{
113
                    widgetCallWithActionParameters(
114
                            "<%=request.getContextPath()%>/user/repositoryDoc.do",
115
                            "saveRepositoryDocument",
116
                            {
117
                                "doc" : JSON.stringify($scope.doc),
118
                                "uploadedFiles" : JSON.stringify($scope.jsonFiles)
119
                            },
120
                            "#repoModule",
121
                    function(json)
122
                    {
123
                        $scope.doc = json;
124
                        $scope.jsonFiles = {"service":"ok","uploadedFiles": [] };
125
                        $scope.$apply();
1670 jmachado 126
 
1717 jmachado 127
                        $("#savedOpenNew").show();
128
                        $("#docEditPanel").hide();
129
                    });
130
                }
1670 jmachado 131
            }
1675 jmachado 132
            $scope.backEdit = function()
133
            {
134
                $("#savedOpenNew").hide();
135
                $("#docEditPanel").show();
136
            }
1670 jmachado 137
 
138
 
139
            //<!--Seccao de uploadedFiles-->
140
            //EVENTO DE CHANGE PARA PUXAR DADOS PARA O MODELO
141
            $scope.jsonFiles = {"service":"ok","uploadedFiles": [] };
142
            $(document).ready(function(){
143
                $("#UPLOADED_FILES_RESULT").change(function()
144
                {
145
                    var uploadedIncomingJson = JSON.parse($("#UPLOADED_FILES_RESULT").val());
146
                    for(var i in uploadedIncomingJson.uploadedFiles)
147
                    {
148
                        var file = uploadedIncomingJson.uploadedFiles[i];
1675 jmachado 149
                        file.visible = true;
150
                        file.accessControl = "resource.access.publicDomain";
1670 jmachado 151
                        angular.element($("#repoModule")).scope().jsonFiles.uploadedFiles.push(file);
152
                    }
153
                    angular.element($("#repoModule")).scope().$apply();
154
                });
1675 jmachado 155
 
156
                $("#DOCUMENT_FILES_RESULT").change(function()
157
                {
158
                    var uploadedIncomingJson = JSON.parse($("#DOCUMENT_FILES_RESULT").val());
159
 
160
                    var file = uploadedIncomingJson.uploadedFiles[0];
161
                    file.id = uploadedIncomingJson.token;
162
 
163
 
164
                    //Find document remove it from documents List add to uploadFiles
165
                    var doc = angular.element($("#repoModule")).scope().doc;
166
                    for(var i in doc.repositoryDocumentFiles)
167
                    {
168
                        if(doc.repositoryDocumentFiles[i].id == file.id)
169
                        {
170
                            var repoDoc = doc.repositoryDocumentFiles[i];
171
                            doc.repositoryDocumentFiles.splice(i,1);
172
                            file.title = repoDoc.title;
173
                            file.visible = repoDoc.visible;
174
                            file.description = repoDoc.description;
175
                            file.accessControl = repoDoc.repositoryFileProxy.repositoryFile.accessControl;
176
                            file.repositoryStream = repoDoc.repositoryFileProxy.repositoryStream;
177
                            break;
178
                        }
179
 
180
                    }
181
 
182
                    angular.element($("#repoModule")).scope().jsonFiles.uploadedFiles.push(file);
183
                    angular.element($("#repoModule")).scope().$apply();
184
                });
1670 jmachado 185
            });
186
            $scope.removeFileFromModel = function($index)
187
            {
188
                $scope.jsonFiles.uploadedFiles.splice($index,1);
189
            }
1675 jmachado 190
            $scope.setDocumentFileInvisible = function(docFile)
191
            {
192
                docFile.visible=false;
193
                docFile.repositoryFileProxy.repositoryFile.accessControl ="resource.access.privateDomain";
194
            }
195
            $scope.setDocumentFileVisible = function(docFile)
196
            {
197
                docFile.visible=true;
198
                alert("As permissões do ficheiro estão definidas como privadas, por favor escolha as permissões novas.");
199
                docFile.repositoryFileProxy.repositoryFile.accessControl ="resource.access.privateDomain";
200
            }
201
 
1670 jmachado 202
            //<!--Seccao de uploadedFiles-->
203
        });
204
    </script>
205
 
206
 
207
    <div id="repoModule"
208
         ng-app="repoModule"
209
         ng-controller="repoModuleController"
210
         class="form-horizontal">
211
 
1675 jmachado 212
 
213
        <div id="savedOpenNew" class="panel panel-default" style="display: none">
214
            <div class="panel-body">
215
                <div class="web-messages"></div>
216
                <hr/>
217
                <div class="row">
218
                    <div class="col-md-4">
219
                        <button class="btn btn-default btn-lg btn-block btn-huge" ng-click="backEdit()"><span class="glyphicon glyphicon-chevron-left"></span> Voltar à edição</button>
220
                    </div>
221
                    <div class="col-md-4">
1683 jmachado 222
                        <html:link styleClass="btn btn-success btn-lg btn-block btn-huge" action="/user/repositoryEditDocument">Adicionar outro documento <span class="glyphicon glyphicon-chevron-right"></span></html:link>
1675 jmachado 223
                    </div>
224
                </div>
225
                <hr/>
226
                <div class="row">
227
                    <div class="col-md-4">
1683 jmachado 228
                        <html:link styleClass="btn btn-danger btn-lg btn-block btn-huge" action="/user/homePae">Sair</html:link>
1675 jmachado 229
                    </div>
230
                </div>
231
 
232
            </div>
233
        </div>
234
        <div id="docEditPanel" class="panel panel-default">
1670 jmachado 235
            <div class="panel-heading">
236
                Criar um novo documento digital
237
            </div>
238
            <div class="panel-body">
1675 jmachado 239
                <div class="web-messages"></div>
240
                <hr/>
1670 jmachado 241
                <input class="form-control" type="hidden" ng-model="doc.id">
242
 
243
                <div class="form-group">
244
                    <label class="col-md-2 control-label">Visivel</label>
245
                    <div class="col-md-2">
1714 jmachado 246
                        <select ng-class="{'bg-red': doc.visible == false, 'bg-green': doc.visible == true}" class="form-control chosenOff" type="text" ng-model="doc.visible" ng-options="o.v as o.n for o in [{ n: 'Visivel', v: true }, { n: 'Invisivel', v: false }]">>
1670 jmachado 247
 
248
                        </select>
249
                    </div>
250
                </div>
251
                <div class="form-group">
252
                    <label class="col-md-2 control-label">ID Interno</label>
253
                    <div class="col-md-10">
254
                        <input class="form-control" type="text" ng-model="doc.internalIdentifier">
255
                    </div>
256
                </div>
257
 
258
                <div class="form-group">
259
                    <label class="col-md-2 control-label">Coleção</label>
260
                    <div class="col-md-10">
1675 jmachado 261
                        <select ng-model="doc.collection.id" class="form-control chosenOff" ng-options="c.id as c.pathName for c in collections"></select>
1670 jmachado 262
                    </div>
263
                </div>
264
 
265
                <div class="form-group">
266
                    <label class="control-label col-sm-2" for="pubdate">Data de Publicação</label>
267
                    <div class="col-sm-2">
268
                        <div class='input-group date datetimepicker' id="publishDatePicker" ng-click="setPublishDate('publishDatePicker')">
269
                            <input ng-model="doc.publishDateStr" type="text" id="pubdate" class="form-control"/>
270
                            <span class="input-group-addon">
271
                                <span class="glyphicon glyphicon-calendar"></span>
272
                            </span>
273
                        </div>
274
                    </div>
275
                    <div class="col-sm-2">
276
                        <button  type="button" class="btn btn-danger" onclick="$('#pubdate').val('')"><span class="glyphicon glyphicon-remove"></span></button>
277
                    </div>
278
                </div>
279
 
280
                <div class="form-group">
281
                    <label class="control-label col-sm-2" for="closedate">Data de Fim (se aplicável)</label>
282
                    <div class="col-md-2">
283
                        <div class='input-group date datetimepicker' id="closeDatePicker" ng-click="setCloseDate('closeDatePicker')">
284
                            <input type="text" ng-model="doc.closeDateStr" class="form-control" id="closedate"/>
285
                            <span class="input-group-addon">
286
                                <span class="glyphicon glyphicon-calendar"></span>
287
                            </span>
288
                        </div>
289
                    </div>
290
                    <div class="col-sm-2">
291
                        <button  type="button" class="btn btn-danger" onclick="$('#closedate').val('')"><span class="glyphicon glyphicon-remove"></span></button>
292
                    </div>
293
                </div>
294
 
295
                <div class="form-group">
296
                    <label class="col-md-2 control-label">Título</label>
297
                    <div class="col-md-10">
298
                        <input class="form-control" type="text" ng-model="doc.title">
299
                    </div>
300
                </div>
301
 
302
                <div class="form-group">
303
                    <label class="col-md-2 control-label">SubTitulo</label>
304
                    <div class="col-md-10">
305
                        <input class="form-control" type="text" ng-model="doc.subtitle">
306
                    </div>
307
                </div>
308
 
309
                <div class="form-group">
310
                    <label class="col-md-2 control-label">Descrição</label>
311
                    <div class="col-md-10">
312
                        <textarea rows="6" class="form-control" ng-model="doc.description">
313
 
314
                        </textarea>
315
                    </div>
316
                </div>
317
 
318
 
319
 
320
                <div class="form-group">
321
                    <label class="col-md-2 control-label">Entidade Publicadora</label>
322
                    <div class="col-md-10">
323
                        <input type="text" class="form-control" ng-model="doc.publisher">
324
                    </div>
325
                </div>
326
 
327
                <h2 class="well well-sm clearfix">
328
                    Autores
329
                    <button class="btn btn-success pull-right" ng-click="newAuthor()"><span class="glyphicon glyphicon-plus"/></button>
330
                </h2>
331
 
332
                <div class="panel-body" ng-repeat="a in doc.authorsJson.persons">
333
                    <div class="form-group">
334
                        <label class="col-md-2 control-label">Apelido</label>
335
                        <div class="col-md-10">
336
                            <input class="form-control" type="text" ng-model="a.lastName">
337
                        </div>
338
                    </div>
339
                    <div class="form-group">
340
                        <label class="col-md-2 control-label">Primeiros Nomes</label>
341
                        <div class="col-md-10">
342
                            <input class="form-control" type="text" ng-model="a.firstNames">
343
                        </div>
344
                    </div>
345
                </div>
346
 
347
 
348
                <h2 class="well well-sm clearfix">
349
                    Colaboradores
350
                    <button class="btn btn-success pull-right" ng-click="newContributor()"><span class="glyphicon glyphicon-plus"/></button>
351
                </h2>
352
 
353
                <div class="panel-body" ng-repeat="a in doc.contributorsJson.persons">
354
                    <div class="form-group">
355
                        <label class="col-md-2 control-label">Apelido</label>
356
                        <div class="col-md-10">
357
                            <input class="form-control" type="text" ng-model="a.lastName">
358
                        </div>
359
                    </div>
360
                    <div class="form-group">
361
                        <label class="col-md-2 control-label">Primeiros Nomes</label>
362
                        <div class="col-md-10">
363
                            <input class="form-control" type="text" ng-model="a.firstNames">
364
                        </div>
365
                    </div>
366
                </div>
367
 
368
                <!--Seccao de DocumentFiles-->
369
 
1675 jmachado 370
 
1670 jmachado 371
                <div class="panel panel-default" ng-show="doc.repositoryDocumentFiles.length > 0">
372
                    <div class="panel-heading">Ficheiros Já Anexados</div>
373
                    <div class="panel-body">
374
 
375
 
376
 
1675 jmachado 377
                        <input type="hidden" id="DOCUMENT_FILES_RESULT" value=""/>
1670 jmachado 378
 
379
 
380
 
1675 jmachado 381
 
382
                            <div>
383
                                <div class="list-group clearfix" ng-repeat="f in doc.repositoryDocumentFiles"  ng-class="{'bacoInvisible': f.visible == false}">
1670 jmachado 384
                                    <div class="list-group-item clearfix">
1675 jmachado 385
                                        <div class="col-md-10" >
386
                                            <label ng-show="f.visible == false">
387
                                                <span class="glyphicon glyphicon-ban-circle"/>
388
                                            </label>
389
                                            <img src="<%=request.getContextPath()%>/imgs/mime/{{ f.repositoryFileProxy.repositoryFile.lastVersion.extension }}.gif"/> - {{ f.repositoryFileProxy.repositoryFile.lastVersion.name }} {{ (f.repositoryFileProxy.repositoryFile.lastVersion.size / 1024)| number:0 }}KB
390
 
391
 
1670 jmachado 392
                                        </div>
1675 jmachado 393
 
394
                                        <bacoTags:repositoryFile staticTag="true" transactional="true" repositoryStream="{{f.repositoryFileProxy.repositoryStream}}"/>
395
 
396
                                        <button data-toggle="tooltip" title="Ocultar ficheiro" ng-show="f.visible == true" class="btn btn-danger pull-right" type="button" ng-click="setDocumentFileInvisible(f)"><span class="glyphicon glyphicon-ban-circle"/></button>
397
                                        <button data-toggle="tooltip" title="Repor ficheiro" ng-show="f.visible == false" class="btn btn-default pull-right" type="button" ng-click="setDocumentFileVisible(f)"><span class="glyphicon glyphicon-ok-circle"/></button>
398
 
1711 jmachado 399
                                        <a  ng-disabled="f.visible == false" title="Substituir ficheiro" class="btn btn-default pull-right" href="#" style="margin-right: 20px"
1675 jmachado 400
                                           data-title="Alteração do Ficheiro {{f.repositoryFileProxy.repositoryFile.lastVersion.name}}"
401
                                           data-toggle="modal"
402
                                           data-target="#filesUploadModal"
403
                                           data-multiple="false"
404
                                           data-token="{{f.id}}"
405
                                           data-showmetafields="false"
406
                                           data-jsontargetid="#DOCUMENT_FILES_RESULT">
407
                                            <span class="glyphicon glyphicon-pencil"/>
408
                                        </a>
409
 
410
                                    </div>
411
                                    <div class="list-group-item clearfix">
412
                                        <div class=" col-md-2 control-label">Controlo de Acesso:</div>
413
                                        <div class="col-md-6 control-label">
414
                                            <select ng-disabled="f.visible == false" class="form-control chosenOff" type="text" ng-model="f.repositoryFileProxy.repositoryFile.accessControl" ng-options="o.v as o.n for o in [{ n: 'Publico', v: 'resource.access.publicDomain' }, { n: 'Privado', v: 'resource.access.privateDomain' }, { n: 'Interno', v: 'resource.access.authenticatedDomain' }]">>
415
 
416
                                            </select>
1670 jmachado 417
                                        </div>
418
                                    </div>
419
                                    <div class="list-group-item clearfix">
1675 jmachado 420
                                        <div class=" col-md-2 control-label">Visivel:</div>
421
                                        <div class="col-md-6 control-label">
422
                                            <select ng-disabled="f.visible == false" class="form-control chosenOff" type="text" ng-model="f.visible" ng-options="o.v as o.n for o in [{ n: 'Sim', v: true }, { n: 'Não', v: false }]">>
423
 
424
                                            </select>
425
                                        </div>
426
                                    </div>
427
                                    <div class="list-group-item clearfix">
1670 jmachado 428
                                        <div class=" col-md-2 control-label">Titulo:</div>
429
                                        <div class="col-md-10 control-label">
1675 jmachado 430
                                            <input ng-disabled="f.visible == false" type="text" class="form-control" ng-model="f.title"/>
1670 jmachado 431
                                        </div>
432
                                    </div>
433
                                    <div class="list-group-item clearfix">
434
                                        <div class="col-md-2 control-label">Descrição:</div>
435
                                        <div class="col-md-10 control-label">
1675 jmachado 436
                                            <textarea ng-disabled="f.visible == false" rows="3" class="form-control" ng-model="f.description"></textarea>
1670 jmachado 437
                                        </div>
438
                                    </div>
439
                                </div>
440
                            </div>
441
                        </div>
442
 
443
                </div>
444
                <!--Seccao de DocumentFiles-->
445
 
446
 
447
 
448
                <!--Seccao de uploadedFiles-->
449
                <div class="panel panel-info">
450
                    <div class="panel-heading">Carregar Ficheiros Novos</div>
451
                    <div class="panel-body">
452
 
453
 
454
 
455
                        <input type="hidden" id="UPLOADED_FILES_RESULT" value=""/>
456
                        <a class="btn btn-default" href="#"
1675 jmachado 457
                           data-title="Importação de Ficheiros"
1670 jmachado 458
                           data-toggle="modal"
459
                           data-target="#filesUploadModal"
1675 jmachado 460
                           data-multiple="true"
1670 jmachado 461
                           data-jsontargetid="#UPLOADED_FILES_RESULT">
462
                            Carregar Ficheiros <span class="glyphicon glyphicon-upload"/>
463
                        </a>
464
 
1675 jmachado 465
 
1670 jmachado 466
                        <div ng-show="jsonFiles.uploadedFiles.length > 0">
467
                            <h2>Ficheiros Carregados Provisórios</h2>
1675 jmachado 468
                            <div>
469
                                <div class="list-group clearfix" ng-repeat="f in jsonFiles.uploadedFiles" >
1670 jmachado 470
                                    <div class="list-group-item clearfix">
1675 jmachado 471
                                        <div class="col-md-10" ng-class="{'alert-warning': f.id}">
1670 jmachado 472
                                            <img src="<%=request.getContextPath()%>/imgs/mime/{{ f.extension }}.gif"/> - {{ f.fileName }} {{ (f.fileSize / 1024)| number:0 }}KB
473
                                        </div>
474
                                        <div class="col-md-2">
475
                                            <button class="btn btn-danger" type="button" ng-click="removeFileFromModel($index)"><span class="glyphicon glyphicon-remove"/></button>
476
                                        </div>
477
                                    </div>
478
                                    <div class="list-group-item clearfix">
1675 jmachado 479
                                        <div class=" col-md-2 control-label">Controlo de Acesso:</div>
480
                                        <div class="col-md-6 control-label">
481
                                            <select class="form-control chosenOff" type="text" ng-model="f.accessControl" ng-options="o.v as o.n for o in [{ n: 'Publico', v: 'resource.access.publicDomain' }, { n: 'Privado', v: 'resource.access.privateDomain' }, { n: 'Interno', v: 'resource.access.authenticatedDomain' }]">>
482
 
483
                                            </select>
484
                                        </div>
485
                                    </div>
486
                                    <div class="list-group-item clearfix">
487
                                        <div class=" col-md-2 control-label">Visivel:</div>
488
                                        <div class="col-md-6 control-label">
489
                                            <select class="form-control chosenOff" type="text" ng-model="f.visible" ng-options="o.v as o.n for o in [{ n: 'Sim', v: true }, { n: 'Não', v: false }]">>
490
 
491
                                            </select>
492
                                        </div>
493
                                    </div>
494
                                    <div class="list-group-item clearfix">
1670 jmachado 495
                                        <div class=" col-md-2 control-label">Titulo:</div>
496
                                        <div class="col-md-10 control-label">
497
                                            <input type="text" class="form-control" ng-model="f.title"/>
498
                                        </div>
499
                                    </div>
500
                                    <div class="list-group-item clearfix">
501
                                        <div class="col-md-2 control-label">Descrição:</div>
502
                                        <div class="col-md-10 control-label">
503
                                            <textarea rows="3" class="form-control" ng-model="f.description"></textarea>
504
                                        </div>
505
                                    </div>
506
                                </div>
507
                            </div>
508
                        </div>
509
                    </div>
510
                </div>
511
                <!--Seccao de uploadedFiles-->
512
 
513
 
1675 jmachado 514
                <div class="row">
515
                    <div class="col-md-6"><button class="btn btn-success" ng-click="submitForm()">Salvar</button></div>
516
                    <div class="col-md-6"><a class="btn btn-danger" href="<%=request.getContextPath()%>/user/homePae.do">Cancelar</a></div>
517
                </div>
1670 jmachado 518
 
519
 
1675 jmachado 520
 
521
 
1670 jmachado 522
            </div>
523
        </div>
1675 jmachado 524
        <%--
1670 jmachado 525
        <pre>
526
            {{doc | json}}
527
        </pre>
1675 jmachado 528
        <pre>
529
            {{jsonFiles | json}}
530
 
531
        </pre>--%>
1670 jmachado 532
    </div>
533
 
534
    <%
535
        AbstractDao.getCurrentSession().getTransaction().commit();
536
    %>
1683 jmachado 537
</div>