Subversion Repositories bacoAlunos

Rev

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

Rev 1684 Rev 1771
Line 2... Line 2...
2
<%@ page import="pt.estgp.estgweb.domain.Course" %>
2
<%@ page import="pt.estgp.estgweb.domain.Course" %>
3
<%@ page import="pt.estgp.estgweb.domain.CourseStudiesPlan" %>
3
<%@ page import="pt.estgp.estgweb.domain.CourseStudiesPlan" %>
4
<%@ page import="pt.estgp.estgweb.domain.CourseStudiesPlanImpl" %>
4
<%@ page import="pt.estgp.estgweb.domain.CourseStudiesPlanImpl" %>
5
<%@ page import="pt.estgp.estgweb.domain.dao.DaoFactory" %>
5
<%@ page import="pt.estgp.estgweb.domain.dao.DaoFactory" %>
6
<%@ page import="pt.estgp.estgweb.services.courses.CoursesService" %>
6
<%@ page import="pt.estgp.estgweb.services.courses.CoursesService" %>
-
 
7
<%@ page import="pt.estgp.estgweb.services.courses.xsd.Curso" %>
-
 
8
<%@ page import="pt.estgp.estgweb.services.courses.xsd.CursoImpl" %>
7
<%@ page import="pt.estgp.estgweb.web.form.courses.CourseStudiesPlansAdminForm" %>
9
<%@ page import="pt.estgp.estgweb.web.form.courses.CourseStudiesPlansAdminForm" %>
8
<%@ page import="java.util.List" %>
-
 
9
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
10
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
10
<%@ taglib uri="/WEB-INF/tlds/baco.tld" prefix="baco" %>
11
<%@ taglib uri="/WEB-INF/tlds/baco.tld" prefix="baco" %>
11
<%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html" %>
12
<%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html" %>
12
<%@ taglib uri="/WEB-INF/tlds/struts-nested.tld" prefix="nested" %>
13
<%@ taglib uri="/WEB-INF/tlds/struts-nested.tld" prefix="nested" %>
13
<%@ taglib uri="/WEB-INF/tlds/struts-logic.tld" prefix="logic" %>
14
<%@ taglib uri="/WEB-INF/tlds/struts-logic.tld" prefix="logic" %>
14
<%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %>
15
<%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %>
15
<%@ taglib uri="/WEB-INF/tlds/struts-tiles.tld" prefix="tiles" %>
16
<%@ taglib uri="/WEB-INF/tlds/struts-tiles.tld" prefix="tiles" %>
16
<%@ taglib uri="/WEB-INF/tlds/jomm.tld" prefix="jomm"%>
17
<%@ taglib uri="/WEB-INF/tlds/jomm.tld" prefix="jomm"%>
17
<%
18
<%
-
 
19
 
-
 
20
 
-
 
21
    //TODO NOVO JSON
-
 
22
    //O SALVAR TEM DE SER UMA FuncTION E DEIXAR DE SER UM SUBMIT PARA PODERMOS TRASNFERIR O JSON
-
 
23
    //PARA UMA VAR DE TEXTO
-
 
24
 
18
    //todo temos de ter aqui o id do curso para o carregar aqui mesmo
25
    //todo temos de ter aqui o id do curso para o carregar aqui mesmo
19
 
26
 
20
    //se queremos barras de navegação então temos de ter ser acedidos de um
27
    //se queremos barras de navegação então temos de ter ser acedidos de um
21
    //controlador que carregue o necerrário à barra ou então assumimos que
28
    //controlador que carregue o necerrário à barra ou então assumimos que
22
    //o curso id esta sempre disponivel nas barras possiveis de chamar
29
    //o curso id esta sempre disponivel nas barras possiveis de chamar
Line 77... Line 84...
77
 
84
 
78
    }
85
    }
79
    */
86
    */
80
 
87
 
81
%>
88
%>
82
    <div class="panel panel-default">
89
    <div class="panel panel-default" id="planoApp" ng-app="planoApp" ng-controller="planoController">
83
        <div class="panel-heading">
90
        <div class="panel-heading">
84
            Edição do plano de estudos. Versão <%=versaoPlano%> <%=ultimaVersao? "(<u>é a versão em vigor</u>)":""%> do curso de <%=course.getName()%> (<%=course.getCode()%>)
91
            Edição do plano de estudos. Versão <%=versaoPlano%> <%=ultimaVersao? "(<u>é a versão em vigor</u>)":""%> do curso de <%=course.getName()%> (<%=course.getCode()%>)
85
        </div>
92
        </div>
86
        <div class="panel-body">
93
        <div class="panel-body">
87
 
94
 
Line 211... Line 218...
211
                            <label class="control-label col-sm-2">URL Padrão</label>
218
                            <label class="control-label col-sm-2">URL Padrão</label>
212
                            <div class="col-sm-10">
219
                            <div class="col-sm-10">
213
                                <p>exemplo para a ESTG: http://www.estgp.pt/startLoadCourseUnitProgramSiges.do?unitCode={SIGES_UNIT}&courseCode={SIGES_CURSO}&semestre={UNIT_SEMESTRE}</p>
220
                                <p>exemplo para a ESTG: http://www.estgp.pt/startLoadCourseUnitProgramSiges.do?unitCode={SIGES_UNIT}&courseCode={SIGES_CURSO}&semestre={UNIT_SEMESTRE}</p>
214
                                <p>Nenhum dos campos é obrigatório, o sistema substitui se existir no padrão, Na estg o Semestre é obrigatório para diferenciar unidades que são lecionadas em ambos os semestres</p>
221
                                <p>Nenhum dos campos é obrigatório, o sistema substitui se existir no padrão, Na estg o Semestre é obrigatório para diferenciar unidades que são lecionadas em ambos os semestres</p>
215
                                <p>O semestre presente neste sistema e que vai ser preenchido vai de S1 a S6 e de T1 a T8 ou A, portanto se o semestre for usado à que ter isto em atenção</p>
222
                                <p>O semestre presente neste sistema e que vai ser preenchido vai de S1 a S6 e de T1 a T8 ou A, portanto se o semestre for usado à que ter isto em atenção</p>
216
                                <input type="text" class="form-control" id="urlPadraoFicha" placeholder="http://exemplo.com/exemplo/{SIGES_CURSO}/{SEMESTRE}/{SIGES_UNIT}.pdf">
223
                                <input type="text" class="form-control" id="urlPadraoFicha" placeholder="http://exemplo.com/exemplo/{SIGES_CURSO}/{UNIT_SEMESTRE}/{SIGES_UNIT}.pdf">
217
                            </div>
224
                            </div>
218
                        </div>
225
                        </div>
219
                        <div class="form-group">
226
                        <div class="form-group">
220
                            <label class="control-label col-sm-2">Alvos</label>
227
                            <label class="control-label col-sm-2">Alvos</label>
221
                            <div class="col-sm-10">
228
                            <div class="col-sm-10">
Line 234... Line 241...
234
                    </div>
241
                    </div>
235
                </div>
242
                </div>
236
 
243
 
237
                <%
244
                <%
238
                    CourseStudiesPlansAdminForm courseStudiesPlansAdminForm = (CourseStudiesPlansAdminForm) request.getAttribute("CourseStudiesPlansAdminForm");
245
                    CourseStudiesPlansAdminForm courseStudiesPlansAdminForm = (CourseStudiesPlansAdminForm) request.getAttribute("CourseStudiesPlansAdminForm");
-
 
246
                    //Isto corre sempre que se entra no Editor a primeira vez e não apenas quando é um plano novo
239
                    //Form ainda não iniciado vai iniciar é a primeira vez
247
                    //Form ainda não iniciado vai iniciar é a primeira vez
240
                    if(courseStudiesPlansAdminForm.getCourseStudiesPlan().getId() <= 0)
248
                    if(courseStudiesPlansAdminForm.getCourseStudiesPlan().getId() <= 0)
241
                    {
249
                    {
242
                        courseStudiesPlansAdminForm.setCourseStudiesPlan(planoEdicao);
250
                        courseStudiesPlansAdminForm.setCourseStudiesPlan(planoEdicao);
243
                        courseStudiesPlansAdminForm.setCourseId(courseId);
251
                        courseStudiesPlansAdminForm.setCourseId(courseId);
244
                        courseStudiesPlansAdminForm.setVersaoVigor(ultimaVersao);
252
                        courseStudiesPlansAdminForm.setVersaoVigor(ultimaVersao);
-
 
253
                        Curso cPlanoDoXml2Json = new CoursesService().loadCursoPlanoFromXml(planoEdicao.getXml());
-
 
254
                        if(cPlanoDoXml2Json == null)
-
 
255
                            courseStudiesPlansAdminForm.setPlanoEstudos(new CursoImpl());
-
 
256
                        else
245
                        courseStudiesPlansAdminForm.setPlanoEstudos(new CoursesService().loadCursoPlanoFromXml(planoEdicao.getXml()));
257
                            courseStudiesPlansAdminForm.setPlanoEstudos(new CoursesService().loadCursoPlanoFromXml(planoEdicao.getXml()));
246
                    }
258
                    }
-
 
259
                    //LINHA NOVA PARA JSON DE INTERFACE
-
 
260
                    courseStudiesPlansAdminForm.setPlanoEstudosJsonInterface(CursoImpl.toJson(courseStudiesPlansAdminForm.getPlanoEstudos()));
247
                %>
261
                %>
248
                <logic:notEmpty name="CourseStudiesPlansAdminForm" property="courseStudiesPlan.importLog">
262
                <logic:notEmpty name="CourseStudiesPlansAdminForm" property="courseStudiesPlan.importLog">
249
                    <div class="panel panel-warning">
263
                    <div class="panel panel-warning">
250
                        <div class="panel-heading"><span class="glyphicon glyphicon-wrench"></span> LOG DA ULTIMA IMPORTAÇÃO</div>
264
                        <div class="panel-heading"><span class="glyphicon glyphicon-wrench"></span> LOG DA ULTIMA IMPORTAÇÃO</div>
251
                        <div class="panel-body">
265
                        <div class="panel-body">
Line 267... Line 281...
267
                                        <label class="control-label col-sm-2">Escolher Ficheiro Exportado do Siges</label>
281
                                        <label class="control-label col-sm-2">Escolher Ficheiro Exportado do Siges</label>
268
                                        <div class="col-sm-10">
