Rev 1516 | Rev 1518 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1516 | Rev 1517 | ||
---|---|---|---|
Line 286... | Line 286... | ||
286 | { |
286 | { |
287 | $("#removed" + "dummyIndex" + dummyIndexId).val("true"); |
287 | $("#removed" + "dummyIndex" + dummyIndexId).val("true"); |
288 | $("#removed" + "dummyIndex" + dummyIndexId).closest("tr").hide("slow"); |
288 | $("#removed" + "dummyIndex" + dummyIndexId).closest("tr").hide("slow"); |
289 | 289 | ||
290 | } |
290 | } |
- | 291 | ||
- | 292 | function sendUpSemestre(dummySemestreId,form) |
|
- | 293 | { |
|
- | 294 | $(form.semestreId).val("semestreDummy" + dummySemestreId); |
|
- | 295 | $(form.dispatch).val("sendUpSemestre"); |
|
- | 296 | form.submit(); |
|
- | 297 | } |
|
- | 298 | function sendDownSemestre(dummySemestreId,form) |
|
- | 299 | { |
|
- | 300 | $(form.semestreId).val("semestreDummy" +dummySemestreId); |
|
- | 301 | $(form.dispatch).val("sendDownSemestre"); |
|
- | 302 | form.submit(); |
|
- | 303 | } |
|
- | 304 | ||
- | 305 | function sendUpPerfil(dummyPerfilId,form,dummySemestreId) |
|
- | 306 | { |
|
- | 307 | form.action = form.action + "#" + dummySemestreId; |
|
- | 308 | $(form.perfilId).val("perfilDummy" + dummyPerfilId); |
|
- | 309 | $(form.dispatch).val("sendUpPerfil"); |
|
- | 310 | form.submit(); |
|
- | 311 | } |
|
- | 312 | function sendDownPerfil(dummyPerfilId,form,dummySemestreId) |
|
- | 313 | { |
|
- | 314 | form.action = form.action + "#" + dummySemestreId; |
|
- | 315 | $(form.perfilId).val("perfilDummy" + dummyPerfilId); |
|
- | 316 | $(form.dispatch).val("sendDownPerfil"); |
|
- | 317 | form.submit(); |
|
- | 318 | } |
|
291 | </script> |
319 | </script> |
292 | <nested:notEmpty property="planoEstudos"> |
320 | <nested:notEmpty property="planoEstudos"> |
293 | 321 | ||
294 | <html:hidden property="planoEstudos.siges"/> |
322 | <html:hidden property="planoEstudos.siges"/> |
295 | <html:hidden property="planoEstudos.nome"/> |
323 | <html:hidden property="planoEstudos.nome"/> |
296 | <html:hidden property="planoEstudos.dep"/> |
324 | <html:hidden property="planoEstudos.dep"/> |
- | 325 | <nested:size id="tamanhoSemestre" property="planoEstudos.semestre"/> |
|
297 | <nested:iterate id="semestre" property="planoEstudos.semestre" type="pt.estgp.estgweb.services.courses.xsd.Curso.Semestre"> |
326 | <nested:iterate id="semestre" indexId="semestreIndexId" property="planoEstudos.semestre" type="pt.estgp.estgweb.services.courses.xsd.Curso.Semestre"> |
298 | <div class="panel panel-default"> |
327 | <div class="panel panel-primary"> |
299 | <div class="panel-heading"> |
328 | <div class="panel-heading"> |
300 | 329 | ||
301 | <div class="form-group"> |
330 | <div class="form-group"> |
302 | <% |
331 | <% |
303 | dummyIndexSemestreId++; |
332 | dummyIndexSemestreId++; |
304 | request.setAttribute("dummyIndexSemestreId",dummyIndexSemestreId); |
333 | request.setAttribute("dummyIndexSemestreId",dummyIndexSemestreId); |
305 | %> |
334 | %> |
306 | <nested:hidden property="semestreId" value="semestreDummy${dummyIndexSemestreId}"/> |
335 | <nested:hidden property="semestreId" value="semestreDummy${dummyIndexSemestreId}"/> |
307 | <div class="col-sm-1"> |
336 | <div class="col-sm-2"> |
- | 337 | <button type="button" class="btn btn-warning" onclick="sendUpSemestre('<%=dummyIndexSemestreId%>',this.form)"> |
|
- | 338 | <span class="glyphicon glyphicon-arrow-up"> </span> |
|
- | 339 | </button> |
|
- | 340 | <button type="button" class="btn btn-warning" onclick="sendDownSemestre('<%=dummyIndexSemestreId%>',this.form)"> |
|
- | 341 | <span class="glyphicon glyphicon-arrow-down"> </span> |
|
- | 342 | </button> |
|
308 | <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()"> |
343 | <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()"> |
309 | <span class="glyphicon glyphicon-remove"> </span> |
344 | <span class="glyphicon glyphicon-remove"> </span> |
310 | </button> |
345 | </button> |
311 | </div> |
346 | </div> |
312 | <div class="col-sm-1"> |
347 | <div class="col-sm-1"> |
313 | Duração |
348 | Duração |
314 | </div> |
349 | </div> |
315 | <div class="col-sm-4"> |
350 | <div class="col-sm-3"> |
- | 351 | <script> |
|
- | 352 | $(document).ready( |
|
- | 353 | function() |
|
- | 354 | { |
|
- | 355 | showHideSemestreDesc${dummyIndexSemestreId}(); |
|
- | 356 | } |
|
- | 357 | ); |
|
- | 358 | ||
- | 359 | ||
316 | <nested:select styleClass="form-control" property="id"> |
360 | function showHideSemestreDesc${dummyIndexSemestreId}() |
- | 361 | { |
|
- | 362 | if($("#selectSemestreDesc${dummyIndexSemestreId}").val()=='OP') |
|
- | 363 | { |
|
- | 364 | $('#semestreDescContainer${dummyIndexSemestreId}').show(); |
|
- | 365 | } |
|
- | 366 | else |
|
- | 367 | { |
|
- | 368 | $('#semestreDescContainer${dummyIndexSemestreId}').hide(); |
|
- | 369 | } |
|
- | 370 | } |
|
- | 371 | </script> |
|
- | 372 | <nested:select styleClass="form-control" property="id" styleId="selectSemestreDesc${dummyIndexSemestreId}" onchange="showHideSemestreDesc${dummyIndexSemestreId}(this)"> |
|
317 | <html:option value="S1">Semestre 1</html:option> |
373 | <html:option value="S1">Semestre 1</html:option> |
318 | <html:option value="S2">Semestre 2</html:option> |
374 | <html:option value="S2">Semestre 2</html:option> |
319 | <html:option value="S3">Semestre 3</html:option> |
375 | <html:option value="S3">Semestre 3</html:option> |
320 | <html:option value="S4">Semestre 4</html:option> |
376 | <html:option value="S4">Semestre 4</html:option> |
321 | <html:option value="S5">Semestre 5</html:option> |
377 | <html:option value="S5">Semestre 5</html:option> |
Line 326... | Line 382... | ||
326 | <html:option value="T4">Trimestre 4</html:option> |
382 | <html:option value="T4">Trimestre 4</html:option> |
327 | <html:option value="T5">Trimestre 5</html:option> |
383 | <html:option value="T5">Trimestre 5</html:option> |
328 | <html:option value="T6">Trimestre 6</html:option> |
384 | <html:option value="T6">Trimestre 6</html:option> |
329 | <html:option value="T7">Trimestre 7</html:option> |
385 | <html:option value="T7">Trimestre 7</html:option> |
330 | <html:option value="T8">Trimestre 8</html:option> |
386 | <html:option value="T8">Trimestre 8</html:option> |
- | 387 | <html:option value="OP">Opcionais</html:option> |
|
331 | </nested:select> |
388 | </nested:select> |
- | 389 | <div id="semestreDescContainer${dummyIndexSemestreId}"> |
|
- | 390 | Descrição (PT) <nested:text property="semestreDesc" styleClass="form-control"/> |
|
- | 391 | Descrição (EN) <nested:text property="semestreDescEn" styleClass="form-control"/> |
|
- | 392 | Descrição (ES) <nested:text property="semestreDescEs" styleClass="form-control"/> |
|
- | 393 | Descrição (FR) <nested:text property="semestreDescFr" styleClass="form-control"/> |
|
- | 394 | </div> |
|
332 | </div> |
395 | </div> |
333 | <div class="col-sm-6"> |
396 | <div class="col-sm-6"> |
334 | 397 | ||
335 | <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()"> |
398 | <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()"> |
336 | <span class="glyphicon glyphicon-plus"> </span> Unidade |
399 | <span class="glyphicon glyphicon-plus"> </span> Unidade |
Line 346... | Line 409... | ||
346 | </div> |
409 | </div> |
347 | <div class="panel-body"> |
410 | <div class="panel-body"> |
348 | 411 | ||
349 | 412 | ||
350 | <button class="btn btn-default" data-toggle="collapse" type="button" data-target=".langs">Ver Campos Multingua</button> |
413 | <button class="btn btn-default" data-toggle="collapse" type="button" data-target=".langs">Ver Campos Multingua</button> |
- | 414 | ||
- | 415 | <nested:size id="tamanhoPerfil" property="perfil"/> |
|
351 | <nested:iterate id="perfil" property="perfil" type="pt.estgp.estgweb.services.courses.xsd.Curso.Semestre.Perfil"> |
416 | <nested:iterate id="perfil" indexId="perfilIndexId" property="perfil" type="pt.estgp.estgweb.services.courses.xsd.Curso.Semestre.Perfil"> |
352 | <div class="panel panel-default"> |
417 | <div class="panel panel-default"> |
353 | <div class="panel-heading"> |
418 | <div class="panel-heading"> |
354 | <div class="form-group"> |
419 | <div class="form-group"> |
355 | <% |
420 | <% |
356 | dummyIndexPerfilId++; |
421 | dummyIndexPerfilId++; |
357 | request.setAttribute("dummyIndexPerfilId",dummyIndexPerfilId); |
422 | request.setAttribute("dummyIndexPerfilId",dummyIndexPerfilId); |
358 | %> |
423 | %> |
359 | <a name="perfilDummy${dummyIndexPerfilId}"></a> |
424 | <a name="perfilDummy${dummyIndexPerfilId}"></a> |
360 | <nested:hidden property="perfilId" value="perfilDummy${dummyIndexPerfilId}"/> |
425 | <nested:hidden property="perfilId" value="perfilDummy${dummyIndexPerfilId}"/> |
361 | <div class="col-sm-1"> |
426 | <div class="col-sm-2"> |
- | 427 | <button type="button" class="btn btn-warning" onclick="sendUpPerfil('<%=dummyIndexPerfilId%>',this.form,'semestreDummy${dummyIndexSemestreId}')"> |
|
- | 428 | <span class="glyphicon glyphicon-arrow-up"> </span> |
|
- | 429 | </button> |
|
- | 430 | <button type="button" class="btn btn-warning" onclick="sendDownPerfil('<%=dummyIndexPerfilId%>',this.form,'semestreDummy${dummyIndexSemestreId}')"> |
|
- | 431 | <span class="glyphicon glyphicon-arrow-down"> </span> |
|
- | 432 | </button> |
|
362 | <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()"> |
433 | <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()"> |
363 | <span class="glyphicon glyphicon-remove"> </span> |
434 | <span class="glyphicon glyphicon-remove"> </span> |
364 | </button> |
435 | </button> |
365 | </div> |
436 | </div> |
366 | <div class="col-sm-1"> |
437 | <div class="col-sm-1"> |
367 | Perfil |
438 | Perfil |
368 | </div> |
439 | </div> |
369 | <div class="col-sm-6"> |
440 | <div class="col-sm-5"> |
370 | <nested:text styleClass="form-control" property="nome"/> |
441 | <nested:text styleClass="form-control" property="nome"/> |
371 | </div> |
442 | </div> |
372 | <div class="col-sm-4"> |
443 | <div class="col-sm-4"> |
373 | <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()"> |
444 | <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()"> |
374 | <span class="glyphicon glyphicon-plus"> </span> Unidade |
445 | <span class="glyphicon glyphicon-plus"> </span> Unidade |
Line 414... | Line 485... | ||
414 | 485 | ||
415 | %> |
486 | %> |
416 | <tr <nested:equal property="removed" value="true">class="hidden"</nested:equal>> |
487 | <tr <nested:equal property="removed" value="true">class="hidden"</nested:equal>> |
417 | <td class="text-nowrap"> |
488 | <td class="text-nowrap"> |
418 | 489 | ||
- | 490 | <%-- |
|
- | 491 | Usando o dummyIndex apenas não colocamos botao de up na primeira de todas as unidades de todos os semestres |
|
- | 492 | Antes usavamos o indexId e trabalhavamos lista a lista considerando semestres e perfis independentes |
|
- | 493 | --%> |
|
419 | <nested:greaterThan value="0" name="indexId"> |
494 | <nested:notEqual value="dummyIndex1" name="dummyIndexIdUnidades"> |
420 | <button type="button" class="btn btn-warning" onclick="sendUpUnidadeCurricular(<%=dummyIndexIdUnidades%>)"> |
495 | <button type="button" class="btn btn-warning" onclick="sendUpUnidadeCurricular(<%=dummyIndexIdUnidades%>)"> |
421 | <span class="glyphicon glyphicon-arrow-up"> </span> |
496 | <span class="glyphicon glyphicon-arrow-up"> </span> |
422 | </button> |
497 | </button> |
423 | </nested:greaterThan> |
498 | </nested:notEqual> |
- | 499 | <% |
|
- | 500 | boolean perfilMaximoAtingido = perfilIndexId >= tamanhoPerfil - 1; |
|
- | 501 | boolean semestreMaximoAtingido = semestreIndexId >= tamanhoSemestre - 1; |
|
424 | <nested:lessThan name="indexId" value="${tamanhoMinus1}"> |
502 | boolean tamanhoMaximoAtingido = indexId >= tamanho - 1; |
- | 503 | if(!perfilMaximoAtingido || !semestreMaximoAtingido || !tamanhoMaximoAtingido) |
|
- | 504 | { |
|
- | 505 | %> |
|
425 | <button type="button" class="btn btn-warning" onclick="sendDownUnidadeCurricular(<%=dummyIndexIdUnidades%>)"> |
506 | <button type="button" class="btn btn-warning" onclick="sendDownUnidadeCurricular(<%=dummyIndexIdUnidades%>)"> |
426 | <span class="glyphicon glyphicon-arrow-down"> </span> |
507 | <span class="glyphicon glyphicon-arrow-down"> </span> |
427 | </button> |
508 | </button> |
- | 509 | <% |
|
- | 510 | } |
|
428 | </nested:lessThan> |
511 | %> |
429 | </td> |
512 | </td> |
430 | <td> |
513 | <td> |
431 | <nested:hidden styleId="removed${dummyIndexIdUnidades}" property="removed"/> |
514 | <nested:hidden styleId="removed${dummyIndexIdUnidades}" property="removed"/> |
432 | <button type="button" class="btn btn-danger" onclick="removeUnit(<%=dummyIndexIdUnidades%>)"> |
515 | <button type="button" class="btn btn-danger" onclick="removeUnit(<%=dummyIndexIdUnidades%>)"> |
433 | <span class="glyphicon glyphicon-remove"> </span> |
516 | <span class="glyphicon glyphicon-remove"> </span> |
Line 512... | Line 595... | ||
512 | %> |
595 | %> |
513 | 596 | ||
514 | <tr <nested:equal property="removed" value="true">class="hidden"</nested:equal>> |
597 | <tr <nested:equal property="removed" value="true">class="hidden"</nested:equal>> |
515 | <td class="text-nowrap"> |
598 | <td class="text-nowrap"> |
516 | 599 | ||
- | 600 | <%-- |
|
- | 601 | Usando o dummyIndex apenas não colocamos botao de up na primeira de todas as unidades de todos os semestres |
|
- | 602 | Antes usavamos o indexId e trabalhavamos lista a lista considerando semestres e perfis independentes |
|
- | 603 | --%> |
|
517 | <nested:greaterThan value="0" name="indexId"> |
604 | <nested:notEqual value="dummyIndex1" name="dummyIndexIdUnidades"> |
518 | <button type="button" class="btn btn-warning" onclick="sendUpUnidadeCurricular(<%=dummyIndexIdUnidades%>)"> |
605 | <button type="button" class="btn btn-warning" onclick="sendUpUnidadeCurricular(<%=dummyIndexIdUnidades%>)"> |
519 | <span class="glyphicon glyphicon-arrow-up"> </span> |
606 | <span class="glyphicon glyphicon-arrow-up"> </span> |
520 | </button> |
607 | </button> |
521 | </nested:greaterThan> |
608 | </nested:notEqual> |
- | 609 | <% |
|
- | 610 | boolean semestreMaximoAtingido = semestreIndexId >= tamanhoSemestre - 1; |
|
522 | <nested:lessThan name="indexId" value="${tamanhoMinus1}"> |
611 | boolean tamanhoMaximoAtingido = indexId >= tamanho - 1; |
- | 612 | if(!semestreMaximoAtingido || !tamanhoMaximoAtingido) |
|
- | 613 | { |
|
- | 614 | %> |
|
523 | <button type="button" class="btn btn-warning" onclick="sendDownUnidadeCurricular(<%=dummyIndexIdUnidades%>)"> |
615 | <button type="button" class="btn btn-warning" onclick="sendDownUnidadeCurricular(<%=dummyIndexIdUnidades%>)"> |
524 | <span class="glyphicon glyphicon-arrow-down"> </span> |
616 | <span class="glyphicon glyphicon-arrow-down"> </span> |
525 | </button> |
617 | </button> |
- | 618 | <% |
|
- | 619 | } |
|
526 | </nested:lessThan> |
620 | %> |
527 | </td> |
621 | </td> |
528 | <td> |
622 | <td> |
529 | <nested:hidden styleId="removed${dummyIndexIdUnidades}" property="removed"/> |
623 | <nested:hidden styleId="removed${dummyIndexIdUnidades}" property="removed"/> |
530 | <button type="button" class="btn btn-danger" onclick="removeUnit(<%=dummyIndexIdUnidades%>)" > |
624 | <button type="button" class="btn btn-danger" onclick="removeUnit(<%=dummyIndexIdUnidades%>)" > |
531 | <span class="glyphicon glyphicon-remove"> </span> |
625 | <span class="glyphicon glyphicon-remove"> </span> |