Subversion Repositories bacoAlunos

Rev

Rev 1717 | Rev 1726 | 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};
1719 jmachado 46
            $scope.dups = [];
1670 jmachado 47
            <logic:empty name="docJson">
48
            $scope.doc = {
49
                "visible" : true
1714 jmachado 50
                <logic:notEmpty name="repositoryCollectionId">
51
                ,
52
                "collection" : { "id" : ${repositoryCollectionId} }
53
                </logic:notEmpty>
1670 jmachado 54
            };
55
            </logic:empty>
56
            <logic:notEmpty name="docJson">
57
            $scope.doc = ${docJson}
58
            </logic:notEmpty>
59
            $scope.setCloseDate = function (datePickerId) {
60
 
61
                $("#"+datePickerId).datetimepicker().on("dp.change", function (data) {
62
 
63
                    //alert($("#"+datePicker).find("input").val());
64
                    $scope.doc.closeDateStr = $("#"+datePickerId).find("input").val();
65
                    $scope.$apply();
66
 
67
                });
68
            }
69
            $scope.setPublishDate = function (datePickerId) {
70
 
71
                $("#"+datePickerId).datetimepicker().on("dp.change", function (data) {
72
 
73
                    //alert($("#"+datePicker).find("input").val());
74
                    $scope.doc.publishDateStr = $("#"+datePickerId).find("input").val();
75
                    $scope.$apply();
76
 
77
                });
78
            }
79
            $scope.newAuthor = function()
80
            {
81
                if(!$scope.doc.authorsJson)
82
                {
83
                    $scope.doc.authorsJson = {};
84
                }
85
                if(!$scope.doc.authorsJson.persons)
86
                {
87
                    $scope.doc.authorsJson.persons = [];
88
                }
89
                $scope.doc.authorsJson.persons.push({});
90
            }
91
            $scope.newContributor = function()
92
            {
93
                if(!$scope.doc.contributorsJson)
94
                {
95
                    $scope.doc.contributorsJson = {};
96
                }
97
                if(!$scope.doc.contributorsJson.persons)
98
                {
99
                    $scope.doc.contributorsJson.persons = [];
100
                }
101
                $scope.doc.contributorsJson.persons.push({});
102
            }
103
            $scope.submitForm = function()
104
            {
1717 jmachado 105
                if(!($scope.doc.collection && $scope.doc.collection.id))
1675 jmachado 106
                {
1717 jmachado 107
                    alertModal("Necessita de preencher uma colecção para continuar");
108
                }
109
                else if(!($scope.doc.title && $scope.doc.title.length>0))
110
                {
111
                    alertModal("Necessita de preencher o título para continuar");
112
                }
113
                else{
1719 jmachado 114
                    if($scope.doc.id && $scope.doc.id > 0)
115
                    {
116
                        $scope.submitNoCheck();
117
                    }
118
                    else
119
                        widgetCallWithActionParameters(
1717 jmachado 120
                            "<%=request.getContextPath()%>/user/repositoryDoc.do",
1719 jmachado 121
                            "checkRepositoryDocumentExistence",
1717 jmachado 122
                            {
1719 jmachado 123
                                "doc" : JSON.stringify($scope.doc)
1717 jmachado 124
                            },
125
                            "#repoModule",
1719 jmachado 126
                            function(json)
127
                            {
128
                                if(json.found.length > 0)
129
                                {
130
                                   $scope.dups = json.found;
131
                                    $scope.$apply();
132
                                   $("#alertDocExist").modal(
133
                                           {
134
                                               "show" : true
135
                                           }
136
                                   );
137
                                }
138
                                else
139
                                {
140
                                   $scope.submitNoCheck();
141
                                }
142
                            });
1717 jmachado 143
                }
1670 jmachado 144
            }
1719 jmachado 145
            $scope.submitNoCheck = function()