282
                                        <div class="col-sm-10">
269
                                            <html:file styleClass="form-control" property="formFileImport"/>
283
                                            <html:file styleClass="form-control" property="formFileImport"/>
270
                                        </div>
284
                                        </div>
271
                                    </div>
285
                                    </div>
272
                                    <button class="btn btn-warning" type="button" data-toggle="modal" data-target="#confirm-ModalFunction" data-message="Esta operação vai sobrepor os dados do plano de estudos atual com os dados da versão escolhida!! Tem a certeza que deseja prosseguir?" data-script="set($('#CourseStudiesPlansAdminForm').get(0),'importarPlano');$('#CourseStudiesPlansAdminForm').get(0).submit();">
286
                                    <button class="btn btn-warning" type="button" data-toggle="modal" data-target="#confirm-ModalFunction" data-message="Esta operação vai sobrepor os dados do plano de estudos atual com os dados da versão escolhida!! Tem a certeza que deseja prosseguir?" data-script="angular.element($('#planoApp')).scope().fundirPlano();">
273
                                        Importar o ficheiro sobrepondo esta versão do plano
287
                                        Importar o ficheiro sobrepondo esta versão do plano
274
                                    </button>
288
                                    </button>
275
                                </div>
289
                                </div>
276
                            </div>
290
                            </div>
277
                        </div>
291
                        </div>
Line 282... Line 296...
282
                                        <label class="control-label col-sm-2">Escolher Ficheiro Exportado do Siges Com Ramos</label>
296
                                        <label class="control-label col-sm-2">Escolher Ficheiro Exportado do Siges Com Ramos</label>
283
                                        <div class="col-sm-10">
297
                                        <div class="col-sm-10">
284
                                            <html:file styleClass="form-control" property="formFileImport2"/>
298
                                            <html:file styleClass="form-control" property="formFileImport2"/>
285
                                        </div>
299
                                        </div>
286
                                    </div>
300
                                    </div>
287
                                    <button class="btn btn-warning" type="button" data-toggle="modal" data-target="#confirm-ModalFunction" data-message="Esta operação vai sobrepor os dados do plano de estudos atual com os dados da versão escolhida!! Tem a certeza que deseja prosseguir?" data-script="set($('#CourseStudiesPlansAdminForm').get(0),'mergePlano');$('#CourseStudiesPlansAdminForm').get(0).submit();">
301
                                    <button class="btn btn-warning" type="button" data-toggle="modal" data-target="#confirm-ModalFunction" data-message="Esta operação vai sobrepor os dados do plano de estudos atual com os dados da versão escolhida!! Tem a certeza que deseja prosseguir?" data-script="angular.element($('#planoApp')).scope().fundirPlano();">
288
                                        FUNDIR o ficheiro com esta versão do plano
302
                                        FUNDIR o ficheiro com esta versão do plano
289
                                    </button>
303
                                    </button>
290
                                </div>
304
                                </div>
291
                            </div>
305
                            </div>
292
                        </div>
306
                        </div>
Line 295... Line 309...
295
                    </div>
309
                    </div>
296
                </div>
310
                </div>
297
 
311
 
298
 
312
 
299
                <div class="panel panel-default">
313
                <div class="panel panel-default">
300
                    <div class="panel-heading">Plano de Estudos
314
                    <div class="panel-heading">Plano de Estudos</div>
301
 
-
 
302
                        <button style="margin-left: 4px"  type="button" class="btn btn-success pull-right" onclick="set(this.form,'addNewSemestre');this.form.submit()">
-
 
303
                            <span class="glyphicon glyphicon-plus"> </span> Semestre
-
 
304
                        </button>
-
 
305
                    </div>
-
 
306
                    <div class="panel-body">
315
                    <div class="panel-body">
307
 
316
 
308
 
317
 
309
                                <input type="hidden" name="dispatch" value="savePlano"/>
318
                                <input type="hidden" name="dispatch" value="savePlano"/>
310
                                <html:hidden property="courseId"/>
319
                                <html:hidden property="courseId"/>
311
                                <html:hidden property="versaoVigor"/>
320
                                <html:hidden property="versaoVigor"/>
312
                                <html:hidden property="courseStudiesPlan.id"/>
321
                                <html:hidden property="courseStudiesPlan.id"/>
313
                                <html:hidden styleId="semestreId" property="semestreId"/>
322
                                <html:hidden styleId="semestreId" property="semestreId"/>
314
                                <html:hidden styleId="perfilId" property="perfilId"/>
323
                                <html:hidden styleId="perfilId" property="perfilId"/>
-
 
324
                                <html:hidden styleId="planoEstudosJsonInterface" property="planoEstudosJsonInterface"/>
315
 
325
 
316
                                <div class="form-group">
326
                                <div class="form-group">
317
                                    <label class="control-label col-sm-2">Versão</label>
327
                                    <label class="control-label col-sm-2">Versão</label>
318
                                    <div class="col-sm-10">
328
                                    <div class="col-sm-10">
319
                                        <html:text styleClass="form-control" property="courseStudiesPlan.version" size="3"/>
329
                                        <html:text styleClass="form-control" property="courseStudiesPlan.version" size="3"/>
Line 327... Line 337...
327
                                </div>
337
                                </div>
328
 
338
 
329
 
339
 
330
 
340
 
331
 
341
 
332
                                <%
-
 
333
                                    int dummyIndexIdUnidades = 0;
-
 
334
                                    int dummyIndexPerfilId = 0;
-
 
335
                                    int dummyIndexSemestreId = 0;
-
 
336
 
342
 
337
                                %>
-
 
338
                                <script>
-
 
339
 
343
 
340
                                    function sendUpUnidadeCurricular(dummyIndexId)
-
 
341
                                    {
-
 
342
                                        sendFieldUp("removed",dummyIndexId);
-
 
343
                                        sendFieldUp("siges",dummyIndexId);
-
 
344
                                        sendFieldUp("nome",dummyIndexId);
-
 
345
                                        sendFieldUp("nomeEn",dummyIndexId);
-
 
346
                                        sendFieldUp("nomeEs",dummyIndexId);
-
 
347
                                        sendFieldUp("nomeFr",dummyIndexId);
-
 
348
 
-
 
349
                                        sendFieldUp("totalHoras",dummyIndexId);
-
 
350
                                        sendFieldUp("horasContactoT",dummyIndexId);
-
 
351
                                        sendFieldUp("horasContactoTP",dummyIndexId);
-
 
352
                                        sendFieldUp("horasContactoP",dummyIndexId);
-
 
353
                                        sendFieldUp("horasContactoPL",dummyIndexId);
-
 
354
                                        sendFieldUp("horasContactoPD",dummyIndexId);
-
 
355
                                        sendFieldUp("horasContactoOT",dummyIndexId);
-
 
356
                                        sendFieldUp("horasContactoE",dummyIndexId);
-
 
357
                                        sendFieldUp("horasContactoS",dummyIndexId);
-
 
358
                                        sendFieldUp("horasContactoTC",dummyIndexId);
-
 
359
                                        sendFieldUp("horasContactoO",dummyIndexId);
-
 
360
                                        sendFieldUp("ECTS",dummyIndexId);
-
 
361
                                        sendFieldUp("urlUnidadeCurricular",dummyIndexId);
-
 
362
                                        sendFieldUp("urlFichaCurricular",dummyIndexId);
-
 
363
 
344
 
364
                                    }
345
                                    <div>
-
 
346
                                        <script>
-
 
347
                                            var planoApp = angular.module('planoApp', ['ui.tree']);
-
 
348
                                            GLOBAL_BacoAngularAppDependencies.push('planoApp');
-
 