146
            {
147
                widgetCallWithActionParameters(
148
                        "<%=request.getContextPath()%>/user/repositoryDoc.do",
149
                        "saveRepositoryDocument",
150
                        {
151
                            "doc" : JSON.stringify($scope.doc),
152
                            "uploadedFiles" : JSON.stringify($scope.jsonFiles)
153
                        },
154
                        "#repoModule",
155
                        function(json)
156
                        {
157
                            $scope.doc = json;
158
                            $scope.jsonFiles = {"service":"ok","uploadedFiles": [] };
159
                            $scope.$apply();
160
 
161
                            $("#savedOpenNew").show();
162
                            $("#docEditPanel").hide();
163
                        },
164
                        function(json)
165
                        {
166
                            alert(JSON.stringify(json));
167
                        }
168
                );
169
            }
1675 jmachado 170
            $scope.backEdit = function()
171
            {
172
                $("#savedOpenNew").hide();
173
                $("#docEditPanel").show();
174
            }
1670 jmachado 175
 
176
 
177
            //<!--Seccao de uploadedFiles-->
178
            //EVENTO DE CHANGE PARA PUXAR DADOS PARA O MODELO
179
            $scope.jsonFiles = {"service":"ok","uploadedFiles": [] };
180
            $(document).ready(function(){
181
                $("#UPLOADED_FILES_RESULT").change(function()
182
                {
183
                    var uploadedIncomingJson = JSON.parse($("#UPLOADED_FILES_RESULT").val());
184
                    for(var i in uploadedIncomingJson.uploadedFiles)
185
                    {
186
                        var file = uploadedIncomingJson.uploadedFiles[i];
1675 jmachado 187
                        file.visible = true;
188
                        file.accessControl = "resource.access.publicDomain";
1670 jmachado 189
                        angular.element($("#repoModule")).scope().jsonFiles.uploadedFiles.push(file);
190
                    }
191
                    angular.element($("#repoModule")).scope().$apply();
192
                });
1675 jmachado 193
 
194
                $("#DOCUMENT_FILES_RESULT").change(function()
195
                {
196
                    var uploadedIncomingJson = JSON.parse($("#DOCUMENT_FILES_RESULT").val());
197
 
198
                    var file = uploadedIncomingJson.uploadedFiles[0];
199
                    file.id = uploadedIncomingJson.token;
200
 
201
 
202
                    //Find document remove it from documents List add to uploadFiles
203
                    var doc = angular.element($("#repoModule")).scope().doc;
204
                    for(var i in doc.repositoryDocumentFiles)
205
                    {
206
                        if(doc.repositoryDocumentFiles[i].id == file.id)
207
                        {
208
                            var repoDoc = doc.repositoryDocumentFiles[i];
209
                            doc.repositoryDocumentFiles.splice(i,1);
210
                            file.title = repoDoc.title;
211
                            file.visible = repoDoc.visible;
212
                            file.description = repoDoc.description;
213
                            file.accessControl = repoDoc.repositoryFileProxy.repositoryFile.accessControl;
214
                            file.repositoryStream = repoDoc.repositoryFileProxy.repositoryStream;
215
                            break;
216
                        }
217
 
218
                    }
219
 
220
                    angular.element($("#repoModule")).scope().jsonFiles.uploadedFiles.push(file);
221
                    angular.element($("#repoModule")).scope().$apply();
222
                });
1670 jmachado 223
            });
224
            $scope.removeFileFromModel = function($index)
225
            {
226
                $scope.jsonFiles.uploadedFiles.splice($index,1);
227
            }
1675 jmachado 228
            $scope.setDocumentFileInvisible = function(docFile)
229
            {
230
                docFile.visible=false;
231
                docFile.repositoryFileProxy.repositoryFile.accessControl ="resource.access.privateDomain";
232
            }
233
            $scope.setDocumentFileVisible = function(docFile)
234
            {
235
                docFile.visible=true;
236
                alert("As permissões do ficheiro estão definidas como privadas, por favor escolha as permissões novas.");
237
                docFile.repositoryFileProxy.repositoryFile.accessControl ="resource.access.privateDomain";
238
            }
239
 
1670 jmachado 240
            //<!--Seccao de uploadedFiles-->
241
        });
242
    </script>
243
 
244
 
245
    <div id="repoModule"
246
         ng-app="repoModule"
247
         ng-controller="repoModuleController"
248
         class="form-horizontal">
249
 