349
                                            planoApp.controller('planoController',  function ($scope) {
-
 
350
                                                $scope.treeOptions = {
-
 
351
                                                    accept: function(sourceNodeScope, destNodesScope, destIndex) {
-
 
352
 
-
 
353
                                                        //if(destNodesScope)
-
 
354
                                                        //console.log(destNodesScope);
-
 
355
                                                        //console.log(sourceNodeScope);
365
                                    function sendDownUnidadeCurricular(dummyIndexId)
356
                                                        //console.log(destIndex);
-
 
357
                                                        //console.log(destNodesScope.$parent.$modelValue.title);
-
 
358
                                                        //console.log(destNodesScope.$modelValue[0].type);
-
 
359
                                                        if(sourceNodeScope.$modelValue.type == destNodesScope.$modelValue[0].type)
-
 
360
                                                            return true;
-
 
361
                                                        return false;
-
 
362
                                                    },
-
 
363
                                                    dropped: function(e) {
-
 
364
                                                        //console.log (e.source.nodeScope.$modelValue);
-
 
365
                                                        //alert ("Largado o nó com nome: " + e.source.nodeScope.$modelValue.name + " sobre " + e.dest.nodesScope.$parent.$modelValue.name);
-
 
366
                                                    }
-
 
367
                                                };
-
 
368
                                                $scope.json = <%=courseStudiesPlansAdminForm.getPlanoEstudosJsonInterface()%>
-
 
369
 
-
 
370
                                                $scope.confView =
366
                                    {
371
                                                {
-
 
372
                                                    "SIGES" : true ,
367
                                        sendFieldDown("removed",dummyIndexId);
373
                                                    "Nome" : true ,
368
                                        sendFieldDown("siges",dummyIndexId);
374
                                                    "ECTS" : true,
369
                                        sendFieldDown("nome",dummyIndexId);
375
                                                    "Total" : true ,
-
 
376
                                                    "T" : true ,
-
 
377
                                                    "TP" : true ,
-
 
378
                                                    "P" : true ,
-
 
379
                                                    "PL" : true ,
-
 
380
                                                    "PD" : true ,
-
 
381
                                                    "OT" : true ,
-
 
382
                                                    "E" : true ,
-
 
383
                                                    "S" : true ,
-
 
384
                                                    "TC" : true ,
-
 
385
                                                    "O" : true ,
-
 
386
                                                    "URL_UNIDADE" : true ,
-
 
387
                                                    "FICHA_URL" : true
-
 
388
                                                }
-
 
389
 
370
                                        sendFieldDown("nomeEn",dummyIndexId);
390
                                                $scope.submeterForm = function()
-
 
391
                                                {
-
 
392
                                                    $("#planoEstudosJsonInterface").val(
-
 
393
                                                            JSON.stringify($scope.json)
-
 
394
                                                    );
-
 
395
                                                    $("#CourseStudiesPlansAdminForm").submit();
-
 
396
                                                }
-
 
397
 
371
                                        sendFieldDown("nomeEs",dummyIndexId);
398
                                                $scope.fundirPlano = function()
-
 
399
                                                {
-
 
400
                                                    set($("#CourseStudiesPlansAdminForm").get(0),"mergePlano");
372
                                        sendFieldDown("nomeFr",dummyIndexId);
401
                                                    $scope.submeterForm();
-
 
402
                                                }
373
 
403
 
374
                                        sendFieldDown("totalHoras",dummyIndexId);
404
                                                $scope.importarPlano = function()
-
 
405
                                                {
-
 
406
                                                    set($("#CourseStudiesPlansAdminForm").get(0),"importarPlano");
375
                                        sendFieldDown("horasContactoT",dummyIndexId);
407
                                                    $scope.submeterForm();
-
 
408
                                                }
376
                                        sendFieldDown("horasContactoTP",dummyIndexId);
409
                                                $scope.salvar = function()
-
 
410
                                                {
-
 
411
                                                    set($("#CourseStudiesPlansAdminForm").get(0),"savePlano");
377
                                        sendFieldDown("horasContactoP",dummyIndexId);
412
                                                    $scope.submeterForm();
-
 
413
                                                }
-
 
414
 
378
                                        sendFieldDown("horasContactoPL",dummyIndexId);
415
                                                $scope.removeSemestre = function($index)
-
 
416
                                                {
-
 
417
                                                    if(confirm("Tem a certeza que deseja remover o Semestre " + $scope.json.semestre[$index].id + "?"))
379
                                        sendFieldDown("horasContactoPD",dummyIndexId);
418
                                                        $scope.json.semestre.splice($index,1);
-
 
419
                                                }
380
                                        sendFieldDown("horasContactoOT",dummyIndexId);
420
                                                $scope.removePerfil = function(semestre,$index)
-
 
421
                                                {
-
 
422
                                                    if(confirm("Tem a certeza que deseja remover o Perfil " + semestre.perfil[$index].nome + "?"))
381
                                        sendFieldDown("horasContactoE",dummyIndexId);
423
                                                        semestre.perfil.splice($index,1);
-
 
424
                                                }
-
 
425
                                                $scope.removeUnidade = function(semestreOuperfil,$index)
-
 
426
                                                {
-
 
427
                                                    if(confirm("Tem a certeza que deseja remover a Unidade " + semestreOuperfil.unidade[$index].nome + "?"))
382
                                        sendFieldDown("horasContactoS",dummyIndexId);
428
                                                    semestreOuperfil.unidade.splice($index,1);
-
 
429
                                                }
383
                                        sendFieldDown("horasContactoTC",dummyIndexId);
430
                                                $scope.addSemestre = function()
-
 
431
                                                {
384
                                        sendFieldDown("horasContactoO",dummyIndexId);
432
                                                    $scope.json.semestre.push(
-
 
433
                                                            {
385
                                        sendFieldDown("ECTS",dummyIndexId);
434
                                                                "id": "S1",
-
 
435
                                                                "notas": null,
-
 
436
                                                                "perfil": [],
-
 
437
                                                                "semestreDesc": "Semestre 1",
-
 
438
                                                                "semestreDescEn": "Semester 1",
-
 
439
                                                                "semestreDescEs": "Semestre 1",
386
                                        sendFieldDown("urlUnidadeCurricular",dummyIndexId);
440
                                                                "semestreDescFr": "Semestre 1",
-
 
441
                                                                "semestreId": null,
-
 
442
                                                                "unidade": [],
387
                                        sendFieldDown("urlFichaCurricular",dummyIndexId);
443
                                                                "type" : "semestre"
-
 
444
                                                            }
-
 
445
                                                    );
-
 
446
                                                }
388
 
447
 
389
                                    }
-
 
390
                                    function sendFieldUp(field,dummyIndexId){
448
                                                $scope.addPerfil = function(semestre)
391
                                        nome = $("#" + field + "dummyIndex" + dummyIndexId).val();
449
                                                {
392
                                        $("#" + field + "dummyIndex" + (dummyIndexId)).val($("#" + field + "dummyIndex" + (dummyIndexId-1)).val());
-
 
393
                                        $("#" + field + "dummyIndex" + (dummyIndexId-1)).val(nome);
450
                                                    semestre.perfil.push(
394
                                    }
451
                                                            {
395
                                    function sendFieldDown(field,dummyIndexId){
452
                                                                "nome": "",
396
                                        nome = $("#" + field + "dummyIndex" + dummyIndexId).val();
453
                                                                "perfilId": null,
397
                                        $("#" + field + "dummyIndex" + (dummyIndexId)).val($("#" + field + "dummyIndex" + (dummyIndexId+1)).val());
454
                                                                "unidade" : [],
398
                                        $("#" + field + "dummyIndex" + (dummyIndexId+1)).val(nome);
455
                                                                "type" : "perfil"
399
                                    }
456
                                                            }
400
                                    function removeUnit(dummyIndexId)
457
                                                    );
401
                                    {
458
                                                }
402
                                        $("#removed" + "dummyIndex" + dummyIndexId).val("true");
-
 
403
                                        $("#removed" + "dummyIndex" + dummyIndexId).closest("tr").hide("slow");
-
 
404
 
459
 
-
 
460
                                                $scope.addUnidade = function(semestreOuPerfil)
-
 
461
                                                {
-
 
462
                                                    semestreOuPerfil.unidade.push(
-
 
463
                                                            {
-
 
464
                                                                "dep": "",
-
 
465
                                                                "ects": "",
-
 
466
                                                                "nome": "",
-
 
467
                                                                "nomeEn": null,
-
 
468
                                                                "nomeEs": null,
-
 
469
                                                                "nomeFr": null,
-
 
470
                                                                "obs": "",
-
 
471
                                                                "removed": null,
-
 
472
                                                                "siges": null,
-
 
473
                                                                "totalHoras": 0,
-
 
474
                                                                "urlFichaCurricular": "",
-
 
475
                                                                "urlUnidadeCurricular": "",
-
 
476
                                                                "type": "unidade"
-
 
477
                                                            }
-
 
478
                                                    );
-
 
479
                                                }
405
                                    }
480
                                            });
406
 
481
 
407
                                    function sendUpSemestre(dummySemestreId,form)
-
 
408
                                    {
-
 
409
                                        $(form.semestreId).val("semestreDummy" + dummySemestreId);
-
 
410
                                        $(form.dispatch).val("sendUpSemestre");
-
 
411
                                        form.submit();
-
 
412
                                    }
-
 
413
                                    function sendDownSemestre(dummySemestreId,form)
-
 
414
                                    {
-
 
415
                                        $(form.semestreId).val("semestreDummy" +dummySemestreId);
-
 
416
                                        $(form.dispatch).val("sendDownSemestre");
-
 
417
                                        form.submit();
-
 
418
                                    }
-
 
419
 
482
 
420
                                    function sendUpPerfil(dummyPerfilId,form,dummySemestreId)
483
                                        </script>
421
                                    {
484
                                        <div class="panel panel-info">
422
                                        form.action = form.action + "#" + dummySemestreId;
485
                                            <div class="panel-heading">Configuração de Visualização</div>
423
                                        $(form.perfilId).val("perfilDummy" + dummyPerfilId);
486
                                            <div class="panel-body">
424
                                        $(form.dispatch).val("sendUpPerfil");
487
                                                <table class="table">
425
                                        form.submit();
488
                                                    <thead>
426
                                    }
489
                                                        <tr>
-
 
490
                                                            <th>SIGES</th>
427
                                    function sendDownPerfil(dummyPerfilId,form,dummySemestreId)
491
                                                            <th>Nome</th>
-
 
492
                                                            <th>ECTS</th>
-
 
493
                                                            <th>Total</th>
428
                                    {
494
                                                            <th>T</th>
429
                                        form.action = form.action + "#" + dummySemestreId;
495
                                                            <th>TP</th>
-
 
496
                                                            <th>P</th>
430
                                        $(form.perfilId).val("perfilDummy" + dummyPerfilId);
497
                                                            <th>PL</th>
431
                                        $(form.dispatch).val("sendDownPerfil");
498
                                                            <th>PD</th>
432
                                        form.submit();
499
                                                            <th>OT</th>
433
                                    }
500
                                                            <th>E</th>
434
                                </script>
501
                                                            <th>S</th>
-
 
502
                                                            <th>TC</th>
435
                                <nested:notEmpty  property="planoEstudos">
503
                                                            <th>O</th>
436
 
504
 
-
 
505
                                                            <th>URL UNIDADE</th>
-
 
506
                                                            <th>FICHA URL</th>
437
                                    <div class="panel panel-default">
507
                                                        </tr>
438
                                        <div class="panel-heading">
508
                                                    </thead>
-
 
509
                                                    <tbody>
-
 
510
                                                    <tr>
-
 
511
                                                        <td><input type="checkbox" ng-model="confView.SIGES"></td>
-
 
512
                                                        <td><input type="checkbox" ng-model="confView.Nome"></td>
-
 
513
                                                        <td><input type="checkbox" ng-model="confView.ECTS"></td>
-
 
514
                                                        <td><input type="checkbox" ng-model="confView.Total"></td>
-
 
515
                                                        <td><input type="checkbox" ng-model="confView.T"></td>
-
 
516
                                                        <td><input type="checkbox" ng-model="confView.TP"></td>
-
 
517
                                                        <td><input type="checkbox" ng-model="confView.P"></td>
-
 
518
                                                        <td><input type="checkbox" ng-model="confView.PL"></td>
-
 
519
                                                        <td><input type="checkbox" ng-model="confView.PD"></td>
-
 
520
                                                        <td><input type="checkbox" ng-model="confView.OT"></td>
-
 
521
                                                        <td><input type="checkbox" ng-model="confView.E"></td>
-
 
522
                                                        <td><input type="checkbox" ng-model="confView.S"></td>
-
 
523
                                                        <td><input type="checkbox" ng-model="confView.TC"></td>
-
 
524
                                                        <td><input type="checkbox" ng-model="confView.O"></td>
-
 
525
                                                        <td><input type="checkbox" ng-model="confView.URL_UNIDADE"></td>
-
 
526
                                                        <td><input type="checkbox" ng-model="confView.FICHA_URL"></td>