1719 jmachado 250
            <div class="modal fade alertModal" id="alertDocExist" tabindex="-1" role="dialog" >
251
                <div class="modal-dialog" data-width="960" style="display: block; width: 960px; margin-top: 50px;" aria-hidden="false">
252
                    <div class="modal-content">
253
                        <div class="modal-header">
254
                            <h4 class="modal-title">Alerta</h4>
255
                        </div>
256
                        <div class="modal-body">
257
                            <div class="alert alert-warning InfoMessageToUser">
258
                                Já existem documentos semelhantes no repositório. Confirme que o documento é mesmo para depositar nesta colecção
259
                            </div>
260
                            <ul>
261
                                <li ng-repeat="dup in dups">
262
                                    <a target="_blank" ng-href="<%=request.getContextPath()%>/user/repositoryEditDocument.do?repositoryDocumentId={{dup.id}}">
263
                                        {{dup.title}} - Colecção: {{dup.collection.pathName}}
264
                                    </a>
265
                                    <ul>
266
                                        <li ng-repeat="f in dup.repositoryDocumentFiles">
267
                                            Ficheiro: {{f.repositoryFileProxy.repositoryFile.lastVersion.name}} - {{f.title}}
268
                                        </li>
269
                                    </ul>
270
                                </li>
271
                            </ul>
272
                        </div>
273
                        <div class="modal-footer">
274
                            <button type="button" class="btn btn-danger" data-dismiss="modal">Cancelar</button>
275
                            <button type="button" class="btn btn-success pull-right" data-dismiss="modal" ng-click="submitNoCheck()">Confirmo que é para depositar à mesma</button>
276
                        </div>
277
                    </div>
278
                </div>
279
            </div>
1675 jmachado 280
 
1719 jmachado 281
 
1675 jmachado 282
        <div id="savedOpenNew" class="panel panel-default" style="display: none">
283
            <div class="panel-body">
284
                <div class="web-messages"></div>
285
                <hr/>
286
                <div class="row">
287
                    <div class="col-md-4">
288
                        <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>
289
                    </div>
290
                    <div class="col-md-4">
1683 jmachado 291
                        <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 292
                    </div>
293
                </div>
294
                <hr/>
295
                <div class="row">
296
                    <div class="col-md-4">
1683 jmachado 297
                        <html:link styleClass="btn btn-danger btn-lg btn-block btn-huge" action="/user/homePae">Sair</html:link>
1675 jmachado 298
                    </div>
299
                </div>
300
 
301
            </div>
302
        </div>
303
        <div id="docEditPanel" class="panel panel-default">
1670 jmachado 304
            <div class="panel-heading">
305
                Criar um novo documento digital
306
            </div>
307
            <div class="panel-body">
1675 jmachado 308
                <div class="web-messages"></div>
309
                <hr/>
1670 jmachado 310
                <input class="form-control" type="hidden" ng-model="doc.id">
311
 
1719 jmachado 312
                <div ng-if="doc.id" class="form-group">
313
                    <label class="col-md-2 control-label">ID BASE DADOS</label>
314
                    <div class="col-md-2">
315
                       {{doc.id}}
316
                    </div>
317
                </div>
318
                <div ng-if="!doc.id" class="form-group">
319
                    <label class="col-md-2 control-label">ID BASE DADOS</label>
320
                    <div class="col-md-2">
321
                        Ainda não atribuido:  Documento Novo
322
                    </div>
323
                </div>
1670 jmachado 324
                <div class="form-group">
325
                    <label class="col-md-2 control-label">Visivel</label>
326
                    <div class="col-md-2">
1714 jmachado 327
                        <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 328
 
329
                        </select>
330
                    </div>
331
                </div>
332
                <div class="form-group">
333
                    <label class="col-md-2 control-label">ID Interno</label>
334
                    <div class="col-md-10">
335
                        <input class="form-control" type="text" ng-model="doc.internalIdentifier">
336
                    </div>
337
                </div>
338
 
339
                <div class="form-group">
340
                    <label class="col-md-2 control-label">Coleção</label>
341
                    <div class="col-md-10">