439
                                            Informação obtida do Siges (Auxiliar)
527
                                                    </tr>
-
 
528
                                                    </tbody>
-
 
529
                                                </table>
-
 
530
                                            </div>
440
                                        </div>
531
                                        </div>
-
 
532
 
441
                                        <div class="panel-body">
533
                                        <div class="panel panel-default">
442
                                            <div class="form-group">
534
                                            <div class="panel-heading">
443
                                                <label class="control-label col-sm-2">Ano do Plano no Siges</label>
-
 
444
                                                <div class="col-sm-10">
535
                                                Informação obtida do Siges (Auxiliar)
445
                                                    <html:text styleClass="form-control" property="planoEstudos.anoPlanoSiges"/>
-
 
446
                                                </div>
-
 
447
                                            </div>
536
                                            </div>
-
 
537
                                            <div class="panel-body">
448
                                            <div class="form-group">
538
                                                <div class="form-group">
449
                                                <label class="control-label col-sm-2">Código do Plano no Siges</label>
539
                                                    <label class="control-label col-sm-2">Ano do Plano no Siges</label>
450
                                                <div class="col-sm-10">
540
                                                    <div class="col-sm-10">
451
                                                    <html:text styleClass="form-control" property="planoEstudos.codigoPlanoSiges"/>
541
                                                        <input type="text" class="form-control" ng-model="json.anoPlanoSiges"/>
-
 
542
                                                    </div>
452
                                                </div>
543
                                                </div>
-
 
544
                                                <div class="form-group">
-
 
545
                                                    <label class="control-label col-sm-2">Código do Plano no Siges</label>
-
 
546
                                                    <div class="col-sm-10">
-
 
547
                                                        <input type="text" class="form-control" ng-model="json.codigoPlanoSiges"/>
-
 
548
                                                    </div>
453
                                            </div>
549
                                                </div>
454
                                            <div class="form-group">
550
                                                <div class="form-group">
455
                                                <label class="control-label col-sm-2">Linha Descritiva do Plano no Siges</label>
551
                                                    <label class="control-label col-sm-2">Linha Descritiva do Plano no Siges</label>
456
                                                <div class="col-sm-10">
552
                                                    <div class="col-sm-10">
457
                                                    <html:text styleClass="form-control" property="planoEstudos.descPlanoSiges"/>
553
                                                        <input type="text" class="form-control" ng-model="json.descPlanoSiges"/>
-
 
554
                                                    </div>
458
                                                </div>
555
                                                </div>
459
                                            </div>
556
                                            </div>
460
                                        </div>
557
                                        </div>
461
                                    </div>
-
 
462
 
558
 
463
                                    <html:hidden property="planoEstudos.siges"/>
-
 
464
                                    <html:hidden property="planoEstudos.nome"/>
-
 
465
                                    <html:hidden property="planoEstudos.dep"/>
-
 
466
                                    <nested:size id="tamanhoSemestre" property="planoEstudos.semestre"/>
-
 
467
                                    <nested:iterate id="semestre" indexId="semestreIndexId" property="planoEstudos.semestre" type="pt.estgp.estgweb.services.courses.xsd.Curso.Semestre">
-
 
468
                                        <div class="panel panel-primary">
559
                                        <div class="panel panel-default">
469
                                            <div class="panel-heading">
560
                                            <div class="panel-heading">
-
 
561
                                                Semestres
-
 
562
                                                <button style="margin-left: 4px"  type="button" class="btn btn-success pull-right" ng-click="addSemestre()">
-
 
563
                                                    <span class="glyphicon glyphicon-plus"> </span> Semestre
-
 
564
                                                </button>
-
 
565
                                            </div>
-
 
566
                                            <div class="panel-body">
-
 
567
                                                <div ui-tree="treeOptions" id="page-content-root">
-
 
568
                                                    <div ui-tree-nodes ng-model="json.semestre">
-
 
569
                                                        <div class="panel panel-primary" ng-repeat="s in json.semestre" ui-tree-node ng-include="'semestre_renderer.html'" ng-init="s.type='semestre'">
-
 
570
                                                    </div>
-
 
571
                                                </div>
-
 
572
                                            </div>
-
 
573
                                        </div>
470
 
574
 
-
 
575
                                        <script type="text/ng-template" id="semestre_renderer.html">
-
 
576
                                            <div class="panel-heading">
471
                                                <div class="form-group">
577
                                                <div class="form-group">
472
                                                    <%
-
 
473
                                                        dummyIndexSemestreId++;
-
 
474
                                                        request.setAttribute("dummyIndexSemestreId",dummyIndexSemestreId);
-
 
475
                                                    %>
-
 
476
                                                    <nested:hidden property="semestreId" value="semestreDummy${dummyIndexSemestreId}"/>
-
 
-
 
578
 
477
                                                    <div class="col-sm-2">
579
                                                    <div class="col-sm-1">
478
                                                        <button type="button" class="btn btn-warning" onclick="sendUpSemestre('<%=dummyIndexSemestreId%>',this.form)">
-
 
479
                                                            <span class="glyphicon glyphicon-arrow-up"> </span>
-
 
480
                                                        </button>
-
 
481
                                                        <button type="button" class="btn btn-warning" onclick="sendDownSemestre('<%=dummyIndexSemestreId%>',this.form)">
-
 
482
                                                            <span class="glyphicon glyphicon-arrow-down"> </span>
-
 
483
                                                        </button>
-
 
484
                                                        <button type="button" class="btn btn-danger" data-toggle="modal" data-target="#confirm-ModalFunction"  data-message="Esta operação vai remover todas as unidades e perfis deste semestre!! Tem a certeza que deseja prosseguir? A operação não afeta as unidades nem os cursos do PAE, apenas o plano." data-script="$('#semestreId').val('semestreDummy${dummyIndexSemestreId}');set($('#CourseStudiesPlansAdminForm').get(0),'removeSemestre');$('#CourseStudiesPlansAdminForm').get(0).submit()">
580
                                                        <button type="button" class="btn btn-danger" ng-click="removeSemestre($index)">
485
                                                            <span class="glyphicon glyphicon-remove"> </span>
581
                                                            <span class="glyphicon glyphicon-remove"> </span>
486
                                                        </button>
582
                                                        </button>
487
                                                    </div>
583
                                                    </div>
488
                                                    <div class="col-sm-1">
584
                                                    <div class="col-sm-4" ui-tree-handle>
-
 
585
                                                        <span class="btn btn-info"><i class="glyphicon glyphicon-resize-vertical"></i></span>
489
                                                        Duração
586
                                                        Duração
490
                                                    </div>
587
                                                    </div>
491
                                                    <div class="col-sm-3">
588
                                                    <div class="col-sm-3">
492
                                                        <script>
-
 
493
                                                            $(document).ready(
-
 
494
                                                                    function()
-
 
495
                                                                    {
-
 
496
                                                                        showHideSemestreDesc${dummyIndexSemestreId}();
-
 
497
                                                                    }
-
 
498
                                                            );
-
 
499
 
-
 
500
 
-
 
501
                                                            function showHideSemestreDesc${dummyIndexSemestreId}()
589
                                                        <select class="form-control chosenOff" ng-model="s.id">
502
                                                            {
-
 
503
                                                                if($("#selectSemestreDesc${dummyIndexSemestreId}").val()=='OP')
-
 
504
                                                                {
-
 
505
                                                                    $('#semestreDescContainer${dummyIndexSemestreId}').show();
-
 
506
                                                                }
-
 
507
                                                                else
-
 
508
                                                                {
-
 
509
                                                                    $('#semestreDescContainer${dummyIndexSemestreId}').hide();
-
 
510
                                                                }
-
 
511
                                                            }
-
 
512
                                                        </script>
-
 
513
                                                        <nested:select styleClass="form-control" property="id" styleId="selectSemestreDesc${dummyIndexSemestreId}" onchange="showHideSemestreDesc${dummyIndexSemestreId}(this)">
-
 
514
                                                            <html:option value="S1">Semestre 1</html:option>
590
                                                            <option value="S1">Semestre 1</option>
515
                                                            <html:option value="S2">Semestre 2</html:option>
591
                                                            <option value="S2">Semestre 2</option>
516
                                                            <html:option value="S3">Semestre 3</html:option>
592
                                                            <option value="S3">Semestre 3</option>
517
                                                            <html:option value="S4">Semestre 4</html:option>
593
                                                            <option value="S4">Semestre 4</option>
518
                                                            <html:option value="S5">Semestre 5</html:option>
594
                                                            <option value="S5">Semestre 5</option>
519
                                                            <html:option value="S6">Semestre 6</html:option>
595
                                                            <option value="S6">Semestre 6</option>
520
                                                            <html:option value="S7">Semestre 7</html:option>
596
                                                            <option value="S7">Semestre 7</option>
521
                                                            <html:option value="S8">Semestre 8</html:option>
597
                                                            <option value="S8">Semestre 8</option>
522
                                                            <html:option value="A1">Anual 1</html:option>
598
                                                            <option value="A1">Anual 1</option>
523
                                                            <html:option value="A2">Anual 2</html:option>
599
                                                            <option value="A2">Anual 2</option>
524
                                                            <html:option value="A3">Anual 3</html:option>
600
                                                            <option value="A3">Anual 3</option>
525
                                                            <html:option value="A4">Anual 4</html:option>
601
                                                            <option value="A4">Anual 4</option>
526
                                                            <html:option value="T1">Trimestre 1</html:option>
602
                                                            <option value="T1">Trimestre 1</option>
527
                                                            <html:option value="T2">Trimestre 2</html:option>
603
                                                            <option value="T2">Trimestre 2</option>
528
                                                            <html:option value="T3">Trimestre 3</html:option>
604
                                                            <option value="T3">Trimestre 3</option>
529
                                                            <html:option value="T4">Trimestre 4</html:option>
605
                                                            <option value="T4">Trimestre 4</option>
530
                                                            <html:option value="T5">Trimestre 5</html:option>
606
                                                            <option value="T5">Trimestre 5</option>
531
                                                            <html:option value="T6">Trimestre 6</html:option>
607
                                                            <option value="T6">Trimestre 6</option>
532
                                                            <html:option value="T7">Trimestre 7</html:option>
608
                                                            <option value="T7">Trimestre 7</option>
533
                                                            <html:option value="T8">Trimestre 8</html:option>