1675 jmachado 342
                        <select ng-model="doc.collection.id" class="form-control chosenOff" ng-options="c.id as c.pathName for c in collections"></select>
1670 jmachado 343
                    </div>
344
                </div>
345
 
346
                <div class="form-group">
347
                    <label class="control-label col-sm-2" for="pubdate">Data de Publicação</label>
348
                    <div class="col-sm-2">
349
                        <div class='input-group date datetimepicker' id="publishDatePicker" ng-click="setPublishDate('publishDatePicker')">
350
                            <input ng-model="doc.publishDateStr" type="text" id="pubdate" class="form-control"/>
351
                            <span class="input-group-addon">
352
                                <span class="glyphicon glyphicon-calendar"></span>
353
                            </span>
354
                        </div>
355
                    </div>
356
                    <div class="col-sm-2">
357
                        <button  type="button" class="btn btn-danger" onclick="$('#pubdate').val('')"><span class="glyphicon glyphicon-remove"></span></button>
358
                    </div>
359
                </div>
360
 
361
                <div class="form-group">
362
                    <label class="control-label col-sm-2" for="closedate">Data de Fim (se aplicável)</label>
363
                    <div class="col-md-2">
364
                        <div class='input-group date datetimepicker' id="closeDatePicker" ng-click="setCloseDate('closeDatePicker')">
365
                            <input type="text" ng-model="doc.closeDateStr" class="form-control" id="closedate"/>
366
                            <span class="input-group-addon">
367
                                <span class="glyphicon glyphicon-calendar"></span>
368
                            </span>
369
                        </div>
370
                    </div>
371
                    <div class="col-sm-2">
372
                        <button  type="button" class="btn btn-danger" onclick="$('#closedate').val('')"><span class="glyphicon glyphicon-remove"></span></button>
373
                    </div>
374
                </div>
375
 
376
                <div class="form-group">
377
                    <label class="col-md-2 control-label">Título</label>
378
                    <div class="col-md-10">
379
                        <input class="form-control" type="text" ng-model="doc.title">
380
                    </div>
381
                </div>
382
 
383
                <div class="form-group">
384
                    <label class="col-md-2 control-label">SubTitulo</label>
385
                    <div class="col-md-10">
386
                        <input class="form-control" type="text" ng-model="doc.subtitle">
387
                    </div>
388
                </div>
389
 
390
                <div class="form-group">
391
                    <label class="col-md-2 control-label">Descrição</label>
392
                    <div class="col-md-10">
393
                        <textarea rows="6" class="form-control" ng-model="doc.description">
394
 
395
                        </textarea>
396
                    </div>
397
                </div>
398
 
399
 
400
 
401
                <div class="form-group">
402
                    <label class="col-md-2 control-label">Entidade Publicadora</label>
403
                    <div class="col-md-10">
404
                        <input type="text" class="form-control" ng-model="doc.publisher">
405
                    </div>
406
                </div>
407
 
408
                <h2 class="well well-sm clearfix">
409
                    Autores
410
                    <button class="btn btn-success pull-right" ng-click="newAuthor()"><span class="glyphicon glyphicon-plus"/></button>
411
                </h2>
412
 
413
                <div class="panel-body" ng-repeat="a in doc.authorsJson.persons">
414
                    <div class="form-group">
415
                        <label class="col-md-2 control-label">Apelido</label>
416
                        <div class="col-md-10">
417
                            <input class="form-control" type="text" ng-model="a.lastName">
418
                        </div>
419
                    </div>
420
                    <div class="form-group">
421
                        <label class="col-md-2 control-label">Primeiros Nomes</label>
422
                        <div class="col-md-10">
423
                            <input class="form-control" type="text" ng-model="a.firstNames">
424
                        </div>
425
                    </div>
426
                </div>
427
 
428
 
429
                <h2 class="well well-sm clearfix">
430
                    Colaboradores
431
                    <button class="btn btn-success pull-right" ng-click="newContributor()"><span class="glyphicon glyphicon-plus"/></button>
432
                </h2>
433
 
434
                <div class="panel-body" ng-repeat="a in doc.contributorsJson.persons">
435
                    <div class="form-group">
436
                        <label class="col-md-2 control-label">Apelido</label>
437
                        <div class="col-md-10">
438
                            <input class="form-control" type="text" ng-model="a.lastName">
439
                        </div>
440
                    </div>
441
                    <div class="form-group">
442
                        <label class="col-md-2 control-label">Primeiros Nomes</label>
443
                        <div class="col-md-10">
444
                            <input class="form-control" type="text" ng-model="a.firstNames">
445
                        </div>
446
                    </div>
447
                </div>
448
 
449
                <!--Seccao de DocumentFiles-->
450
 
1675 jmachado 451
 
1670 jmachado 452
                <div class="panel panel-default" ng-show="doc.repositoryDocumentFiles.length > 0">
453
                    <div class="panel-heading">Ficheiros Já Anexados</div>
454
                    <div class="panel-body">
455
 
456
 
457
 
1675 jmachado 458
                        <input type="hidden" id="DOCUMENT_FILES_RESULT" value=""/>
1670 jmachado 459
 
460
 
461
 
1675 jmachado 462
 
463
                            <div>
464
                                <div class="list-group clearfix" ng-repeat="f in doc.repositoryDocumentFiles"  ng-class="{'bacoInvisible': f.visible == false}">
1670 jmachado 465
                                    <div class="list-group-item clearfix">
1675 jmachado 466
                                        <div class="col-md-10" >
467
                                            <label ng-show="f.visible == false">
468
                                                <span class="glyphicon glyphicon-ban-circle"/>
469
                                            </label>
470
                                            <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
471
 
472
 
1670 jmachado 473
                                        </div>
1675 jmachado 474
 
475
                                        <bacoTags:repositoryFile staticTag="true" transactional="true" repositoryStream="{{f.repositoryFileProxy.repositoryStream}}"/>
476
 
477
                                        <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>
478
                                        <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>
479
 
1711 jmachado 480
                                        <a  ng-disabled="f.visible == false" title="Substituir ficheiro" class="btn btn-default pull-right" href="#" style="margin-right: 20px"
1675 jmachado 481
                                           data-title="Alteração do Ficheiro {{f.repositoryFileProxy.repositoryFile.lastVersion.name}}"
482
                                           data-toggle="modal"
483
                                           data-target="#filesUploadModal"
484
                                           data-multiple="false"
485
                                           data-token="{{f.id}}"
486
                                           data-showmetafields="false"
487
                                           data-jsontargetid="#DOCUMENT_FILES_RESULT">
488
                                            <span class="glyphicon glyphicon-pencil"/>
489
                                        </a>
490
 
491
                                    </div>
492
                                    <div class="list-group-item clearfix">
493
                                        <div class=" col-md-2 control-label">Controlo de Acesso:</div>
494
                                        <div class="col-md-6 control-label">
495
                                            <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' }]">>
496
 
497
                                            </select>
1670 jmachado 498
                                        </div>
499
                                    </div>
500
                                    <div class="list-group-item clearfix">
1675 jmachado 501
                                        <div class=" col-md-2 control-label">Visivel:</div>
502
                                        <div class="col-md-6 control-label">
503
                                            <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 }]">>
504
 
505
                                            </select>
506
                                        </div>
507
                                    </div>
508
                                    <div class="list-group-item clearfix">
1670 jmachado 509
                                        <div class=" col-md-2 control-label">Titulo:</div>
510
                                        <div class="col-md-10 control-label">
1675 jmachado 511
                                            <input ng-disabled="f.visible == false" type="text" class="form-control" ng-model="f.title"/>
1670 jmachado 512
                                        </div>
513
                                    </div>
514
                                    <div class="list-group-item clearfix">
515
                                        <div class="col-md-2 control-label">Descrição:</div>
516
                                        <div class="col-md-10 control-label">
1675 jmachado 517
                                            <textarea ng-disabled="f.visible == false" rows="3" class="form-control" ng-model="f.description"></textarea>
1670 jmachado 518
                                        </div>
519
                                    </div>
520
                                </div>
521
                            </div>
522
                        </div>
523
 
524
                </div>
525
                <!--Seccao de DocumentFiles-->
526
 