609
                                                            <option value="T8">Trimestre 8</option>
534
                                                            <html:option value="OP">Opcionais</html:option>
610
                                                            <option value="OP">Opcionais</option>
535
                                                        </nested:select>
611
                                                        </select>
536
                                                        <div id="semestreDescContainer${dummyIndexSemestreId}">
612
                                                        <div ng-show="s.id == 'OP'">
537
                                                            Descrição (PT) <nested:text property="semestreDesc" styleClass="form-control"/>
613
                                                            Descrição (PT) <input type="text" ng-model="s.semestreDesc" class="form-control"/>
538
                                                            Descrição (EN) <nested:text property="semestreDescEn" styleClass="form-control"/>
614
                                                            Descrição (EN) <input type="text" ng-model="s.semestreDescEn" class="form-control"/>
539
                                                            Descrição (ES) <nested:text property="semestreDescEs" styleClass="form-control"/>
615
                                                            Descrição (ES) <input type="text" ng-model="s.semestreDescEs" class="form-control"/>
540
                                                            Descrição (FR) <nested:text property="semestreDescFr" styleClass="form-control"/>
616
                                                            Descrição (FR) <input type="text" ng-model="s.semestreDescFr" class="form-control"/>
541
                                                        </div>
617
                                                        </div>
542
                                                    </div>
618
                                                    </div>
543
                                                    <div class="col-sm-6">
619
                                                    <div class="col-sm-4">
544
 
620
 
545
                                                        <button style="margin-left: 4px"  type="button" class="btn btn-success pull-right" onclick="form.action=form.action+'#semestreDummy${dummyIndexSemestreId}';$('#semestreId').val('semestreDummy${dummyIndexSemestreId}');set(this.form,'addUnidadeSemestre');this.form.submit()">
621
                                                        <button style="margin-left: 4px"  type="button" class="btn btn-success pull-right" ng-click="addUnidade(s)">
546
                                                            <span class="glyphicon glyphicon-plus"> </span> Unidade
622
                                                            <span class="glyphicon glyphicon-plus"> </span> Unidade
547
                                                        </button>
623
                                                        </button>
548
 
624
 
549
                                                        <button style="margin-left: 4px" type="button" class="btn btn-success pull-right" onclick="form.action=form.action+'#semestreDummy${dummyIndexSemestreId}';$('#semestreId').val('semestreDummy${dummyIndexSemestreId}');set(this.form,'addPerfilSemestre');this.form.submit()">
625
                                                        <button style="margin-left: 4px" type="button" class="btn btn-success pull-right" ng-click="addPerfil(s)">
550
                                                            <span class="glyphicon glyphicon-plus"> </span> Perfil
626
                                                            <span class="glyphicon glyphicon-plus"> </span> Perfil
551
                                                        </button>
627
                                                        </button>
552
 
-
 
553
                                                        <a name="semestreDummy${dummyIndexSemestreId}"></a>
-
 
554
                                                    </div>
628
                                                    </div>
555
                                                </div>
629
                                                </div>
556
                                            </div>
630
                                            </div>
557
                                            <div class="panel-body">
631
                                            <div class="panel-body">
558
 
-
 
559
                                                <div class="form-group">
632
                                                <div class="form-group">
560
 
633
 
561
                                                    <div class="col-sm-2">
634
                                                    <div class="col-sm-2">
562
                                                        Notas do Semestre (Pode ser utilizado para mostrar Optativas)
635
                                                        Notas do Semestre (Pode ser utilizado para mostrar Optativas)
563
                                                    </div>
636
                                                    </div>
564
                                                    <div class="col-sm-10">
637
                                                    <div class="col-sm-10">
565
                                                        <nested:textarea property="notas" rows="5" styleClass="form-control"/>
638
                                                        <textarea ng-model="s.notas" rows="5" class="form-control"></textarea>
566
                                                    </div>
639
                                                    </div>
567
                                                </div>
640
                                                </div>
568
 
641
 
569
                                                <button class="btn btn-default" data-toggle="collapse" type="button" data-target=".langs">Ver Campos Multingua</button>
642
                                                <button class="btn btn-default" data-toggle="collapse" type="button" data-target=".langs">Ver Campos Multingua</button>
570
 
-
 
571
                                                <nested:size id="tamanhoPerfil" property="perfil"/>
-
 
572
                                                <nested:iterate id="perfil" indexId="perfilIndexId" property="perfil" type="pt.estgp.estgweb.services.courses.xsd.Curso.Semestre.Perfil">
-
 
573
                                                    <div class="panel panel-info">
-
 
574
                                                        <div class="panel-heading">
-
 
575
                                                            <div class="form-group">
-
 
576
                                                                <%
-
 
577
                                                                    dummyIndexPerfilId++;
-
 
578
                                                                    request.setAttribute("dummyIndexPerfilId",dummyIndexPerfilId);
-
 
579
                                                                %>
-
 
580
                                                                <a name="perfilDummy${dummyIndexPerfilId}"></a>
-
 
581
                                                                <nested:hidden property="perfilId" value="perfilDummy${dummyIndexPerfilId}"/>
-
 
582
                                                                <div class="col-sm-2">
-
 
583
                                                                    <button type="button" class="btn btn-warning" onclick="sendUpPerfil('<%=dummyIndexPerfilId%>',this.form,'semestreDummy${dummyIndexSemestreId}')">
-
 
584
                                                                        <span class="glyphicon glyphicon-arrow-up"> </span>
-
 
585
                                                                    </button>
-
 
586
                                                                    <button type="button" class="btn btn-warning" onclick="sendDownPerfil('<%=dummyIndexPerfilId%>',this.form,'semestreDummy${dummyIndexSemestreId}')">
-
 
587
                                                                        <span class="glyphicon glyphicon-arrow-down"> </span>
-
 
588
                                                                    </button>
-
 
589
                                                                    <button type="button" class="btn btn-danger" data-toggle="modal" data-target="#confirm-ModalFunction"  data-message="Esta operação vai remover todas as unidades deste perfil!! Tem a certeza que deseja prosseguir? A operação não afeta as unidades nem os cursos do PAE, apenas o plano." data-script="$('#CourseStudiesPlansAdminForm').get(0).action=$('#CourseStudiesPlansAdminForm').get(0).action+'#semestreDummy${dummyIndexSemestreId}';$('#perfilId').val('perfilDummy${dummyIndexPerfilId}');set($('#CourseStudiesPlansAdminForm').get(0),'removePerfil');$('#CourseStudiesPlansAdminForm').get(0).submit()">
643
                                                <div ui-tree-nodes="" ng-model="s.perfil" ng-show="s.perfil.length > 0">
590
                                                                        <span class="glyphicon glyphicon-remove"> </span>
-
 
591
                                                                    </button>
-
 
592
                                                                </div>
-
 
593
                                                                <div class="col-sm-1">
-
 
594
                                                                    Perfil
-
 
595
                                                                </div>
-
 
596
                                                                <div class="col-sm-5">
-
 
597
                                                                    <nested:text styleClass="form-control" property="nome"/>
-
 
598
                                                                </div>
-
 
599
                                                                <div  class="col-sm-4">
-
 
600
                                                                    <button type="button" class="btn btn-success pull-right" onclick="form.action=form.action+'#perfilDummy${dummyIndexPerfilId}';$('#perfilId').val('perfilDummy${dummyIndexPerfilId}');set(this.form,'addUnidadePerfil');this.form.submit()">
644
                                                    <div class="panel panel-info" ng-repeat="p in s.perfil" ui-tree-node ng-include="'perfil_renderer.html'" ng-init="p.type='perfil';parent=s">
601
                                                                        <span class="glyphicon glyphicon-plus"> </span>  Unidade
-
 
602
                                                                    </button>
-
 
603
                                                                </div>
-
 
604
                                                            </div>
-
 
605
                                                        </div>
-
 
606
                                                        <div class="panel-body">
-
 
607
                                                            <table class="tablesorterfiltered">
-
 
608
                                                                <thead>
-
 
609
                                                                <tr>
-
 
610
                                                                    <td></td>
-
 
611
                                                                    <td></td>
-
 
612
                                                                    <th>SIGES</th>
-
 
613
                                                                    <th>Nome</th>
-
 
614
                                                                    <th>Total</th>
-
 
615
                                                                    <th>T</th>
-
 
616
                                                                    <th>TP</th>
-
 
617
                                                                    <th>P</th>
-
 
618
                                                                    <th>PL</th>
-
 
619
                                                                    <th>PD</th>
-
 
620
                                                                    <th>OT</th>
-
 
621
                                                                    <th>E</th>
-
 
622
                                                                    <th>S</th>
-
 
623
                                                                    <th>TC</th>
-
 
624
                                                                    <th>O</th>
-
 
625
                                                                    <th>ECTS</th>
-
 
626
                                                                    <th>URL UNIDADE</th>
-
 
627
                                                                    <th>FICHA URL</th>
-
 
628
                                                                </tr>
-
 
629
                                                                </thead>
-
 
630
                                                                <tbody>
-
 
631
                                                                <nested:size id="tamanho" property="unidade"/>
-
 
632
                                                                <nested:iterate id="unit" indexId="indexId"  property="unidade" type="pt.estgp.estgweb.services.courses.xsd.UnidadeType">
-
 
633
 
-
 
634
                                                                    <%
-
 
635
                                                                        dummyIndexIdUnidades++;
-
 
636
                                                                        request.setAttribute("dummyIndexIdUnidades","dummyIndex" + dummyIndexIdUnidades);
-
 
637
                                                                    %>
-
 
638
                                                                    <%
-
 
639
                                                                        int tamanhoMinus1 = tamanho - 1;
-
 
640
                                                                        request.setAttribute("tamanhoMinus1",tamanhoMinus1);
-
 
641
 
-
 
642
                                                                    %>
-
 
643
                                                                    <tr <nested:equal property="removed" value="true">class="hidden"</nested:equal>>
-
 
644
                                                                        <td class="text-nowrap">
-
 
645
 
-
 
646
                                                                            <%--
-
 
647
                                                                                Usando o dummyIndex apenas não colocamos botao de up na primeira de todas as unidades de todos os semestres
-
 
648
                                                                                Antes usavamos o indexId e trabalhavamos lista a lista considerando semestres e perfis independentes
-
 
649
                                                                            --%>
-
 
650
                                                                            <nested:notEqual value="dummyIndex1" name="dummyIndexIdUnidades">
-
 
651
                                                                                <button type="button" class="btn btn-warning" onclick="sendUpUnidadeCurricular(<%=dummyIndexIdUnidades%>)">
-
 
652
                                                                                    <span class="glyphicon glyphicon-arrow-up"> </span>
-
 
653
                                                                                </button>
-
 
654
                                                                            </nested:notEqual>
-
 
655
                                                                            <%
-
 
656
                                                                                boolean perfilMaximoAtingido = perfilIndexId >= tamanhoPerfil - 1;
-
 
657
                                                                                boolean semestreMaximoAtingido = semestreIndexId >= tamanhoSemestre - 1;
-
 
658
                                                                                boolean tamanhoMaximoAtingido = indexId >= tamanho - 1;
-
 
659
                                                                                if(!perfilMaximoAtingido || !semestreMaximoAtingido || !tamanhoMaximoAtingido)
-
 
660
                                                                                {
-
 
661
                                                                            %>
-
 
662
                                                                                <button type="button" class="btn btn-warning" onclick="sendDownUnidadeCurricular(<%=dummyIndexIdUnidades%>)">
-
 
663
                                                                                    <span class="glyphicon glyphicon-arrow-down"> </span>
-
 
664
                                                                                </button>
-
 
665
                                                                            <%
-
 
666
                                                                                }
-
 
667
                                                                            %>
-
 
668
                                                                        </td>
-
 
669
                                                                        <td>
-
 
670
                                                                            <nested:hidden styleId="removed${dummyIndexIdUnidades}" property="removed"/>
-
 
671
                                                                            <button type="button" class="btn btn-danger" onclick="removeUnit(<%=dummyIndexIdUnidades%>)">
-
 
672
                                                                                <span class="glyphicon glyphicon-remove"> </span>
-
 
673
                                                                            </button>
-
 
674
                                                                        </td>
-
 
675
                                                                        <td>
-
 
676
                                                                            <script>
-
 
677
                                                                                $(document).ready(
-
 
678
                                                                                        function()
-
 
679
                                                                                        {
-
 
680
                                                                                            $("#siges${dummyIndexIdUnidades}").focusout(
-
 
681
                                                                                                    function(){
-
 
682
                                                                                                        var code = $("#siges${dummyIndexIdUnidades}").val();
-
 
683
                                                                                                        $.getJSON("<%=request.getContextPath()%>/user/courses/courseApiJson.jsp",
-
 
684
                                                                                                                { service:"findCourseUnit",
-
 
685
                                                                                                                  siges: code,
-
 
686
                                                                                                                  courseSigesCode: "${course.code}"
-
 
687
                                                                                                                },
-
 
688
                                                                                                                function(data)
-
 
689
                                                                                                                {
-
 
690
                                                                                                                    if(data.response == "ok")
-
 
691
                                                                                                                    {
-
 
692
                                                                                                                        $("#nome${dummyIndexIdUnidades}").val(data.courseUnitName);
-
 
693
                                                                                                                        $("#sigesResponse${dummyIndexIdUnidades}").html("");
-
 
694
                                                                                                                    }
-
 
695
                                                                                                                    else
-
 
696
                                                                                                                    {
-
 
697
                                                                                                                        $("#sigesResponse${dummyIndexIdUnidades}").html("Não encontrado");
-
 
698
                                                                                                                    }
-
 
699
                                                                                                                }
-
 
700
                                                                                                        );
-
 
701
                                                                                                    }
-
 
702
                                                                                            );
-
 
703
                                                                                        }
-
 
704
                                                                                );
-
 
705
                                                                            </script>
-
 
706
 
-
 
707
                                                                            <nested:text styleId="siges${dummyIndexIdUnidades}" styleClass="form-control" property="siges"/>
-
 
708
                                                                            <div id="sigesResponse${dummyIndexIdUnidades}"></div>
-
 
709
                                                                        </td>
-
 
710
                                                                        <td>
-
 
711
                                                                            <div>
-
 
712
                                                                                <div class="col-sm-1">(PT)</div>
-
 
713
                                                                                <div class="col-sm-11"><nested:text styleId="nome${dummyIndexIdUnidades}" style="width:300px" styleClass="form-control" property="nome"/></div>
-
 
714
 
-
 
715
                                                                                <div class="langs collapse" >
-
 
716
                                                                                    <div class="col-sm-1">(EN)</div>
-
 
717
                                                                                    <div class="col-sm-11"><nested:text styleId="nomeEn${dummyIndexIdUnidades}" style="width:300px" styleClass="form-control" property="nomeEn"/></div>
-
 
718
                                                                                    <div class="col-sm-1">(ES)</div>
-
 
719
                                                                                    <div class="col-sm-11"><nested:text styleId="nomeEs${dummyIndexIdUnidades}" style="width:300px" styleClass="form-control" property="nomeEs"/></div>
-
 
720
                                                                                    <div class="col-sm-1">(FR)</div>
-
 
721
                                                                                    <div class="col-sm-11"><nested:text styleId="nomeFr${dummyIndexIdUnidades}" style="width:300px" styleClass="form-control" property="nomeFr"/></div>
-
 
722
                                                                                </div>
-
 
723
                                                                            </div>
-
 
724
 
-
 
725
                                                                        </td>
-
 
726
                                                                        <td><nested:text styleClass="form-control" styleId="totalHoras${dummyIndexIdUnidades}" property="totalHoras"/></td>
-
 
727
                                                                        <td><nested:text styleClass="form-control" styleId="horasContactoT${dummyIndexIdUnidades}" property="horasContacto.t"/></td>
-
 
728
                                                                        <td><nested:text styleClass="form-control" styleId="horasContactoTP${dummyIndexIdUnidades}" property="horasContacto.TP"/></td>
-
 
729
                                                                        <td><nested:text styleClass="form-control" styleId="horasContactoP${dummyIndexIdUnidades}" property="horasContacto.p"/></td>
-
 
730
                                                                        <td><nested:text styleClass="form-control" styleId="horasContactoPL${dummyIndexIdUnidades}" property="horasContacto.PL"/></td>
-
 
731
                                                                        <td><nested:text styleClass="form-control" styleId="horasContactoPD${dummyIndexIdUnidades}" property="horasContacto.PD"/></td>
-
 
732
                                                                        <td><nested:text styleClass="form-control" styleId="horasContactoOT${dummyIndexIdUnidades}" property="horasContacto.OT"/></td>
-
 
733
                                                                        <td><nested:text styleClass="form-control" styleId="horasContactoE${dummyIndexIdUnidades}" property="horasContacto.e"/></td>
-
 
734
                                                                        <td><nested:text styleClass="form-control" styleId="horasContactoS${dummyIndexIdUnidades}" property="horasContacto.s"/></td>
-
 
735
                                                                        <td><nested:text styleClass="form-control" styleId="horasContactoTC${dummyIndexIdUnidades}" property="horasContacto.TC"/></td>
-
 
736
                                                                        <td><nested:text styleClass="form-control" styleId="horasContactoO${dummyIndexIdUnidades}" property="horasContacto.o"/></td>
-
 
737
                                                                        <td><nested:text styleClass="form-control" styleId="ECTS${dummyIndexIdUnidades}" property="ECTS"/></td>
-
 
738
                                                                        <td><nested:text styleClass="form-control" styleId="urlUnidadeCurricular${dummyIndexIdUnidades}" style="width:600px" property="urlUnidadeCurricular"/></td>
-
 
739
                                                                        <td data-unit-semestre="${semestre.id}" data-course-siges-code="${courseSigesCode}" data-unit-siges-code="${unit.siges}" data-unit-ficha-url-target-id="urlFichaCurricular${dummyIndexIdUnidades}" data-unit-site-url-target-id="urlUnidadeCurricular${dummyIndexIdUnidades}">
-
 
740
                                                                            <nested:text styleClass="form-control" styleId="urlFichaCurricular${dummyIndexIdUnidades}" style="width:600px" property="urlFichaCurricular"/>
-
 
741
                                                                        </td>
-
 
742
                                                                    </tr>
-
 
743
                                                                </nested:iterate>
-
 
744
                                                                </tbody>
-
 
745
                                                            </table>
-
 
746
                                                        </div>
-
 
747
                                                    </div>
645
                                                    </div>
-
 
646
                                                </div>
-
 
647
                                                <div ng-show="s.unidade.length > 0" class="table-responsive">
-
 
648
                                                    <table class="table clearfix">
-
 
649
                                                        <thead>
-
 
650
                                                        <tr>
-
 
651
                                                            <td></td>
-
 
652
                                                            <td></td>
-
 
653
                                                            <th ng-show="confView.SIGES">SIGES</th>
-
 
654
                                                            <th ng-show="confView.Nome">Nome</th>
-
 
655
                                                            <th ng-show="confView.ECTS">ECTS</th>
-
 
656
                                                            <th ng-show="confView.Total">Total</th>
-
 
657
                                                            <th ng-show="confView.T">T</th>
-
 
658
                                                            <th ng-show="confView.TP">TP</th>
-
 
659
                                                            <th ng-show="confView.P">P</th>
-
 
660
                                                            <th ng-show="confView.PL">PL</th>
-
 
661
                                                            <th ng-show="confView.PD">PD</th>
-
 
662
                                                            <th ng-show="confView.OT">OT</th>
-
 
663
                                                            <th ng-show="confView.E">E</th>
-
 
664
                                                            <th ng-show="confView.S">S</th>
-
 
665
                                                            <th ng-show="confView.TC">TC</th>
-
 
666
                                                            <th ng-show="confView.O">O</th>
-
 
667
                                                            <th ng-show="confView.URL_UNIDADE">URL UNIDADE</th>
-
 
668
                                                            <th ng-show="confView.FICHA_URL">FICHA URL</th>
-
 
669
                                                        </tr>
-
 
670
                                                    </thead>
-
 
671
                                                    <tbody ui-tree-nodes="" ng-model="s.unidade">
748
 
672
 
-
 
673
                                                        <!-- UNIDADE TEMPLATE START-->
-
 
674
                                                        <tr ng-repeat="u in s.unidade" ui-tree-node ng-include="'unidade_renderer.html'" ng-init="u.type='unidade';parent=s">
-
 
675
                                                        </tr>
-
 
676
                                                        <!--UNIDADE TEMPLATE END-->