527
 
528
 
529
                <!--Seccao de uploadedFiles-->
530
                <div class="panel panel-info">
531
                    <div class="panel-heading">Carregar Ficheiros Novos</div>
532
                    <div class="panel-body">
533
 
534
 
535
 
536
                        <input type="hidden" id="UPLOADED_FILES_RESULT" value=""/>
537
                        <a class="btn btn-default" href="#"
1675 jmachado 538
                           data-title="Importação de Ficheiros"
1670 jmachado 539
                           data-toggle="modal"
540
                           data-target="#filesUploadModal"
1675 jmachado 541
                           data-multiple="true"
1670 jmachado 542
                           data-jsontargetid="#UPLOADED_FILES_RESULT">
543
                            Carregar Ficheiros <span class="glyphicon glyphicon-upload"/>
544
                        </a>
545
 
1675 jmachado 546
 
1670 jmachado 547
                        <div ng-show="jsonFiles.uploadedFiles.length > 0">
548
                            <h2>Ficheiros Carregados Provisórios</h2>
1675 jmachado 549
                            <div>
550
                                <div class="list-group clearfix" ng-repeat="f in jsonFiles.uploadedFiles" >
1670 jmachado 551
                                    <div class="list-group-item clearfix">
1675 jmachado 552
                                        <div class="col-md-10" ng-class="{'alert-warning': f.id}">
1670 jmachado 553
                                            <img src="<%=request.getContextPath()%>/imgs/mime/{{ f.extension }}.gif"/> - {{ f.fileName }} {{ (f.fileSize / 1024)| number:0 }}KB
554
                                        </div>
555
                                        <div class="col-md-2">
556
                                            <button class="btn btn-danger" type="button" ng-click="removeFileFromModel($index)"><span class="glyphicon glyphicon-remove"/></button>
557
                                        </div>
558
                                    </div>
559
                                    <div class="list-group-item clearfix">
1675 jmachado 560
                                        <div class=" col-md-2 control-label">Controlo de Acesso:</div>
561
                                        <div class="col-md-6 control-label">
562
                                            <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' }]">>
563
 
564
                                            </select>
565
                                        </div>
566
                                    </div>
567
                                    <div class="list-group-item clearfix">
568
                                        <div class=" col-md-2 control-label">Visivel:</div>
569
                                        <div class="col-md-6 control-label">
570
                                            <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 }]">>
571
 
572
                                            </select>
573
                                        </div>
574
                                    </div>
575
                                    <div class="list-group-item clearfix">
1670 jmachado 576
                                        <div class=" col-md-2 control-label">Titulo:</div>
577
                                        <div class="col-md-10 control-label">
578
                                            <input type="text" class="form-control" ng-model="f.title"/>
579
                                        </div>
580
                                    </div>
581
                                    <div class="list-group-item clearfix">
582
                                        <div class="col-md-2 control-label">Descrição:</div>
583
                                        <div class="col-md-10 control-label">
584
                                            <textarea rows="3" class="form-control" ng-model="f.description"></textarea>
585
                                        </div>
586
                                    </div>
587
                                </div>
588
                            </div>
589
                        </div>
590
                    </div>
591
                </div>
592
                <!--Seccao de uploadedFiles-->
593
 
594
 
1675 jmachado 595
                <div class="row">
596
                    <div class="col-md-6"><button class="btn btn-success" ng-click="submitForm()">Salvar</button></div>
597
                    <div class="col-md-6"><a class="btn btn-danger" href="<%=request.getContextPath()%>/user/homePae.do">Cancelar</a></div>
598
                </div>
1670 jmachado 599
 
600
 
1675 jmachado 601
 
602
 
1670 jmachado 603
            </div>
604
        </div>
1675 jmachado 605
        <%--
1670 jmachado 606
        <pre>
607
            {{doc | json}}
608
        </pre>
1675 jmachado 609
        <pre>
610
            {{jsonFiles | json}}
611
 
612
        </pre>--%>
1670 jmachado 613
    </div>
614
 
615
    <%
616
        AbstractDao.getCurrentSession().getTransaction().commit();
617
    %>
1683 jmachado 618
</div>