-
 
677
 
-
 
678
                                                    </tbody>
749
                                                </nested:iterate>
679
                                                </table>
-
 
680
                                                </div>
-
 
681
                                            </div>
-
 
682
                                        </script>
-
 
683
                                        <!-- PERFIL TEMPLATE START -->
-
 
684
                                        <script type="text/ng-template" id="perfil_renderer.html">
750
 
685
 
751
                                                <nested:notEmpty property="unidade">
686
                                            <div class="panel-heading">
752
 
687
 
-
 
688
                                                <div class="form-group">
-
 
689
                                                    <div class="col-sm-1">
-
 
690
                                                        <button type="button" class="btn btn-danger" ng-click="removePerfil(parent,$index)">
-
 
691
                                                            <span class="glyphicon glyphicon-remove"> </span>
-
 
692
                                                        </button>
-
 
693
                                                    </div>
-
 
694
                                                    <div class="col-sm-3" ui-tree-handle>
-
 
695
                                                        <span class="btn btn-info"><i class="glyphicon glyphicon-resize-vertical"></i></span> Perfil
-
 
696
                                                    </div>
-
 
697
                                                    <div class="col-sm-5">
-
 
698
                                                        <input type="text" class="form-control" ng-model="p.nome">
-
 
699
                                                    </div>
-
 
700
                                                    <div  class="col-sm-3">
-
 
701
                                                        <button type="button" class="btn btn-success pull-right" ng-click="addUnidade(p)">
-
 
702
                                                            <span class="glyphicon glyphicon-plus"> </span>  Unidade
-
 
703
                                                        </button>
-
 
704
                                                    </div>
-
 
705
                                                </div>
-
 
706
                                            </div>
-
 
707
                                            <div class="panel-body clearfix table-responsive">
753
                                                    <table class="tablesorterfiltered">
708
                                                <table class="table">
754
                                                    <thead>
709
                                                    <thead>
755
                                                        <tr>
710
                                                    <tr>
756
                                                            <th></th>
711
                                                        <td></td>
757
                                                            <th></th>
712
                                                        <td></td>
758
                                                            <th>SIGES</th>
713
                                                        <th ng-show="confView.SIGES">SIGES</th>
759
                                                            <th>Nome</th>
714
                                                        <th ng-show="confView.Nome">Nome</th>
760
                                                            <th>Total</th>
715
                                                        <th ng-show="confView.ECTS">ECTS</th>
761
                                                            <th>T</th>
716
                                                        <th ng-show="confView.Total">Total</th>
762
                                                            <th>TP</th>
717
                                                        <th ng-show="confView.T">T</th>
763
                                                            <th>P</th>
718
                                                        <th ng-show="confView.TP">TP</th>
764
                                                            <th>PL</th>
719
                                                        <th ng-show="confView.P">P</th>
765
                                                            <th>PD</th>
720
                                                        <th ng-show="confView.PL">PL</th>
766
                                                            <th>OT</th>
721
                                                        <th ng-show="confView.PD">PD</th>
767
                                                            <th>E</th>
722
                                                        <th ng-show="confView.OT">OT</th>
768
                                                            <th>S</th>
723
                                                        <th ng-show="confView.E">E</th>
769
                                                            <th>TC</th>
724
                                                        <th ng-show="confView.S">S</th>
770
                                                            <th>O</th>
725
                                                        <th ng-show="confView.TC">TC</th>
771
                                                            <th>ECTS</th>
726
                                                        <th ng-show="confView.O">O</th>
772
                                                            <th>URL UNIDADE</th>
727
                                                        <th ng-show="confView.URL_UNIDADE">URL UNIDADE</th>
773
                                                            <th>FICHA URL</th>
728
                                                        <th ng-show="confView.FICHA_URL">FICHA URL</th>
774
                                                        </tr>
729
                                                    </tr>
775
                                                    </thead>
730
                                                    </thead>
776
                                                    <tbody>
-
 
777
                                                        <nested:size id="tamanho" property="unidade"/>
731
                                                    <tbody ui-tree-nodes="" ng-model="p.unidade">
778
                                                        <nested:iterate id="unit" property="unidade" indexId="indexId"  type="pt.estgp.estgweb.services.courses.xsd.UnidadeType">
-
 
779
                                                            <%
-
 
780
                                                                dummyIndexIdUnidades++;
732
                                                        <!-- UNIDADE TEMPLATE START-->
781
                                                                request.setAttribute("dummyIndexIdUnidades","dummyIndex" + dummyIndexIdUnidades);
733
                                                        <tr ng-repeat="u in p.unidade" ui-tree-node ng-include="'unidade_renderer.html'" ng-init="u.type='unidade';parent=p">
782
                                                            %>
-
 
783
                                                            <%
-
 
784
                                                                int tamanhoMinus1 = tamanho - 1;
-
 
785
                                                                request.setAttribute("tamanhoMinus1",tamanhoMinus1);
-
 
786
 
-
 
787
                                                            %>
734
                                                        </tr>
788
 
-
 
789
                                                            <tr <nested:equal property="removed" value="true">class="hidden"</nested:equal>>
-
 
790
                                                                <td class="text-nowrap">
-
 
791
 
-
 
792
                                                                <%--
-
 
793
                                                                           Usando o dummyIndex apenas não colocamos botao de up na primeira de todas as unidades de todos os semestres
-
 
794
                                                                           Antes usavamos o indexId e trabalhavamos lista a lista considerando semestres e perfis independentes
-
 
795
                                                                   --%>
-
 
796
                                                                    <nested:notEqual value="dummyIndex1" name="dummyIndexIdUnidades">
-
 
797
                                                                        <button type="button" class="btn btn-warning" onclick="sendUpUnidadeCurricular(<%=dummyIndexIdUnidades%>)">
-
 
798
                                                                            <span class="glyphicon glyphicon-arrow-up"> </span>
-
 
799
                                                                        </button>
-
 
800
                                                                    </nested:notEqual>
-
 
801
                                                                    <%
-
 
802
                                                                        boolean semestreMaximoAtingido = semestreIndexId >= tamanhoSemestre - 1;
-
 
803
                                                                        boolean tamanhoMaximoAtingido = indexId >= tamanho - 1;
-
 
804
                                                                        if(!semestreMaximoAtingido || !tamanhoMaximoAtingido)
-
 
805
                                                                        {
-
 
806
                                                                    %>
-
 
807
                                                                    <button type="button" class="btn btn-warning" onclick="sendDownUnidadeCurricular(<%=dummyIndexIdUnidades%>)">
-
 
808
                                                                        <span class="glyphicon glyphicon-arrow-down"> </span>
-
 
809
                                                                    </button>
-
 
810
                                                                    <%
-
 
811
                                                                        }
-
 
812
                                                                    %>
-
 
813
                                                                </td>
-
 
814
                                                                <td>
-
 
815
                                                                    <nested:hidden styleId="removed${dummyIndexIdUnidades}" property="removed"/>
-
 
816
                                                                    <button type="button" class="btn btn-danger" onclick="removeUnit(<%=dummyIndexIdUnidades%>)" >
-
 
817
                                                                        <span class="glyphicon glyphicon-remove"> </span>
-
 
818
                                                                    </button>
-
 
819
                                                                </td>
-
 
820
                                                                <td>
-
 
821
                                                                    <script>
-
 
822
                                                                        $(document).ready(
-
 
823
                                                                                function()
-
 
824
                                                                                {
-
 
825
                                                                                    $("#siges${dummyIndexIdUnidades}").focusout(
-
 
826
                                                                                            function(){
-
 
827
                                                                                                var code = $("#siges${dummyIndexIdUnidades}").val();
-
 
828
                                                                                                $.getJSON("<%=request.getContextPath()%>/user/courses/courseApiJson.jsp",
-
 
829
                                                                                                        { service:"findCourseUnit",
-
 
830
                                                                                                            siges: code,
-
 
831
                                                                                                            courseSigesCode: "${course.code}"
-
 
832
                                                                                                        },
-
 
833
                                                                                                        function(data)
-
 
834
                                                                                                        {
-
 
835
                                                                                                            if(data.response == "ok")
-
 
836
                                                                                                            {
-
 
837
                                                                                                                $("#nome${dummyIndexIdUnidades}").val(data.courseUnitName);
-
 
838
                                                                                                                $("#sigesResponse${dummyIndexIdUnidades}").html("");
-
 
839
                                                                                                            }
-
 
840
                                                                                                            else
-
 
841
                                                                                                            {
-
 
842
                                                                                                                $("#sigesResponse${dummyIndexIdUnidades}").html("Não encontrado");
-
 
843
                                                                                                            }
-
 
844
                                                                                                        }
-
 
845
                                                                                                );
-
 
846
                                                                                            }
-
 
847
                                                                                    );
-
 
848
                                                                                }
-
 
849
                                                                        );
-
 
850
                                                                    </script>
-
 
851
                                                                    <nested:text styleId="siges${dummyIndexIdUnidades}" styleClass="form-control" property="siges"/>
-
 
852
                                                                    <div id="sigesResponse${dummyIndexIdUnidades}"></div>
-
 
853
                                                                </td>
-
 
854
 
-
 
855
                                                                <td>
-
 
856
                                                                    <div>
-
 
857
                                                                        <div class="col-sm-1">(PT)</div>
-
 
858
                                                                        <div class="col-sm-11">
-
 
859
                                                                            <nested:text styleId="nome${dummyIndexIdUnidades}" style="width:300px" styleClass="form-control" property="nome"/>
-
 
860
                                                                        </div>
-
 
861
 
-
 
862
                                                                        <div class="langs collapse" >
-
 
863
                                                                            <div class="col-sm-1">(EN)</div>
-
 
864
                                                                            <div class="col-sm-11"><nested:text styleId="nomeEn${dummyIndexIdUnidades}" style="width:300px" styleClass="form-control" property="nomeEn"/></div>
-
 
865
                                                                            <div class="col-sm-1">(ES)</div>
-
 
866
                                                                            <div class="col-sm-11"><nested:text styleId="nomeEs${dummyIndexIdUnidades}" style="width:300px" styleClass="form-control" property="nomeEs"/></div>
-
 
867
                                                                            <div class="col-sm-1">(FR)</div>
-
 
868
                                                                            <div class="col-sm-11"><nested:text styleId="nomeFr${dummyIndexIdUnidades}" style="width:300px" styleClass="form-control" property="nomeFr"/></div>
-
 
869
                                                                        </div>
735
                                                        <!--UNIDADE TEMPLATE END-->
870
                                                                    </div>
-
 
871
 
-
 
872
                                                                </td>
-
 
873
                                                                <td><nested:text styleClass="form-control" styleId="totalHoras${dummyIndexIdUnidades}" property="totalHoras"/></td>
-
 
874
                                                                <td><nested:text styleClass="form-control" styleId="horasContactoT${dummyIndexIdUnidades}" property="horasContacto.t"/></td>
-
 
875
                                                                <td><nested:text styleClass="form-control" styleId="horasContactoTP${dummyIndexIdUnidades}" property="horasContacto.TP"/></td>
-
 
876
                                                                <td><nested:text styleClass="form-control" styleId="horasContactoP${dummyIndexIdUnidades}" property="horasContacto.p"/></td>
-
 
877
                                                                <td><nested:text styleClass="form-control" styleId="horasContactoPL${dummyIndexIdUnidades}" property="horasContacto.PL"/></td>
-
 
878
                                                                <td><nested:text styleClass="form-control" styleId="horasContactoPD${dummyIndexIdUnidades}" property="horasContacto.PD"/></td>
-
 
879
                                                                <td><nested:text styleClass="form-control" styleId="horasContactoOT${dummyIndexIdUnidades}" property="horasContacto.OT"/></td>
-
 
880
                                                                <td><nested:text styleClass="form-control" styleId="horasContactoE${dummyIndexIdUnidades}" property="horasContacto.e"/></td>
-
 
881
                                                                <td><nested:text styleClass="form-control" styleId="horasContactoS${dummyIndexIdUnidades}" property="horasContacto.s"/></td>
-
 
882
                                                                <td><nested:text styleClass="form-control" styleId="horasContactoTC${dummyIndexIdUnidades}" property="horasContacto.TC"/></td>
-
 
883
                                                                <td><nested:text styleClass="form-control" styleId="horasContactoO${dummyIndexIdUnidades}" property="horasContacto.o"/></td>
-
 
884
                                                                <td><nested:text styleClass="form-control" styleId="ECTS${dummyIndexIdUnidades}" property="ECTS"/></td>
-
 
885
                                                                <td><nested:text styleClass="form-control" styleId="urlUnidadeCurricular${dummyIndexIdUnidades}" style="width:600px" property="urlUnidadeCurricular"/></td>
-
 
886
                                                                <td data-unit-semestre="${semestre.id}" data-course-siges-code="${courseSigesCode}" data-unit-siges-code="${unit.siges}" data-unit-ficha-url-target-id="urlFichaCurricular${dummyIndexIdUnidades}" data-unit-site-url-target-id="urlUnidadeCurricular${dummyIndexIdUnidades}">
736
 
887
                                                                    <nested:text styleClass="form-control" styleId="urlFichaCurricular${dummyIndexIdUnidades}" style="width:600px" property="urlFichaCurricular"/>
-
 
888
                                                                </td>
-
 
889
                                                            </tr>
-
 
890
                                                        </nested:iterate>
-
 
891
                                                    </tbody>
737
                                                    </tbody>
892
                                                </table>
738
                                                </table>
893
                                                </nested:notEmpty>
-
 
894
 
-
 
895
                                            </div>
739
                                            </div>
896
                                        </div>
740
                                        </script>
-
 
741
 
-
 
742
                                        <script type="text/ng-template" id="unidade_renderer.html">
-
 
743
                                            <td class="text-nowrap">
-
 
744
                                                <span class="btn btn-info"><i class="glyphicon glyphicon-resize-vertical" ui-tree-handle></i></span>
-
 
745
                                            </td>
-
 
746
                                            <td>
-
 
747
                                                <button type="button" class="btn btn-danger" ng-click="removeUnidade(parent,$index)">
-
 
748
                                                    <span class="glyphicon glyphicon-remove"> </span>
-
 
749
                                                </button>
-
 
750
                                            </td>
-
 
751
                                            <td ng-show="confView.SIGES">
-
 
752
                                                <%--
897
 
753
 
-
 
754
                                                FOCUS FIND UNIT
898
                                    </nested:iterate>
755
                                                <script>
899
 
756
 
-
 
757
                                                    $(document).ready(
-
 
758
                                                            function()
-
 
759
                                                            {
-
 
760
                                                                $("#siges${dummyIndexIdUnidades}").focusout(
-
 
761
                                                                        function(){
-
 
762
                                                                            var code = $("#siges${dummyIndexIdUnidades}").val();
-
 
763
                                                                            $.getJSON("<%=request.getContextPath()%>/user/courses/courseApiJson.jsp",
-
 
764
                                                                                    { service:"findCourseUnit",
-
 
765
                                                                                        siges: code,
-
 
766
                                                                                        courseSigesCode: "${course.code}"
-
 
767
                                                                                    },
-
 
768
                                                                                    function(data)
-
 
769
                                                                                    {
-
 
770
                                                                                        if(data.response == "ok")
-
 
771
                                                                                        {
-
 
772
                                                                                            $("#nome${dummyIndexIdUnidades}").val(data.courseUnitName);
-
 
773
                                                                                            $("#sigesResponse${dummyIndexIdUnidades}").html("");
-
 
774
                                                                                        }
-
 
775
                                                                                        else
-
 
776
                                                                                        {
-
 
777
                                                                                            $("#sigesResponse${dummyIndexIdUnidades}").html("Não encontrado");
-
 
778
                                                                                        }
-
 
779
                                                                                    }
-
 
780
                                                                            );
-
 
781
                                                                        }
-
 
782
                                                                );
-
 
783
                                                            }
-
 
784
                                                    );
-
 
785
                                                </script>--%>
-
 
786
 
-
 
787
                                                <input type="text" ng-model="u.siges" style="width: 60px"/>
-
 
788
                                                <%--<div id="sigesResponse${dummyIndexIdUnidades}"></div>--%>
-
 
789
                                            </td>
-
 
790
                                            <td ng-show="confView.Nome">
-
 
791
                                                <div>
-
 
792
                                                    <div class="col-sm-11"><input type="text"  style="width:200px" ng-model="u.nome"/></div>
-
 
793
 
-
 
794
                                                    <div class="langs collapse" >
-
 
795
                                                        <div class="col-sm-1">(EN)</div>
-
 
796
                                                        <div class="col-sm-11"><input type="text"  style="width:200px" ng-model="u.nomeEn"/></div>
-
 
797
                                                        <div class="col-sm-1">(ES)</div>
-
 
798
                                                        <div class="col-sm-11"><input type="text"  style="width:200px" ng-model="u.nomeEs"/></div>
-
 
799
                                                        <div class="col-sm-1">(FR)</div>
-
 
800
                                                        <div class="col-sm-11"><input type="text"  style="width:200px" ng-model="u.nomeFr"/></div>
-
 
801
                                                    </div>
-
 
802
                                                </div>
-
 
803
 
-
 
804
                                            </td>
-
 
805
                                            <td ng-show="confView.ECTS"><input type="text" style="width: 40px" ng-model="u.eCTS"/></td>
-
 
806
                                            <td ng-show="confView.Total"><input type="text" style="width: 40px" ng-model="u.totalHoras"></td>
-
 
807
 
-
 
808
                                            <td ng-show="confView.T"><input type="text" style="width: 40px" ng-model="u.horasContacto.t"/></td>
-
 
809
                                            <td ng-show="confView.TP"><input type="text" style="width: 40px" ng-model="u.horasContacto.TP"/></td>
-
 
810
                                            <td ng-show="confView.P"><input type="text" style="width: 40px" ng-model="u.horasContacto.p"/></td>
-
 
811
                                            <td ng-show="confView.PL"><input type="text" style="width: 40px" ng-model="u.horasContacto.PL"/></td>
-
 
812
                                            <td ng-show="confView.PD"><input type="text" style="width: 40px" ng-model="u.horasContacto.PD"/></td>
-
 
813
                                            <td ng-show="confView.OT"><input type="text" style="width: 40px" ng-model="u.horasContacto.OT"/></td>
-
 
814
                                            <td ng-show="confView.E"><input type="text" style="width: 40px" ng-model="u.horasContacto.e"/></td>
-
 
815
                                            <td ng-show="confView.S"><input type="text" style="width: 40px" ng-model="u.horasContacto.s"/></td>
-
 
816
                                            <td ng-show="confView.TC"><input type="text" style="width: 40px" ng-model="u.horasContacto.TC"/></td>
-
 
817
                                            <td ng-show="confView.O"><input type="text" style="width: 40px" ng-model="u.horasContacto.o"/></td>
-
 
818
                                            <td ng-show="confView.URL_UNIDADE"><input type="text" ng-model="u.urlUnidadeCurricular" style="width:600px"/></td>
900
                                </nested:notEmpty>
819
                                            <td ng-show="confView.FICHA_URL" data-unit-semestre="{{s.id}}" data-course-siges-code="${courseSigesCode}" data-unit-siges-code="{{u.siges}}" data-unit-ficha-url-target-id="urlFichaCurricular{{s.id}}_{{u.siges}}" data-unit-site-url-target-id="urlUnidadeCurricular{{s.id}}_{{u.siges}}">
-
 
820
                                                <input type="text" id="urlFichaCurricular{{s.id}}_{{u.siges}}"  ng-model="u.urlFichaCurricular" style="width:600px"/>
-
 
821
                                            </td>
-
 
822
                                        </script>
-
 
823
 
-
 
824
                                       <%-- <pre class="code">
-
 
825
                                            {{json | json}}
-
 
826
                                        </pre>--%>
-
 
827
                                        <a type="button" class="btn btn-danger" href="<%=request.getContextPath()%>/user/adminStudyPlans.do?courseId=${courseId}">Cancelar</a>
-
 
828
                                        <button type="button" class="btn btn-success" ng-click="salvar()">Salvar</button>
-
 
829
                                    </div>
901
 
830
 
902
                                <a type="button" class="btn btn-danger" href="<%=request.getContextPath()%>/user/adminStudyPlans.do?courseId=${courseId}">Cancelar</a>
-
 
903
                                <html:submit styleClass="btn btn-success" >Salvar</html:submit>
-
 
904
 
831
 
905
 
832
 
906
 
833
 
907
 
834
 
908
                    </div>
835
                    </div>