/branches/v3/impl/conf/language/MessageResources.properties |
---|
1050,7 → 1050,7 |
course.description=Descrição |
course.coordinator=Coordenador de Curso |
course.director=Director de Departamento |
course.studies.plan=Plano de Estudos (XML válido no planoEstudos.xsd) |
course.studies.plan=Plano de Estudos |
course.studies.plan.users=Plano de Estudos |
course.studies.plan.not.available=Não disponivel |
course.courseunit.program.objectives.todo={0} Unidades em Falta (Ficha) |
/branches/v3/impl/conf/WEB-INF/struts/struts-courseunits.xml |
---|
26,6 → 26,8 |
<action path="/startTeste2" forward="page.separators.home"/> |
<action path="/user/startLoadCourseUnitProgram" forward="/user/courseUnitProgramController.do?dispatch=editProgram"/> |
<action path="/user/validateAndLoadCourseUnitProgram" forward="/user/courseUnitProgramController.do?dispatch=validateProgram"/> |
<action path="/user/invalidateAndLoadCourseUnitProgram" forward="/user/courseUnitProgramController.do?dispatch=invalidateProgram"/> |
<action path="/startLoadCourseUnitStudents" forward="/courseUnitController.do?dispatch=loadStudents"/> |
<action path="/startCourseUnitBlog" forward="/courseUnitController.do?dispatch=startBlog"/> |
<action path="/startLoadCourseUnitWorks" forward="/courseUnitController.do?dispatch=loadWorks"/> |
/branches/v3/impl/conf/WEB-INF/struts/tiles-courses.xml |
---|
27,7 → 27,7 |
<put name="body" value="/public/courses/course.jsp"/> |
</definition> |
<definition name="page.load.course.plan" extends="base.layout1"> |
<definition name="page.load.course.plan" extends="base.layout0ComLeft"> |
<put name="title" value="Curso"/> |
<put name="topnav" value="/public/courses/topnavCourse.jsp"/> |
<!--<put name="navigation" value="/public/courses/courses.jsp"/>--> |
35,16 → 35,14 |
<put name="body" value="/public/courses/studiesPlan.jsp"/> |
</definition> |
<definition name="page.load.course.separators" extends="base.layout1"> |
<definition name="page.load.course.separators" extends="base.layout0ComLeft"> |
<put name="title" value="Curso"/> |
<put name="topnav" value="/public/courses/topnavCourse.jsp"/> |
<put name="navigation" value="/public/courses/courseMenu.jsp"/> |
<put name="body" value="/public/courses/courseSeparators.jsp"/> |
</definition> |
<definition name="page.load.course.menu" extends="base.layout1"> |
<definition name="page.load.course.menu" extends="base.layout0ComLeft"> |
<put name="title" value="Curso"/> |
<put name="topnav" value="/public/courses/topnavCourse.jsp"/> |
<put name="navigation" value="/public/courses/courseMenu.jsp"/> |
100,11 → 98,6 |
</definition> |
<definition name="page.courses.comissions" extends="page.separators.home"> |
<put name="title" value="Comissões de Curso"/> |
<put name="topnav" value="/admin/courses/topnavCourseComissions.jsp"/> |
<put name="body" value="/admin/courses/courseComissions.jsp"/> |
</definition> |
<definition name="page.courses.courseunits" extends="page.separators.home"> |
<put name="title" value="Listagem de Unidades"/> |
/branches/v3/impl/conf/WEB-INF/struts/struts-configuration.xml |
---|
10,6 → 10,7 |
<form-bean type="pt.estgp.estgweb.web.form.configuration.ConfigurationGradesForm" name="ConfigurationGradesForm"/> |
<form-bean type="pt.estgp.estgweb.web.form.configuration.DirectoriesForm" name="DirectoriesForm"/> |
<form-bean type="pt.estgp.estgweb.web.form.configuration.SchedulleTasksForm" name="SchedulleTasksForm"/> |
<form-bean type="pt.estgp.estgweb.web.form.configuration.ConfigurationsForm" name="ConfigurationsForm"/> |
</form-beans> |
<global-exceptions> |
35,8 → 36,22 |
<forward name="userRoles" path="page.configuration.userRoles"/> |
</action> |
<action path="/admin/configurations" forward="page.configurations"/> |
<action path="/admin/setConfigurations" |
type="pt.estgp.estgweb.web.controllers.configuration.ConfigurationsController" |
name="ConfigurationsForm" |
scope="request" |
parameter="dispatch" |
validate="false" |
input="page.separators.serviceZone"> |
<forward name="save" path="page.separators.serviceZone"/> |
<forward name="configs" path="page.configurations"/> |
</action> |
<action path="/user/configurationGrades" forward="page.configuration.grades"/> |
<action path="/user/grades" |
type="pt.estgp.estgweb.web.controllers.configuration.GradesController" |
name="ConfigurationGradesForm" |
/branches/v3/impl/conf/WEB-INF/struts/tiles-configuration.xml |
---|
12,6 → 12,12 |
<put name="body" value="/admin/configuration/grades.jsp"/> |
</definition> |
<definition name="page.configurations" extends="page.separators.serviceZone"> |
<put name="title" value="Configurações Gerais"/> |
<put name="topnav" value="/user/serviceZone/topnavConfigurations.jsp"/> |
<put name="body" value="/admin/configuration/configs.jsp"/> |
</definition> |
<definition name="page.configuration.userRoles" extends="page.separators.serviceZone"> |
<put name="title" value="Configuração Papeis Institucionais"/> |
<put name="topnav" value="/user/serviceZone/topnavConfigurationUserRoles.jsp"/> |
/branches/v3/impl/conf/WEB-INF/struts/tiles-default.xml |
---|
55,6 → 55,10 |
<put name="navigation" value="/layout/navigationLeft.jsp" /> |
</definition> |
<definition name="base.layout0ComLeft" extends="base.definition" path="/layout/layout0ComLeft.jsp"> |
<put name="navigation" value="/layout/navigationLeft.jsp" /> |
</definition> |
<definition name="base.layout2" extends="base.definition" path="/layout/layout2.jsp"/> |
<definition name="base.layout3" extends="base.definition" path="/layout/layout3.jsp"> |
/branches/v3/impl/conf/WEB-INF/tlds/baco.tld |
---|
121,6 → 121,20 |
</attribute> |
</tag> |
<tag> |
<name>isNotOwner</name> |
<tagclass>pt.estgp.estgweb.web.tags.NotOwnerTag</tagclass> |
<attribute> |
<name>name</name> |
<required>true</required> |
<rtexprvalue>true</rtexprvalue> |
</attribute> |
<attribute> |
<name>property</name> |
<required>false</required> |
<rtexprvalue>false</rtexprvalue> |
</attribute> |
</tag> |
<tag> |
<name>isRealOwner</name> |
<tagclass>pt.estgp.estgweb.web.tags.RealOwnerTag</tagclass> |
<attribute> |
/branches/v3/impl/conf/app.properties |
---|
111,7 → 111,7 |
module.quotasImpressao=false |
module.srusource=false |
#Duarte Santos |
module.surveys=true |
module.surveys=false |
#Filipe Matos |
module.assessments=true |
/branches/v3/impl/conf/directories/topMenus.xml |
---|
1,50 → 1,226 |
<?xml version="1.0" encoding="UTF-8"?> |
<directory id="topMenus" label="Menus de Top" place="home" layout="" layoutRoot="" targetRole="" menuKey="" style="topMenus.xsl" xmlns="http://www.estgp.pt/baco/directory/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.estgp.pt/baco/directory/ directory.xsd"> |
<leaf node="true" label="Apresentação" id="app"> |
<leaf node="false" id="msgDir" label="Mensagem do Director" absolute="false" url="/dir/futureStudent/ESTG/estgDirector/public/portal/estgMensagemDirector.html" proxy="local"/> |
<leaf node="false" id="missao" label="A ESTG e a sua missão" absolute="false" url="/dir/futureStudent/ESTG/estgMissao/public/portal/estgMissao.html" proxy="local"/> |
<leaf node="false" id="historia" label="História" absolute="false" url="/dir/futureStudent/ESTG/estgPassado/public/portal/estgPassado.html" proxy="local"/> |
<leaf node="false" id="localizacao" label="Localização" absolute="false" url="/dir/futureStudent/ESTG/estgChegar/public/portal/estgComoChegarEstg.html" proxy="local"/> |
<leaf node="false" id="fotos" label="A ESTG em Fotografias" absolute="false" url="/dir/futureStudent/ESTG/estgFotos/public/portal/estgFotos.html" proxy="local"/> |
</leaf> |
<leaf node="true" label="Organização" id="org"> |
<leaf node="false" id="director" label="Director" absolute="false" url="/dir/student/OrgaosGestao/orgaosDirector/public/portal/orgaoDirector.html" proxy="local"/> |
<leaf node="false" id="ctc" label="Conselho Tecnico Cientifico" absolute="false" url="/dir/student/OrgaosGestao/orgaosConselhoTecnicoCientifico/public/portal/orgaosConselhoTecnicoCientifico.html" proxy="local"/> |
<leaf node="false" id="cr" label="Conselho de Representantes" absolute="false" url="/dir/student/OrgaosGestao/orgaosConselhoRepresentantes/public/portal/orgaosConselhoRepresentantes.html" proxy="local"/> |
<leaf node="false" id="cp" label="Conselho Pedagógico" absolute="false" url="/dir/student/OrgaosGestao/orgaosConselhoPedagogico/public/portal/orgaosConselhoPedagogico.html" proxy="local"/> |
<leaf node="false" id="cg" label="Conselho de Gestão" absolute="false" url="/dir/student/OrgaosGestao/orgaosConselhogestao/public/portal/orgaosConselhoGestao.html" proxy="local"/> |
<leaf node="false" id="cint" label="Conselho Interdepartamental" absolute="false" url="/dir/teacher/OrgaosGestao/orgaosConselhoInterdepartamental/public/portal/orgaosConselhoInterdepartamental.html" proxy="local"/> |
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> |
<directory menuKey="" targetRole="all" layoutRoot="" layout="" style="topMenus.xsl" label_es="" label_en="" label="Menus de Top" id="topMenus" xmlns="http://www.estgp.pt/baco/directory/"> |
<groupsDeclaration/> |
<leaf remoteExtensionRoot="false" proxy="local" absolute="true" style="true" layout="true" label_es="" label_en="" |
label="Apresentação" id="app" url="" node="true"> |
<groupsDeclaration/> |
<leaf remoteExtensionRoot="false" proxy="local" absolute="false" style="true" layout="true" label_es="" |
label_en="" label="Mensagem do Director" id="msgDir" |
url="/dir/futureStudent/ESTG/estgDirector/public/portal/estgMensagemDirector.html" node="false"> |
<groupsDeclaration/> |
<rights/> |
</leaf> |
<leaf remoteExtensionRoot="false" proxy="local" absolute="false" style="true" layout="true" label_es="" |
label_en="" label="A ESTG e a sua missão" id="missao" |
url="/dir/futureStudent/ESTG/estgMissao/public/portal/estgMissao.html" node="false"> |
<groupsDeclaration/> |
<rights/> |
</leaf> |
<leaf remoteExtensionRoot="false" proxy="local" absolute="false" style="true" layout="true" label_es="" |
label_en="" label="História" id="historia" |
url="/dir/futureStudent/ESTG/estgPassado/public/portal/estgPassado.html" node="false"> |
<groupsDeclaration/> |
<rights/> |
</leaf> |
<leaf remoteExtensionRoot="false" proxy="local" absolute="false" style="true" layout="true" label_es="" |
label_en="" label="Localização" id="localizacao" |
url="/dir/futureStudent/ESTG/estgChegar/public/portal/estgComoChegarEstg.html" node="false"> |
<groupsDeclaration/> |
<rights/> |
</leaf> |
<leaf remoteExtensionRoot="false" proxy="local" absolute="false" style="true" layout="true" label_es="" |
label_en="" label="A ESTG em Fotografias" id="fotos" |
url="/dir/futureStudent/ESTG/estgFotos/public/portal/estgFotos.html" node="false"> |
<groupsDeclaration/> |
<rights/> |
</leaf> |
<rights/> |
</leaf> |
<leaf node="true" label="Departamentos" id="departamentos"> |
<leaf node="false" id="dtd" label="Tecnologia e Design" absolute="false" url="/dir/student/departamentos/depTD/public/departamentos/depTD.html" proxy="local"/> |
<leaf node="false" id="cesh" label="Ciencias Empresariais Sociais e Humanas" absolute="false" url="/dir/student/departamentos/depTD/public/departamentos/depCESH.html" proxy="local"/> |
<leaf remoteExtensionRoot="false" proxy="local" absolute="true" style="true" layout="true" label_es="" label_en="" |
label="Organização" id="org" url="" node="true"> |
<groupsDeclaration/> |
<leaf remoteExtensionRoot="false" proxy="local" absolute="false" style="true" layout="true" label_es="" |
label_en="" label="Director" id="director" |
url="/dir/student/OrgaosGestao/orgaosDirector/public/portal/orgaoDirector.html" node="false"> |
<groupsDeclaration/> |
<rights/> |
</leaf> |
<leaf remoteExtensionRoot="false" proxy="local" absolute="false" style="true" layout="true" label_es="" |
label_en="" label="Conselho Tecnico Cientifico" id="ctc" |
url="/dir/student/OrgaosGestao/orgaosConselhoTecnicoCientifico/public/portal/orgaosConselhoTecnicoCientifico.html" |
node="false"> |
<groupsDeclaration/> |
<rights/> |
</leaf> |
<leaf remoteExtensionRoot="false" proxy="local" absolute="false" style="true" layout="true" label_es="" |
label_en="" label="Conselho de Representantes" id="cr" |
url="/dir/student/OrgaosGestao/orgaosConselhoRepresentantes/public/portal/orgaosConselhoRepresentantes.html" |
node="false"> |
<groupsDeclaration/> |
<rights/> |
</leaf> |
<leaf remoteExtensionRoot="false" proxy="local" absolute="false" style="true" layout="true" label_es="" |
label_en="" label="Conselho Pedagógico" id="cp" |
url="/dir/student/OrgaosGestao/orgaosConselhoPedagogico/public/portal/orgaosConselhoPedagogico.html" |
node="false"> |
<groupsDeclaration/> |
<rights/> |
</leaf> |
<leaf remoteExtensionRoot="false" proxy="local" absolute="false" style="true" layout="true" label_es="" |
label_en="" label="Conselho de Gestão" id="cg" |
url="/dir/student/OrgaosGestao/orgaosConselhogestao/public/portal/orgaosConselhoGestao.html" node="false"> |
<groupsDeclaration/> |
<rights/> |
</leaf> |
<leaf remoteExtensionRoot="false" proxy="local" absolute="false" style="true" layout="true" label_es="" |
label_en="" label="Conselho Interdepartamental" id="cint" |
url="/dir/teacher/OrgaosGestao/orgaosConselhoInterdepartamental/public/portal/orgaosConselhoInterdepartamental.html" |
node="false"> |
<groupsDeclaration/> |
<rights/> |
</leaf> |
<rights/> |
</leaf> |
<leaf node="true" label="Ensino" id="ensino"> |
<leaf node="false" id="lecenciaturas" label="Licenciaturas" absolute="false" url="/courses.do?type=L" proxy="local"/> |
<leaf node="false" id="mestrados" label="Mestrados" absolute="false" url="/courses.do?type=M" proxy="local"/> |
<leaf node="false" id="accurtadur" label="Acções de Formação de Curta Duração" absolute="false" url="/courses.do?type=C" proxy="local"/> |
<leaf node="false" id="cet" label="CET" absolute="false" url="/courses.do?type=E" proxy="local"/> |
<leaf node="false" id="favanc" label="Formações Avançadas" absolute="false" url="/courses.do?type=A" proxy="local"/> |
<leaf node="false" id="pgrad" label="Pós Graduação" absolute="false" url="/courses.do?type=P" proxy="local"/> |
<leaf node="false" id="tesp" label="TeSP" absolute="false" url="/courses.do?type=T" proxy="local"/> |
<leaf remoteExtensionRoot="false" proxy="local" absolute="true" style="true" layout="true" label_es="" label_en="" |
label="Departamentos" id="departamentos" url="" node="true"> |
<groupsDeclaration/> |
<leaf remoteExtensionRoot="false" proxy="local" absolute="false" style="true" layout="true" label_es="" |
label_en="" label="Tecnologia e Design" id="dtd" |
url="/dir/student/departamentos/depTD/public/departamentos/depTD.html" node="false"> |
<groupsDeclaration/> |
<rights/> |
</leaf> |
<leaf remoteExtensionRoot="false" proxy="local" absolute="false" style="true" layout="true" label_es="" |
label_en="" label="Ciencias Empresariais Sociais e Humanas" id="cesh" |
url="/dir/student/departamentos/depTD/public/departamentos/depCESH.html" node="false"> |
<groupsDeclaration/> |
<rights/> |
</leaf> |
<rights/> |
</leaf> |
<leaf node="true" label="I&D" id="ied"> |
<leaf node="false" id="poliempreende" label="Poliempreende" absolute="true" url="http://www.ipportalegre.pt/poliempreende/" proxy="local"/> |
<leaf node="false" id="alimentsaud" label="Alimentação Saudável" absolute="true" url="http://alimentacaosaudavel.ipportalegre.pt" proxy="local"/> |
<leaf node="false" id="c3i" label="C3i" absolute="true" url="http://www.c3i.ipportalegre.pt/" proxy="local"/> |
<leaf remoteExtensionRoot="false" proxy="local" absolute="true" style="true" layout="true" label_es="" label_en="" |
label="Ensino" id="ensino" url="" node="true"> |
<groupsDeclaration/> |
<leaf remoteExtensionRoot="false" proxy="local" absolute="false" style="true" layout="true" label_es="" |
label_en="" label="Licenciaturas" id="lecenciaturas" url="/courses.do?type=L" node="false"> |
<groupsDeclaration/> |
<rights/> |
</leaf> |
<leaf remoteExtensionRoot="false" proxy="local" absolute="false" style="true" layout="true" label_es="" |
label_en="" label="Mestrados" id="mestrados" url="/courses.do?type=M" node="false"> |
<groupsDeclaration/> |
<rights/> |
</leaf> |
<leaf remoteExtensionRoot="false" proxy="local" absolute="false" style="true" layout="true" label_es="" |
label_en="" label="Acções de Formação de Curta Duração" id="accurtadur" url="/courses.do?type=C" |
node="false"> |
<groupsDeclaration/> |
<rights/> |
</leaf> |
<leaf remoteExtensionRoot="false" proxy="local" absolute="false" style="true" layout="true" label_es="" |
label_en="" label="CET" id="cet" url="/courses.do?type=E" node="false"> |
<groupsDeclaration/> |
<rights/> |
</leaf> |
<leaf remoteExtensionRoot="false" proxy="local" absolute="false" style="true" layout="true" label_es="" |
label_en="" label="Formações Avançadas" id="favanc" url="/courses.do?type=A" node="false"> |
<groupsDeclaration/> |
<rights/> |
</leaf> |
<leaf remoteExtensionRoot="false" proxy="local" absolute="false" style="true" layout="true" label_es="" |
label_en="" label="Pós Graduação" id="pgrad" url="/courses.do?type=P" node="false"> |
<groupsDeclaration/> |
<rights/> |
</leaf> |
<leaf remoteExtensionRoot="false" proxy="local" absolute="false" style="true" layout="true" label_es="" |
label_en="" label="TeSP" id="tesp" url="/courses.do?type=T" node="false"> |
<groupsDeclaration/> |
<rights/> |
</leaf> |
<rights/> |
</leaf> |
<leaf node="false" id="contactos" label="Contactos" absolute="false" url="/dir/student/contactos/contGerais/public/portal/contactosGeraisEstg.html" proxy="local"/> |
<leaf node="true" label="O Politécnico" id="politecnico"> |
<leaf node="false" id="ipp" label="Instituto Politécnico de Portalegre" absolute="true" url="http://www.ipportalegre.pt/" proxy="local"/> |
<leaf node="false" id="esep" label="E. S. Educação" absolute="true" url="http://www.esep.pt/" proxy="local"/> |
<leaf node="false" id="esae" label="E. S. Agrária de Elvas" absolute="true" url="http://www.esaelvas.pt/" proxy="local"/> |
<leaf node="false" id="essp" label="E. S. Saúde" absolute="true" url="http://www.essp.pt/" proxy="local"/> |
<leaf node="false" id="sas" label="SAS" absolute="true" url="http://www.ipportalegre.pt/sas/" proxy="local"/> |
<leaf remoteExtensionRoot="false" proxy="local" absolute="true" style="true" layout="true" label_es="" label_en="" |
label="I&D" id="ied" url="" node="true"> |
<groupsDeclaration/> |
<leaf remoteExtensionRoot="false" proxy="local" absolute="true" style="true" layout="true" label_es="" |
label_en="" label="Poliempreende" id="poliempreende" url="http://www.ipportalegre.pt/poliempreende/" |
node="false"> |
<groupsDeclaration/> |
<rights/> |
</leaf> |
<leaf remoteExtensionRoot="false" proxy="local" absolute="true" style="true" layout="true" label_es="" |
label_en="" label="Alimentação Saudável" id="alimentsaud" url="http://alimentacaosaudavel.ipportalegre.pt" |
node="false"> |
<groupsDeclaration/> |
<rights/> |
</leaf> |
<leaf remoteExtensionRoot="false" proxy="local" absolute="true" style="true" layout="true" label_es="" |
label_en="" label="C3i" id="c3i" url="http://www.c3i.ipportalegre.pt/" node="false"> |
<groupsDeclaration/> |
<rights/> |
</leaf> |
<rights/> |
</leaf> |
<leaf remoteExtensionRoot="false" proxy="local" absolute="false" style="true" layout="true" label_es="" label_en="" |
label="Contactos" id="contactos" |
url="/dir/student/contactos/contGerais/public/portal/contactosGeraisEstg.html" node="false"> |
<groupsDeclaration/> |
<rights/> |
</leaf> |
<leaf remoteExtensionRoot="false" proxy="local" absolute="true" style="true" layout="true" label_es="" label_en="" |
label="O Politécnico" id="politecnico" url="" node="true"> |
<groupsDeclaration/> |
<leaf remoteExtensionRoot="false" proxy="local" absolute="true" style="true" layout="true" label_es="" |
label_en="" label="Instituto Politécnico de Portalegre" id="ipp" url="http://www.ipportalegre.pt/" |
node="false"> |
<groupsDeclaration/> |
<rights/> |
</leaf> |
<leaf remoteExtensionRoot="false" proxy="local" absolute="true" style="true" layout="true" label_es="" |
label_en="" label="E. S. Educação" id="esep" url="http://www.esep.pt/" node="false"> |
<groupsDeclaration/> |
<rights/> |
</leaf> |
<leaf remoteExtensionRoot="false" proxy="local" absolute="true" style="true" layout="true" label_es="" |
label_en="" label="E. S. Agrária de Elvas" id="esae" url="http://www.esaelvas.pt/" node="false"> |
<groupsDeclaration/> |
<rights/> |
</leaf> |
<leaf remoteExtensionRoot="false" proxy="local" absolute="true" style="true" layout="true" label_es="" |
label_en="" label="E. S. Saúde" id="essp" url="http://www.essp.pt/" node="false"> |
<groupsDeclaration/> |
<rights/> |
</leaf> |
<leaf remoteExtensionRoot="false" proxy="local" absolute="true" style="true" layout="true" label_es="" |
label_en="" label="SAS" id="sas" url="http://www.ipportalegre.pt/sas/" node="false"> |
<groupsDeclaration/> |
<rights/> |
</leaf> |
<rights/> |
</leaf> |
<leaf remoteExtensionRoot="false" proxy="local" absolute="true" style="true" layout="true" label_es="" label_en="" |
label="Internacional" id="internacional" url="" node="true"> |
<groupsDeclaration/> |
<leaf remoteExtensionRoot="false" proxy="local" absolute="true" style="true" layout="true" label_es="" |
label_en="" label="Candidaturas - Alunos ESTG" id="candidaturas" url="http://www.ipportalegre.pt/html1/home/mostrar/mostrar.aspx?ne=1&cod=834" |
node="false"> |
<groupsDeclaration/> |
<rights/> |
</leaf> |
<leaf remoteExtensionRoot="false" proxy="local" absolute="true" style="true" layout="true" label_es="" |
label_en="" label="4 Razones para estudiar en la ESTG" id="razonesEs" url="http://www.estgp.pt/loadAnnouncement.do?id=3670&dispatch=load" node="false"> |
<groupsDeclaration/> |
<rights/> |
</leaf> |
<leaf remoteExtensionRoot="false" proxy="local" absolute="true" style="true" layout="true" label_es="" |
label_en="" label="4 reasons to study at the ESTG" id="reasonsEn" url="http://www.estgp.pt/loadAnnouncement.do?id=3671&dispatch=load" node="false"> |
<groupsDeclaration/> |
<rights/> |
</leaf> |
<rights/> |
</leaf> |
<rights> |
<internal>false</internal> |
</rights> |
</directory> |
/branches/v3/impl/conf/berserk/sd.xml |
---|
920,10 → 920,10 |
<description>Load course unit</description> |
<isTransactional>true</isTransactional> |
<defaultMethod>loadCourseUnitViewAndCourse</defaultMethod> |
<filterChains> |
<chain name="Logger"/> |
<chain name="Session"/> |
<chain name="CourseUnitProgramClearancesPreSerializable"/> |
</filterChains> |
</service> |
<service> |
938,11 → 938,39 |
<filterChains> |
<chain name="Logger"/> |
<chain name="Session"/> |
<chain name="EditCourseUnitProgram"/> |
<!--<chain name="LoadCourseUnitViewAndCourse"/>--> |
<chain name="CourseUnitProgramClearancesPre"/> |
</filterChains> |
</service> |
<service> |
<name>ValidateCourseUnitProgram</name> |
<implementationClass>pt.estgp.estgweb.services.courseunits.SaveCourseUnitProgram</implementationClass> |
<description>Save course unit program</description> |
<isTransactional>true</isTransactional> |
<defaultMethod>validate</defaultMethod> |
<filterChains> |
<chain name="Logger"/> |
<chain name="Session"/> |
<!--<chain name="LoadCourseUnitViewAndCourse"/>--> |
<chain name="CourseUnitProgramClearancesPre"/> |
</filterChains> |
</service> |
<service> |
<name>InvalidateCourseUnitProgram</name> |
<implementationClass>pt.estgp.estgweb.services.courseunits.SaveCourseUnitProgram</implementationClass> |
<description>Save course unit program</description> |
<isTransactional>true</isTransactional> |
<defaultMethod>invalidate</defaultMethod> |
<filterChains> |
<chain name="Logger"/> |
<chain name="Session"/> |
<!--<chain name="LoadCourseUnitViewAndCourse"/>--> |
<chain name="CourseUnitProgramClearancesPre"/> |
</filterChains> |
</service> |
<service> |
<name>SaveCourseUnitEvaluation</name> |
<!--Args |
CourseUnitEvaluationView evaluationView, |
2314,7 → 2342,7 |
<filterChains> |
<chain name="Logger"/> |
<chain name="Session"/> |
<chain name="Admins"/> |
<chain name="ServicesOrAdmin"/> |
</filterChains> |
</service> |
/branches/v3/impl/conf/berserk/fd.xml |
---|
235,6 → 235,13 |
<filter> |
<!--Require parameter with unit id--> |
<name>CourseUnitProgramClearances</name> |
<implementationClass>pt.estgp.estgweb.filters.filters.CourseUnitProgramClearancesFilter</implementationClass> |
<description>This filter fullfill clearances support for courseunit with service parameter unitId regarding the user in session</description> |
<isTransactional>false</isTransactional> |
</filter> |
<filter> |
<!--Require parameter with unit id--> |
/branches/v3/impl/conf/berserk/fcd.xml |
---|
445,6 → 445,24 |
<filterChain> |
<!--Require parameter unitId with unit id--> |
<name>CourseUnitProgramClearancesPre</name> |
<expression>CourseUnitProgramClearances("unitId")</expression> |
<description>See Filter description</description> |
<invocationTiming>1</invocationTiming> |
<filterClass>pt.estgp.estgweb.filters.chains.LoadControlFilter</filterClass> |
</filterChain> |
<filterChain> |
<!--Require parameter unitId with unit id--> |
<name>CourseUnitProgramClearancesPreSerializable</name> |
<expression>CourseUnitProgramClearances("serializable")</expression> |
<description>See Filter description</description> |
<invocationTiming>1</invocationTiming> |
<filterClass>pt.estgp.estgweb.filters.chains.LoadControlFilter</filterClass> |
</filterChain> |
<filterChain> |
<!--Require parameter unitId with unit id--> |
<name>CourseUnitEvaluationClearancesPre</name> |
<expression>CourseUnitEvaluationClearances("unitId")</expression> |
<description>See Filter description</description> |
/branches/v3/impl/src/java/jomm/utils/DiacriticFilter.java |
---|
1,11 → 1,12 |
package jomm.utils; |
import org.apache.lucene.analysis.Token; |
import org.apache.lucene.analysis.TokenFilter; |
import org.apache.lucene.analysis.TokenStream; |
import org.apache.lucene.analysis.Token; |
import java.io.*; |
import java.io.IOException; |
import java.text.Normalizer; |
/** |
30,6 → 31,12 |
return new Token(clean(value),t.startOffset(),t.endOffset()); |
} |
public static String stripAccents(String s) |
{ |
s = Normalizer.normalize(s, Normalizer.Form.NFD); |
s = s.replaceAll("[\\p{InCombiningDiacriticalMarks}]", ""); |
return s; |
} |
public static String clean(String value) |
{ |
StringBuilder finalTerm = new StringBuilder(); |
/branches/v3/impl/src/java/jomm/web/utils/NavPlace.java |
---|
1,11 → 1,10 |
package jomm.web.utils; |
import jomm.utils.MessageResources; |
import org.apache.log4j.Logger; |
import javax.servlet.http.HttpServletRequest; |
import org.apache.log4j.Logger; |
/** |
* |
* @author Jorge Machado |
/branches/v3/impl/src/java/jomm/web/ftp/impl/FtpFile.java |
---|
126,6 → 126,12 |
queryAux = "?" + queryAux; |
else queryAux = ""; |
return URIUtil.encodePath(name,"ISO-8859-1") + "/" + queryAux; |
/*try { |
return URLEncoder.encode(name, "UTF-8") + "/" + queryAux; |
} catch (UnsupportedEncodingException e) { |
e.printStackTrace(); |
}*/ |
//return null; |
} |
public long getSize() |
/branches/v3/impl/src/java/pt/estgp/estgweb/services/courseunits/SaveCourseUnitProgram.java |
---|
54,45 → 54,61 |
private static final Logger logger = Logger.getLogger(SaveCourseUnitProgram.class); |
public CourseUnitProgramView run(CourseUnitProgramView cupv, Long coursUnitId, UserSession usession) throws ServiceException, TransformerException, IOException, FOPException { |
CourseUnit c = DaoFactory.getCourseUnitDaoImpl().get(coursUnitId); |
public void validate(Long courseUnitId, UserSession usession, CourseUnitImpl clearedCourseUnit) throws ServiceException, TransformerException, IOException, FOPException { |
CourseUnitProgram program = c.getCourseUnitProgram(); |
if(clearedCourseUnit.isClear((UserSessionImpl) usession,CourseUnitImpl.CourseUnitClearancesOperation.PROGRAM_CAN_VALIDATE.name())) |
{ |
clearedCourseUnit.setValidProgram(true); |
} |
} |
public void invalidate(Long courseUnitId, UserSession usession, CourseUnitImpl clearedCourseUnit) throws ServiceException, TransformerException, IOException, FOPException { |
if(clearedCourseUnit.isClear((UserSessionImpl) usession,CourseUnitImpl.CourseUnitClearancesOperation.PROGRAM_CAN_VALIDATE.name())) |
{ |
clearedCourseUnit.setValidProgram(false); |
} |
} |
public CourseUnitProgramView run(CourseUnitProgramView cupv, Long coursUnitId, UserSession usession, CourseUnitImpl clearedCourseUnit) throws ServiceException, TransformerException, IOException, FOPException { |
//CourseUnit cProxy = DaoFactory.getCourseUnitDaoImpl().get(coursUnitId); |
//Ja vem do filtro isto feito |
// clearedCourseUnit.initClearances((UserSessionImpl) usession,true); |
CourseUnitProgram program = clearedCourseUnit.getCourseUnitProgram(); |
if(program == null) |
{ |
program = new CourseUnitProgramImpl(); |
DaoFactory.getCourseUnitProgramDaoImpl().save(program); |
program.setCourseUnitProgramPart2(new CourseUnitProgramPart2Impl()); |
DaoFactory.getCourseUnitProgramPart2DaoImpl().save(program.getCourseUnitProgramPart2()); |
c.setCourseUnitProgram(program); |
clearedCourseUnit.setCourseUnitProgram(program); |
} |
// |
if(usession.getUser().isSuperuserOrAdmin()) |
//if(usession.getUser().isSuperuserOrAdmin()) |
if(clearedCourseUnit.isClear((UserSessionImpl) usession,CourseUnitImpl.CourseUnitClearancesOperation.PROGRAM_TEACHER_PART.name())) |
//if(usession.getUser() instanceof Teacher && (((Teacher)(usession.getUser())).isTeacherOfCourseUnit(c.getId(),true))) |
{ |
cupv.persistViewInObjectAdministrator(program); |
cupv.persistViewInObjectCoordinator(program); |
cupv.persistViewInObjectTeacher(program); |
setResponsableTeacher(cupv, c); |
} |
if(usession.getUser() instanceof Teacher && (((Teacher)(usession.getUser())).isTeacherOfCourseUnit(c.getId(),true))) |
if(clearedCourseUnit.isClear((UserSessionImpl) usession,CourseUnitImpl.CourseUnitClearancesOperation.PROGRAM_COORDINATOR_PART.name())) |
{ |
cupv.persistViewInObjectTeacher(program); |
} |
if(usession.getUser() instanceof Teacher |
&& (((usession.getUser())).hasRole(c.getCourse().getValidationRole()) |
|| |
((usession.getUser()) == c.getCourse().getCoordinator())) |
) |
{ |
cupv.persistViewInObjectCoordinator(program); |
setResponsableTeacher(cupv, c); |
setResponsableTeacher(cupv, clearedCourseUnit); |
} |
List<String> errors = new ArrayList<String>(); |
createPdf(c,errors,usession); |
createPdf(clearedCourseUnit,errors,usession); |
if(usession.getUser() instanceof Teacher) |
DirectedCoordinatedUnitsService.sendNotificationsEditedInterestedPeople(c,usession); |
DirectedCoordinatedUnitsService.sendNotificationsEditedInterestedPeople(clearedCourseUnit,usession); |
else |
{ |
logger.info("Nao vai informar docentes"); |
/branches/v3/impl/src/java/pt/estgp/estgweb/services/courseunits/LoadCourseUnitService.java |
---|
40,6 → 40,11 |
public CourseUnitView run(long id, boolean initTeachers, boolean initStudents, boolean initBlog, UserSession userSession) throws ServiceException |
{ |
CourseUnit c = DaoFactory.getCourseUnitDaoImpl().get(id); |
return runCleared(id,initTeachers,initStudents,initBlog,userSession,DaoFactory.getCourseUnitDaoImpl().narrow(c)); |
} |
public CourseUnitView runCleared(long id, boolean initTeachers, boolean initStudents, boolean initBlog, UserSession userSession,CourseUnit c) throws ServiceException |
{ |
c.setCourseUnitEvaluation(DaoFactory.getCourseUnitEvaluationDaoImpl().narrow(c.getCourseUnitEvaluation())); |
c.setCourseUnitProgram(DaoFactory.getCourseUnitProgramDaoImpl().narrow(c.getCourseUnitProgram())); |
77,10 → 82,10 |
} |
public CourseUnitView loadCourseUnitViewAndCourse(long id, boolean initTeachers, boolean initStudents, boolean initBlog, boolean initCourseView, UserSession userSession) throws ServiceException |
public CourseUnitView loadCourseUnitViewAndCourse(long id, boolean initTeachers, boolean initStudents, boolean initBlog, boolean initCourseView, UserSession userSession,CourseUnitImpl clearedUnit) throws ServiceException |
{ |
CourseUnitView cV = run(id,initTeachers,initStudents,initBlog,userSession); |
CourseUnitView cV = runCleared(id, initTeachers, initStudents, initBlog, userSession, clearedUnit); |
if(initCourseView) |
{ |
CourseView coV = new CourseView(cV.getCourseUnit().getCourse()); |
/branches/v3/impl/src/java/pt/estgp/estgweb/services/courseunits/DirectedCoordinatedUnitsService.java |
---|
346,15 → 346,17 |
int counter = 0; |
for(CourseUnitView courseUnitView: views) |
{ |
if(courseUnitView != null && courseUnitView.getId()>0) |
{ |
CourseUnit courseUnit = DaoFactory.getCourseUnitDaoImpl().load(courseUnitView.getId()); |
//EVALUATION OPEN BY ADMIN |
if(courseUnitView.isEvaluationOpenByAdmin() != courseUnit.isEvaluationOpenByAdmin()) |
courseUnit.setEvaluationOpenByAdmin(courseUnitView.isEvaluationOpenByAdmin()); |
if(courseUnitView != null && courseUnitView.getId()>0) |
{ |
if(courseUnitView.getProgramStreamId() != null && courseUnitView.getProgramStreamId().length() > 0) |
{ |
CourseUnit courseUnit = DaoFactory.getCourseUnitDaoImpl().load(courseUnitView.getId()); |
if(usession.getUser().isAdmin() || usession.getUser().hasRole("courseValidatePrograms") || usession.getUser().hasRole(courseUnit.getCourse().getValidationRole())) |
{ |
if(courseUnit.isValidProgram() != courseUnitView.isValidProgram()) |
/branches/v3/impl/src/java/pt/estgp/estgweb/services/ftpservices/FtpService.java |
---|
1,6 → 1,7 |
package pt.estgp.estgweb.services.ftpservices; |
import jomm.utils.DesUtils; |
import jomm.utils.DiacriticFilter; |
import org.apache.commons.fileupload.FileItem; |
import org.apache.commons.net.ftp.FTP; |
import org.apache.commons.net.ftp.FTPClient; |
126,7 → 127,8 |
} |
logger.info("trying to import file: " + name); |
if(!client.storeFile(name,item.getInputStream())) |
//client.setControlEncoding("ISO-8859-1"); |
if(!client.storeFile(DiacriticFilter.stripAccents(name),item.getInputStream())) |
result = "errors.ftp.no.permission"; |
} |
} |
/branches/v3/impl/src/java/pt/estgp/estgweb/domain/views/CourseUnitProgramView.java |
---|
58,6 → 58,11 |
public void persistViewInObjectTeacher(CourseUnitProgram c) |
{ |
c.getCourseUnitProgramPart2().setObjectivos(courseUnitProgram.getCourseUnitProgramPart2().getObjectivos()); |
c.setPrerequisitos(courseUnitProgram.getPrerequisitos()); |
c.setLingua1(courseUnitProgram.getLingua1()); |
c.setLingua2(courseUnitProgram.getLingua2()); |
c.getCourseUnitProgramPart2().setAvaliacaoOrdinariosFrequencia(courseUnitProgram.getCourseUnitProgramPart2().getAvaliacaoOrdinariosFrequencia()); |
c.getCourseUnitProgramPart2().setAvaliacaoOrdinariosExame(courseUnitProgram.getCourseUnitProgramPart2().getAvaliacaoOrdinariosExame()); |
c.getCourseUnitProgramPart2().setAvaliacaoEspeciaisFrequencia(courseUnitProgram.getCourseUnitProgramPart2().getAvaliacaoEspeciaisFrequencia()); |
77,10 → 82,6 |
public void persistViewInObjectCoordinator(CourseUnitProgram c) |
{ |
c.getCourseUnitProgramPart2().setObjectivos(courseUnitProgram.getCourseUnitProgramPart2().getObjectivos()); |
c.setPrerequisitos(courseUnitProgram.getPrerequisitos()); |
c.setLingua1(courseUnitProgram.getLingua1()); |
c.setLingua2(courseUnitProgram.getLingua2()); |
c.setEcts(courseUnitProgram.getEcts()); |
c.setCargaHorariaTotal(courseUnitProgram.getCargaHorariaTotal()); |
96,21 → 97,8 |
public void persistViewInObjectAdministrator(CourseUnitProgram c) |
{ |
c.getCourseUnitProgramPart2().setObjectivos(courseUnitProgram.getCourseUnitProgramPart2().getObjectivos()); |
c.setPrerequisitos(courseUnitProgram.getPrerequisitos()); |
c.setLingua1(courseUnitProgram.getLingua1()); |
c.setLingua2(courseUnitProgram.getLingua2()); |
c.setEcts(courseUnitProgram.getEcts()); |
c.setCargaHorariaTotal(courseUnitProgram.getCargaHorariaTotal()); |
c.setCargaHorariaT(courseUnitProgram.getCargaHorariaT()); |
c.setCargaHorariaTP(courseUnitProgram.getCargaHorariaTP()) ; |
c.setCargaHorariaPL(courseUnitProgram.getCargaHorariaPL()); |
c.setCargaHorariaTC(courseUnitProgram.getCargaHorariaTC()); |
c.setCargaHorariaO(courseUnitProgram.getCargaHorariaO()); |
c.setCargaHorariaS(courseUnitProgram.getCargaHorariaS()); |
c.setCargaHorariaOT(courseUnitProgram.getCargaHorariaOT()); |
persistViewInObjectCoordinator(c); |
persistViewInObjectTeacher(c); |
} |
/branches/v3/impl/src/java/pt/estgp/estgweb/domain/DomainObjectFactory.java |
---|
411,4 → 411,8 |
public static QuestionarioPedagogicoAlunoRequisitadoImpl createQuestionarioPedagogicoAlunoRequisitadoImpl() { |
return new QuestionarioPedagogicoAlunoRequisitadoImpl(); |
} |
public static ConfigurationImpl createConfigurationImpl() { |
return new ConfigurationImpl(); |
} |
} |
/branches/v3/impl/src/java/pt/estgp/estgweb/domain/CourseUnitImpl.java |
---|
360,16 → 360,25 |
|| usession.getUser().hasRole(Globals.SERVICES_PROGRAMS_ROLE)) |
{ |
s.addClearance(CourseUnitClearancesOperation.EVALUATION_ALL.name(),usession); |
s.addClearance(CourseUnitClearancesOperation.PROGRAM_CAN_VALIDATE.name(),usession); |
s.addClearance(CourseUnitClearancesOperation.PROGRAM_TEACHER_PART.name(),usession); |
s.addClearance(CourseUnitClearancesOperation.PROGRAM_COORDINATOR_PART.name(),usession); |
} |
if(usession.getUser() != null && usession.getUser() instanceof Teacher) |
{ |
Teacher t = ((Teacher)(usession.getUser())); |
boolean teacher = ((Teacher)(usession.getUser())).isTeacherOfCourseUnit(c.getId(),true); |
boolean responsable = c.getResponsableTeacher()!=null && usession.getUser().getId() == c.getResponsableTeacher().getId(); |
boolean isCoordinator = (c.getCourse().getCoordinator() != null && t.getId() == c.getCourse().getCoordinator().getId()) || (c.getCourse().getValidationRole() != null && t.hasRole(c.getCourse().getValidationRole())); |
if(teacher) |
{ |
s.addClearance(CourseUnitClearancesOperation.EVALUATION_INFO_USER_TEACHER.name(), usession); |
} |
if(responsable) |
{ |
s.addClearance(CourseUnitClearancesOperation.EVALUATION_INFO_USER_RESP_TEACHER.name(), usession); |
} |
if(teacher || responsable) |
{ |
//s.addClearance(CourseUnitClearancesOperation.EVALUATION_INFO_USER_TEACHER.name(), usession); |
381,37 → 390,52 |
s.addClearance(CourseUnitClearancesOperation.EVALUATION_TRANSITATE_TO_COMPLETE.name(),usession); |
} |
} |
} |
if(usession.getUser() != null && usession.getUser() instanceof Teacher |
&& (((usession.getUser())).hasRole(c.getCourse().getValidationRole()) |
|| |
((usession.getUser()) == c.getCourse().getCoordinator())) |
) |
{ |
s.addClearance(CourseUnitClearancesOperation.EVALUATION_INFO_USER_COMMISSION.name(), usession); |
s.addClearance(CourseUnitClearancesOperation.EVALUATION_EDITION.name(), usession); |
if(active && isEdit) |
if(isCoordinator) |
{ |
s.addClearance(CourseUnitClearancesOperation.EVALUATION_EDITSAVE.name(),usession); |
s.addClearance(CourseUnitClearancesOperation.EVALUATION_PERSIST_TEACHER_PART.name(),usession); |
s.addClearance(CourseUnitClearancesOperation.EVALUATION_PERSIST_COMISSION_PART.name(),usession); |
s.addClearance(CourseUnitClearancesOperation.EVALUATION_TRANSITATE_TO_COMPLETE.name(),usession); |
s.addClearance(CourseUnitClearancesOperation.EVALUATION_TRANSITATE_TO_CLOSE.name(),usession); |
s.addClearance(CourseUnitClearancesOperation.PROGRAM_CAN_VALIDATE.name(),usession); |
s.addClearance(CourseUnitClearancesOperation.EVALUATION_INFO_USER_COMMISSION.name(), usession); |
s.addClearance(CourseUnitClearancesOperation.EVALUATION_EDITION.name(), usession); |
if(active && isEdit) |
{ |
s.addClearance(CourseUnitClearancesOperation.EVALUATION_EDITSAVE.name(),usession); |
s.addClearance(CourseUnitClearancesOperation.EVALUATION_PERSIST_TEACHER_PART.name(),usession); |
s.addClearance(CourseUnitClearancesOperation.EVALUATION_PERSIST_COMISSION_PART.name(),usession); |
s.addClearance(CourseUnitClearancesOperation.EVALUATION_TRANSITATE_TO_COMPLETE.name(),usession); |
s.addClearance(CourseUnitClearancesOperation.EVALUATION_TRANSITATE_TO_CLOSE.name(),usession); |
} |
else if(active && isComplete) |
{ |
s.addClearance(CourseUnitClearancesOperation.EVALUATION_EDITSAVE.name(),usession); |
s.addClearance(CourseUnitClearancesOperation.EVALUATION_PERSIST_TEACHER_PART.name(),usession); |
s.addClearance(CourseUnitClearancesOperation.EVALUATION_PERSIST_COMISSION_PART.name(),usession); |
s.addClearance(CourseUnitClearancesOperation.EVALUATION_TRANSITATE_TO_CLOSE.name(),usession); |
s.addClearance(CourseUnitClearancesOperation.EVALUATION_TRANSITATE_TO_EDIT.name(),usession); |
} |
else if(active && isClosed) |
{ |
s.addClearance(CourseUnitClearancesOperation.EVALUATION_TRANSITATE_TO_EDIT.name(),usession); |
} |
} |
else if(active && isComplete) |
if(!c.isValidProgram()) |
{ |
s.addClearance(CourseUnitClearancesOperation.EVALUATION_EDITSAVE.name(),usession); |
s.addClearance(CourseUnitClearancesOperation.EVALUATION_PERSIST_TEACHER_PART.name(),usession); |
s.addClearance(CourseUnitClearancesOperation.EVALUATION_PERSIST_COMISSION_PART.name(),usession); |
s.addClearance(CourseUnitClearancesOperation.EVALUATION_TRANSITATE_TO_CLOSE.name(),usession); |
s.addClearance(CourseUnitClearancesOperation.EVALUATION_TRANSITATE_TO_EDIT.name(),usession); |
if(teacher) |
s.addClearance(CourseUnitClearancesOperation.PROGRAM_TEACHER_PART.name(), usession); |
if(isCoordinator) |
{ |
s.addClearance(CourseUnitClearancesOperation.PROGRAM_TEACHER_PART.name(), usession); |
s.addClearance(CourseUnitClearancesOperation.PROGRAM_COORDINATOR_PART.name(), usession); |
} |
} |
else if(active && isClosed) |
else |
{ |
s.addClearance(CourseUnitClearancesOperation.EVALUATION_TRANSITATE_TO_EDIT.name(),usession); |
s.addClearance(CourseUnitClearancesOperation.PROGRAM_INFO_VALID_NOT_ACTIVE.name(), usession); |
} |
} |
c.setClearanceRuledSupport(s); |
} |
441,6 → 465,12 |
EVALUATION_INFO_USER_RESP_TEACHER, //INFO CLEARANCE |
EVALUATION_INFO_USER_COMMISSION, //INFO CLEARANCE |
PROGRAM_COORDINATOR_PART, |
PROGRAM_TEACHER_PART, |
PROGRAM_CAN_VALIDATE, |
PROGRAM_INFO_VALID_NOT_ACTIVE |
; |
public static CourseUnitClearancesOperation parse(String clearance) |
/branches/v3/impl/src/java/pt/estgp/estgweb/filters/filters/CourseUnitProgramClearancesFilter.java |
---|
New file |
0,0 → 1,35 |
package pt.estgp.estgweb.filters.filters; |
import org.apache.log4j.Logger; |
import pt.estgp.estgweb.Globals; |
import pt.estgp.estgweb.domain.CourseUnitImpl; |
import pt.estgp.estgweb.domain.UserSessionImpl; |
import pt.estgp.estgweb.domain.dao.DaoFactory; |
import pt.estgp.estgweb.filters.chains.LoadControlFilter; |
import pt.utl.ist.berserk.ServiceRequest; |
import pt.utl.ist.berserk.ServiceResponse; |
import pt.utl.ist.berserk.logic.filterManager.FilterParameters; |
import pt.utl.ist.berserk.logic.filterManager.exceptions.FilterException; |
/** |
* @author Jorge Machado |
* @date 4/Jun/2008 |
* @see pt.estgp.estgweb.filters.filters |
*/ |
public class CourseUnitProgramClearancesFilter extends LoadControlFilter |
{ |
private static final Logger logger = Logger.getLogger(CourseUnitProgramClearancesFilter.class); |
public static final String COURSEUNIT_PROGRAM_CLEARED_SERV_PARAM = "COURSEUNIT_PROGRAM_CLEARED_SERV_PARAM"; |
public void execute(ServiceRequest request, ServiceResponse response, FilterParameters filterParameters) throws FilterException, Exception |
{ |
UserSessionImpl usession = (UserSessionImpl) request.getServiceParameters().getParameter(Globals.USER_SESSION_KEY); |
Long unitId = (Long) request.getServiceParameters().getParameter((String) filterParameters.parametersArray()[0]); |
CourseUnitImpl c = (CourseUnitImpl) DaoFactory.getCourseUnitDaoImpl().get(unitId); |
c.initClearances(usession,true); |
request.getServiceParameters().addParameter(COURSEUNIT_PROGRAM_CLEARED_SERV_PARAM,c); |
} |
} |
Property changes: |
Added: svn:executable |
+ * |
/branches/v3/impl/src/java/pt/estgp/estgweb/web/tags/NotOwnerTag.java |
---|
New file |
0,0 → 1,98 |
package pt.estgp.estgweb.web.tags; |
import org.apache.log4j.Logger; |
import org.apache.struts.util.RequestUtils; |
import pt.estgp.estgweb.Globals; |
import pt.estgp.estgweb.domain.IOwned; |
import pt.estgp.estgweb.domain.UserSessionImpl; |
import javax.servlet.jsp.JspException; |
import javax.servlet.jsp.JspWriter; |
import javax.servlet.jsp.tagext.BodyTagSupport; |
public class NotOwnerTag extends BodyTagSupport |
{ |
private static final Logger logger = Logger.getLogger(NotOwnerTag.class); |
private String name; |
private String property; |
private String valid; |
public String getName() |
{ |
return name; |
} |
public void setName(String name) |
{ |
this.name = name; |
} |
public String getProperty() |
{ |
return property; |
} |
public void setProperty(String property) |
{ |
this.property = property; |
} |
public String getValid() |
{ |
return valid; |
} |
public void setValid(String valid) |
{ |
this.valid = valid; |
} |
public int doStartTag() throws JspException |
{ |
if (go()) |
{ |
return EVAL_BODY_TAG; |
} |
else |
return SKIP_BODY; |
} |
public boolean go() throws JspException |
{ |
UserSessionImpl userSession = (UserSessionImpl) pageContext.getRequest().getAttribute(Globals.USER_SESSION_KEY); |
IOwned owned = (IOwned) RequestUtils.lookup(pageContext, name, property, null); |
return !(owned != null && userSession.getUser() != null && (owned.isOwnedBy(userSession.getUser(),false) || (userSession.getUser()).isSuperuserOrAdmin())); |
} |
public int doEndTag() throws JspException |
{ |
if(go()) |
{ |
String toPage = bodyContent.getString().trim(); |
JspWriter writer = pageContext.getOut(); |
try |
{ |
writer.write(toPage); |
} |
catch (Exception e) |
{ |
logger.error(e, e); |
throw new JspException(e); |
} |
} |
// Continue processing this page |
return EVAL_PAGE; |
} |
} |
Property changes: |
Added: svn:executable |
+ * |
/branches/v3/impl/src/java/pt/estgp/estgweb/web/tags/NotClearOperationTag.java |
---|
61,7 → 61,16 |
{ |
UserSessionImpl userSession = (UserSessionImpl) UserSessionProxy.loadUserSessionFromRequest((HttpServletRequest) pageContext.getRequest()); |
ClearanceRuled ruledObj = (ClearanceRuled) RequestUtils.lookup(pageContext, name, property, null); |
return !ruledObj.isClear(userSession,op); |
String[] ops = op.split(","); |
for(String opSub: ops) |
{ |
if(ruledObj.isClear(userSession,opSub)) |
{ |
return false; |
} |
} |
return true; |
} |
public int doEndTag() throws JspException |
/branches/v3/impl/src/java/pt/estgp/estgweb/web/LayoutProxy.java |
---|
1,16 → 1,16 |
package pt.estgp.estgweb.web; |
import jomm.web.utils.NavPlace; |
import org.apache.log4j.Logger; |
import javax.servlet.ServletException; |
import javax.servlet.http.HttpServlet; |
import javax.servlet.http.HttpServletRequest; |
import javax.servlet.http.HttpServletResponse; |
import javax.servlet.ServletException; |
import java.io.FileNotFoundException; |
import java.io.IOException; |
import java.io.FileNotFoundException; |
import java.net.URLEncoder; |
import jomm.web.utils.NavPlace; |
/** |
* @author Jorge Machado |
* @date 26/Fev/2008 |
54,7 → 54,9 |
{ |
try |
{ |
getServletContext().getRequestDispatcher("/layout.do?server=" + server + "&path=" + path + "&layout=" + layout + "&" + request.getQueryString()).forward(request,response); |
//Aqui temos de codificar em UTf-8 porque estamos dentro da máquina em UTF-8 |
//Tem de ser com o URLEncoder e não com o URIUtil porque o URLEncoder trabalha com o + e o URIUtil apenas trabalha com diacriticos |
getServletContext().getRequestDispatcher("/layout.do?server=" + server + "&path=" + URLEncoder.encode(path, "UTF-8") + "&layout=" + layout + "&" + request.getQueryString()).forward(request, response); |
} |
catch(FileNotFoundException e) |
{ |
/branches/v3/impl/src/java/pt/estgp/estgweb/web/form/configuration/ConfigurationsForm.java |
---|
New file |
0,0 → 1,52 |
package pt.estgp.estgweb.web.form.configuration; |
import pt.estgp.estgweb.domain.Configuration; |
import pt.estgp.estgweb.domain.DomainObjectFactory; |
import pt.estgp.estgweb.web.form.ApplicationForm; |
/** |
* @author Jorge Machado |
* @date 25/Jun/2008 |
* @see pt.estgp.estgweb.web.form.courses |
*/ |
public class ConfigurationsForm extends ApplicationForm |
{ |
private String dispatch; |
private long id; |
private Configuration configuration; |
public ConfigurationsForm() |
{ |
} |
public Configuration getConfiguration() { |
if(configuration == null) |
configuration = DomainObjectFactory.createConfigurationImpl(); |
return configuration; |
} |
public void setConfiguration(Configuration configuration) { |
this.configuration = configuration; |
} |
public String getOp() { |
return dispatch; |
} |
public void setOp(String dispatch) { |
this.dispatch = dispatch; |
} |
public long getId() { |
return id; |
} |
public void setId(long id) { |
this.id = id; |
} |
} |
/branches/v3/impl/src/java/pt/estgp/estgweb/web/FtpManager.java |
---|
57,7 → 57,7 |
InputStream stream = item.getInputStream(); |
if (item.isFormField()) |
{ |
request.setAttribute(item.getFieldName(), item.getString()); |
request.setAttribute(item.getFieldName(), new String(item.getString().getBytes("ISO-8859-1"))); |
} |
if (stream != null && item.getSize() > 0 && item.getName() != null) |
{ |
/branches/v3/impl/src/java/pt/estgp/estgweb/web/controllers/courseunits/CourseUnitsProgramController.java |
---|
35,6 → 35,54 |
public ActionForward validateProgram(ActionMapping mapping, |
ActionForm form, |
HttpServletRequest request, |
HttpServletResponse response) |
throws Throwable { |
CourseUnitProgramForm cUF = (CourseUnitProgramForm) form; |
long id = cUF.getCourseUnitId(); |
if(id <= 0) |
id = cUF.getCourseUnitView().getId(); |
IServiceManager sm = ServiceManager.getInstance(); |
Object[] args = new Object[]{id}; |
String[] names = new String[]{"unitId"}; |
sm.execute(RequestUtils.getRequester(request, response), "ValidateCourseUnitProgram", args,names); |
return saveProgram(mapping, |
form, |
request, |
response); |
} |
public ActionForward invalidateProgram(ActionMapping mapping, |
ActionForm form, |
HttpServletRequest request, |
HttpServletResponse response) |
throws Throwable { |
CourseUnitProgramForm cUF = (CourseUnitProgramForm) form; |
long id = cUF.getCourseUnitId(); |
if(id <= 0) |
id = cUF.getCourseUnitView().getId(); |
IServiceManager sm = ServiceManager.getInstance(); |
Object[] args = new Object[]{id}; |
String[] names = new String[]{"unitId"}; |
sm.execute(RequestUtils.getRequester(request, response), "InvalidateCourseUnitProgram", args,names); |
return editProgram(mapping, |
form, |
request, |
response); |
} |
public ActionForward editProgram(ActionMapping mapping, |
ActionForm form, |
HttpServletRequest request, |
/branches/v3/impl/src/java/pt/estgp/estgweb/web/controllers/configuration/ConfigurationsController.java |
---|
New file |
0,0 → 1,151 |
package pt.estgp.estgweb.web.controllers.configuration; |
import jomm.dao.impl.AbstractDao; |
import org.apache.log4j.Logger; |
import org.apache.struts.action.ActionForm; |
import org.apache.struts.action.ActionForward; |
import org.apache.struts.action.ActionMapping; |
import pt.estgp.estgweb.domain.ConfigurationGradesEpocaAvaliacao; |
import pt.estgp.estgweb.domain.ConfigurationGradesStatusEpoca; |
import pt.estgp.estgweb.domain.DomainObjectFactory; |
import pt.estgp.estgweb.domain.dao.DaoFactory; |
import pt.estgp.estgweb.web.UserSessionProxy; |
import pt.estgp.estgweb.web.controllers.ApplicationDispatchController; |
import pt.estgp.estgweb.web.form.configuration.ConfigurationGradesForm; |
import javax.servlet.ServletException; |
import javax.servlet.http.HttpServletRequest; |
import javax.servlet.http.HttpServletResponse; |
/** |
* @author Jorge Machado |
* @date 26/Fev/2008 |
* @time 18:01:54 |
* @see pt.estgp.estgweb.web |
*/ |
public class ConfigurationsController extends ApplicationDispatchController |
{ |
private static final Logger logger = Logger.getLogger(ConfigurationsController.class); |
public ActionForward saveGrades(ActionMapping mapping, |
ActionForm form, |
HttpServletRequest request, |
HttpServletResponse response) |
throws ServletException |
{ |
if(!UserSessionProxy.loadUserSessionFromRequest(request).getUser().isAdmin() && !UserSessionProxy.loadUserSessionFromRequest(request).getUser().hasRole("services")) |
{ |
return mapping.findForward("error401"); |
} |
ConfigurationGradesForm f = (ConfigurationGradesForm) form; |
AbstractDao.getCurrentSession().beginTransaction(); |
for(ConfigurationGradesEpocaAvaliacao a: f.getConfigurationGrades().getEpocasAvaliacao()) |
{ |
if(a.getId() > 0) |
{ |
ConfigurationGradesEpocaAvaliacao persist = DaoFactory.getConfigurationGradesEpocaAvaliacaoDaoImpl().load(a.getId()); |
persist.setCodigoEpoca(a.getCodigoEpoca()); |
persist.setCodigoMomento(a.getCodigoMomento()); |
persist.setObs(a.getObs()); |
persist.setDescricao(a.getDescricao()); |
} |
} |
for(ConfigurationGradesStatusEpoca a: f.getConfigurationGrades().getStatusEpocas()) |
{ |
if(a.getId() > 0) |
{ |
ConfigurationGradesStatusEpoca persist = DaoFactory.getConfigurationGradesStatusEpocaDaoImpl().load(a.getId()); |
persist.setStatus(a.getStatus()); |
persist.setObs(a.getObs()); |
persist.setDescricao(a.getDescricao()); |
} |
} |
AbstractDao.getCurrentSession().getTransaction().commit(); |
return mapping.findForward("grades"); |
} |
public ActionForward addEpocaAvaliacao(ActionMapping mapping, |
ActionForm form, |
HttpServletRequest request, |
HttpServletResponse response) |
throws ServletException |
{ |
if(!UserSessionProxy.loadUserSessionFromRequest(request).getUser().isAdmin() && !UserSessionProxy.loadUserSessionFromRequest(request).getUser().hasRole("services")) |
{ |
return mapping.findForward("error401"); |
} |
AbstractDao.getCurrentSession().beginTransaction(); |
ConfigurationGradesEpocaAvaliacao epoca = DomainObjectFactory.createConfigurationGradesEpocaAvaliacaoImpl(); |
DaoFactory.getConfigurationDaoImpl().load().getConfigurationGrades().getEpocasAvaliacao().add(epoca); |
DaoFactory.getConfigurationGradesEpocaAvaliacaoDaoImpl().save(epoca); |
AbstractDao.getCurrentSession().getTransaction().commit(); |
return mapping.findForward("grades"); |
} |
public ActionForward addSatusEpoca(ActionMapping mapping, |
ActionForm form, |
HttpServletRequest request, |
HttpServletResponse response) |
throws ServletException |
{ |
if(!UserSessionProxy.loadUserSessionFromRequest(request).getUser().isAdmin() && !UserSessionProxy.loadUserSessionFromRequest(request).getUser().hasRole("services")) |
{ |
return mapping.findForward("error401"); |
} |
AbstractDao.getCurrentSession().beginTransaction(); |
ConfigurationGradesStatusEpoca status = DomainObjectFactory.createConfigurationGradesStatusEpocaImpl(); |
DaoFactory.getConfigurationDaoImpl().load().getConfigurationGrades().getStatusEpoca().add(status); |
DaoFactory.getConfigurationGradesStatusEpocaDaoImpl().save(status); |
AbstractDao.getCurrentSession().getTransaction().commit(); |
return mapping.findForward("grades"); |
} |
public ActionForward deleteEpocaAvaliacao(ActionMapping mapping, |
ActionForm form, |
HttpServletRequest request, |
HttpServletResponse response) |
throws ServletException |
{ |
if(!UserSessionProxy.loadUserSessionFromRequest(request).getUser().isAdmin() && !UserSessionProxy.loadUserSessionFromRequest(request).getUser().hasRole("services")) |
{ |
return mapping.findForward("error401"); |
} |
ConfigurationGradesForm f = (ConfigurationGradesForm) form; |
AbstractDao.getCurrentSession().beginTransaction(); |
DaoFactory.getConfigurationGradesEpocaAvaliacaoDaoImpl().delete(f.getId()); |
AbstractDao.getCurrentSession().getTransaction().commit(); |
return mapping.findForward("grades"); |
} |
public ActionForward deleteStatusEpoca(ActionMapping mapping, |
ActionForm form, |
HttpServletRequest request, |
HttpServletResponse response) |
throws ServletException |
{ |
if(!UserSessionProxy.loadUserSessionFromRequest(request).getUser().isAdmin() && !UserSessionProxy.loadUserSessionFromRequest(request).getUser().hasRole("services")) |
{ |
return mapping.findForward("error401"); |
} |
ConfigurationGradesForm f = (ConfigurationGradesForm) form; |
AbstractDao.getCurrentSession().beginTransaction(); |
DaoFactory.getConfigurationGradesStatusEpocaDaoImpl().delete(f.getId()); |
AbstractDao.getCurrentSession().getTransaction().commit(); |
return mapping.findForward("grades"); |
} |
} |
Property changes: |
Added: svn:executable |
+ * |
/branches/v3/impl/src/java/pt/estgp/estgweb/web/filters/RequestURLFilter.java |
---|
1,12 → 1,9 |
package pt.estgp.estgweb.web.filters; |
import pt.estgp.estgweb.Globals; |
import pt.estgp.estgweb.web.utils.RequestUtils; |
import org.apache.commons.httpclient.util.URIUtil; |
import javax.servlet.*; |
import javax.servlet.http.HttpServletRequest; |
import javax.servlet.http.HttpServletResponse; |
import java.util.List; |
import java.io.IOException; |
/** |
43,13 → 40,15 |
String relativePath = hrequest.getServletPath(); |
if (relativePath == null) |
relativePath = ""; |
else |
relativePath = URIUtil.encodePath(relativePath, "ISO-8859-1"); |
if (hrequest.getPathInfo() != null && hrequest.getPathInfo().length() > 0) |
{ |
relativePath += hrequest.getPathInfo(); |
relativePath += URIUtil.encodePath(hrequest.getPathInfo(), "ISO-8859-1"); |
} |
if(hrequest.getQueryString() != null && hrequest.getQueryString().length()>0) |
relativePath += "?" + hrequest.getQueryString(); |
relativePath += "?" + URIUtil.encodePath(hrequest.getQueryString(), "ISO-8859-1"); |
String url = relativePath; |
/branches/v3/impl/src/web/admin/profile/menu.jsp |
---|
31,12 → 31,22 |
<li> |
<html:link action="/user/startProfile"><bean:message key="profile.home"/></html:link> |
</li> |
<li> |
<baco:hasRole role="admin,services"> |
<html:link action="/user/startChangeProfile?id=${ProfileForm.userView.id}"><bean:message key="profile.personal.data"/></html:link> |
<li> |
<html:link action="/user/startChangeProfile?id=${ProfileForm.userView.id}"><bean:message key="profile.personal.data"/></html:link> |
</li> |
</baco:hasRole> |
</li> |
<baco:isModuleOn module="profile"> |
<baco:hasNotRole role="admin,services"> |
<logic:equal value="${ProfileForm.userView.id}" name="UserSession" property="user.id"> |
<li> |
<html:link action="/user/startChangeProfile?id=${ProfileForm.userView.id}"><bean:message key="profile.personal.data"/></html:link> |
</li> |
</logic:equal> |
</baco:hasNotRole> |
<logic:equal value="${ProfileForm.userView.id}" name="UserSession" property="user.id"> |
<li> |
<html:link action="/user/startProfileCurriculum"><bean:message key="profile.curriculum"/></html:link> |
/branches/v3/impl/src/web/admin/profile/profilePersonalData.jsp |
---|
173,6 → 173,25 |
} |
%> |
<div class="form-group"> |
<div class="control-label col-sm-2"> Papeis atribuidos: </div> |
<div class="col-sm-6"> |
<logic:present name="ProfileForm" property="selectedRoles"> |
<logic:notEmpty name="ProfileForm" property="selectedRoles"> |
<div class="list-group"> |
<logic:iterate id="item" name="ProfileForm" property="selectedRoles"> |
<div class="list-group-item"> |
<bean:message key="user.role.${item}"/> |
</div> |
</logic:iterate> |
</div> |
</logic:notEmpty> |
</logic:present> |
</div> |
</div> |
</baco:isNotAdmin> |
<baco:isAdmin> |
<div class="form-group"> |
/branches/v3/impl/src/web/admin/profile/findUser.jsp |
---|
9,51 → 9,56 |
<%UserSessionImpl userSession = (UserSessionImpl) UserSessionProxy.loadUserSession(request, response);%> |
<jomm:messages/> |
<html:form action="/user/profileFromSearchUsers?separator=4&from=ServiceZone"> |
<input type="hidden" name="dispatch" value="search"> |
<div class="panel panel-default"> |
<div class="panel-body"> |
<html:form styleClass="form-horizontal" action="/user/profileFromSearchUsers?separator=4&from=ServiceZone"> |
<input type="hidden" name="dispatch" value="search"> |
<table class="form"> |
<tr> |
<th> |
<bean:message key="profile.search.user"/> |
</th> |
<td> |
<html:text property="textToSearch" maxlength="50"/> |
</td> |
<td> |
<html:select property="typeToSearch"> |
<html:option value="<%=(UserImpl.class).getName()%>"><bean:message key="user"/></html:option> |
<html:option value="<%=(StudentImpl.class).getName()%>"><bean:message key="student"/></html:option> |
<html:option value="<%=(TeacherImpl.class).getName()%>"><bean:message key="teacher"/></html:option> |
</html:select> |
</td> |
<td> |
<input type="button" onclick="set(this.form,'search');this.form.submit()" value="<bean:message key="search"/>"> |
</td> |
</tr> |
</table> |
</html:form> |
<logic:present name="ProfileForm" property="usersFind"> |
<table class="dataTable"> |
<tr> |
<th><bean:message key="profile.siges.student.code"/></th> |
<th><bean:message key="username"/> </th> |
<th><bean:message key="name"/> </th> |
<th><bean:message key="email"/></th> |
<th></th> |
<th></th> |
</tr> |
<div class="form-group"> |
<label class="control-label col-sm-2"><bean:message key="profile.search.user"/></label> |
<div class="col-sm-4"> |
<html:text styleClass="form-control" property="textToSearch" maxlength="250"/> |
</div> |
<div class="col-sm-2"> |
<html:select styleClass="form-control" property="typeToSearch"> |
<html:option value="<%=(UserImpl.class).getName()%>"><bean:message key="user"/></html:option> |
<html:option value="<%=(StudentImpl.class).getName()%>"><bean:message key="student"/></html:option> |
<html:option value="<%=(TeacherImpl.class).getName()%>"><bean:message key="teacher"/></html:option> |
</html:select> |
</div> |
<div class="col-sm-2"> |
<input class="btn btn-default" type="button" onclick="set(this.form,'search');this.form.submit()" value="<bean:message key="search"/>"> |
</div> |
</div> |
</html:form> |
<logic:iterate id="userView" name="ProfileForm" property="usersFind" type="pt.estgp.estgweb.domain.views.UserView"> |
<tr> |
<td>${userView.code}</td> |
<td>${userView.username}</td> |
<td>${userView.name}</td> |
<td>${userView.email}</td> |
<td><html:link action="/user/startProfileFromSearchUsers?id=${userView.id}"><bean:message key="edit"/></html:link></td> |
<td><a href="<%=request.getContextPath()%>/user/startDeleteProfileFromSearchUsers.do?id=${userView.id}" onclick="return confirm('<bean:message key="profile.confirm.delete"/>')"><bean:message key="delete"/></a></td> |
<td></td> |
</tr> |
</logic:iterate> |
</table> |
</logic:present> |
<logic:present name="ProfileForm" property="usersFind"> |
<table class="tablesorterfiltered"> |
<thead> |
<tr> |
<th><bean:message key="profile.siges.student.code"/></th> |
<th><bean:message key="username"/> </th> |
<th><bean:message key="name"/> </th> |
<th><bean:message key="email"/></th> |
<th></th> |
<th></th> |
</tr> |
</thead> |
<tbody> |
<logic:iterate id="userView" name="ProfileForm" property="usersFind" type="pt.estgp.estgweb.domain.views.UserView"> |
<tr> |
<td>${userView.code}</td> |
<td>${userView.username}</td> |
<td>${userView.name}</td> |
<td>${userView.email}</td> |
<td><html:link action="/user/startProfileFromSearchUsers?id=${userView.id}"><bean:message key="edit"/></html:link></td> |
<td><a href="<%=request.getContextPath()%>/user/startDeleteProfileFromSearchUsers.do?id=${userView.id}" onclick="return confirm('<bean:message key="profile.confirm.delete"/>')"><bean:message key="delete"/></a></td> |
<td></td> |
</tr> |
</logic:iterate> |
</tbody> |
</table> |
</logic:present> |
</div> |
</div> |
/branches/v3/impl/src/web/admin/configuration/taskLog.jsp |
---|
132,7 → 132,8 |
if(data.progress >= 100 && startStatus != data.status) |
{ |
window.location.href = $("#<%=logid%>").closest('.task-log').data("href"); |
if($("#<%=logid%>").closest('.task-log').length > 0) |
window.location.href = $("#<%=logid%>").closest('.task-log').data("href"); |
} |
}); |
270,6 → 271,7 |
line-height: 1.2; |
white-space: pre-wrap; |
font-family: monospace; |
font-size: 0.7em; |
} |
</style> |
<script> |
/branches/v3/impl/src/web/admin/configuration/grades.jsp |
---|
10,7 → 10,7 |
<%@ taglib uri="/WEB-INF/tlds/struts-nested.tld" prefix="nested" %> |
<%@ taglib uri="/WEB-INF/tlds/jomm.tld" prefix="jomm" %> |
<%@ taglib uri="/WEB-INF/tlds/baco.tld" prefix="baco" %> |
<%@ taglib prefix="hmlt" uri="http://jakarta.apache.org/struts/tags-html" %> |
<jsp:useBean id="UserSession" type="pt.estgp.estgweb.domain.UserSession" scope="request"/> |
<jomm:messages/> |
<html:errors/> |
/branches/v3/impl/src/web/admin/configuration/configs.jsp |
---|
New file |
0,0 → 1,40 |
<%@ page import="jomm.dao.impl.AbstractDao" %> |
<%@ page import="pt.estgp.estgweb.domain.Configuration" %> |
<%@ page import="pt.estgp.estgweb.domain.dao.DaoFactory" %> |
<%@ page import="pt.estgp.estgweb.web.form.configuration.ConfigurationsForm" %> |
<%@ page contentType="text/html;charset=UTF-8" language="java" %> |
<%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html" %> |
<%@ taglib uri="/WEB-INF/tlds/struts-logic.tld" prefix="logic" %> |
<%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %> |
<%@ taglib uri="/WEB-INF/tlds/struts-nested.tld" prefix="nested" %> |
<%@ taglib uri="/WEB-INF/tlds/jomm.tld" prefix="jomm" %> |
<%@ taglib uri="/WEB-INF/tlds/baco.tld" prefix="baco" %> |
<jsp:useBean id="UserSession" type="pt.estgp.estgweb.domain.UserSession" scope="request"/> |
<jomm:messages/> |
<html:errors/> |
<% |
AbstractDao.getCurrentSession().beginTransaction(); |
Configuration configuration = DaoFactory.getConfigurationDaoImpl().load(); |
%> |
<html:form action="/admin/setConfigurations"> |
<jsp:useBean id="ConfigurationsForm" type="pt.estgp.estgweb.web.form.configuration.ConfigurationsForm" scope="request"/> |
<% |
ConfigurationsForm.setConfiguration(configuration); |
%> |
Ano de Interface : <html:text property="configuration.interfaceImportYear"/> |
Cursos Ficticios : <html:text property="configuration.cursosFicticios"/> |
Ano em Avaliação : <html:text property="configuration.courseUnitEvaluationActiveYear"/> |
Tipos de Cursos em Avaliação : <html:text property="configuration.courseUnitEvaluationActiveDegrees"/> |
Cursos Ativos para Avaliação : <html:text property="configuration.courseUnitEvaluationActiveCourseIds"/> |
Informação de Abertura da Intranet : <html:textarea property="configuration.openInfoIntranet"/> |
</html:form> |
<% |
AbstractDao.getCurrentSession().getTransaction().commit(); |
%> |
/branches/v3/impl/src/web/js/logtailer/logtail.js |
---|
88,7 → 88,7 |
} |
if (o.lines){ |
self.idx = o.lines.length; |
self.idx +=o.lines.length; |
} |
if (!self.paused){ |
/branches/v3/impl/src/web/layout/headerTools.jsp |
---|
71,6 → 71,22 |
$($(e.currentTarget).data("target")).toggleClass('fullscreen'); |
}); |
$('.confirmModalFunction').on('show.bs.modal', function(e) { |
callbackscript = $(e.relatedTarget).data('script'); |
$(this).find('.btn-ok').unbind('click').click( |
function(){ |
eval(callbackscript); |
} |
); |
$(this).find('.ConfirmMessageToUser').html($(e.relatedTarget).data('message')); |
}); |
}); |
</script> |
<style> |
99,6 → 115,28 |
</div> |
<div class="modal-footer"> |
<button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button> |
<button class="btn btn-danger btn-ok">Sim</button> |
</div> |
</div> |
</div> |
</div> |
<div class="modal fade confirmModalFunction" id="confirm-ModalFunction" tabindex="-1" role="dialog" > |
<div class="modal-dialog" data-width="450" style="display: block; width: 450px; margin-top: 50px;" aria-hidden="false"> |
<div class="modal-content"> |
<div class="modal-header"> |
<h4 class="modal-title">Tem a certeza que deseja efectuar a seguinte operação?</h4> |
</div> |
<div class="modal-body"> |
<p class="ConfirmMessageToUser"> |
</p> |
</div> |
<div class="modal-footer"> |
<button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button> |
<a class="btn btn-danger btn-ok">Sim</a> |
</div> |
</div> |
/branches/v3/impl/src/web/layout/layout0ComLeft.jsp |
---|
New file |
0,0 → 1,39 |
<%@page contentType="text/html"%> |
<%@page pageEncoding="UTF-8"%> |
<%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html" %> |
<%@ taglib uri="/WEB-INF/tlds/struts-nested.tld" prefix="nested" %> |
<%@ taglib uri="/WEB-INF/tlds/struts-logic.tld" prefix="logic" %> |
<%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %> |
<%@ taglib uri="/WEB-INF/tlds/struts-tiles.tld" prefix="tiles" %> |
<%@ page import="pt.estgp.estgweb.Globals" %> |
<html:html locale="true"> |
<head> |
<title><bean:message key="site.title"/> - <tiles:getAsString name="title"/></title> |
<jsp:include page="/layout/scripts.jsp"/> |
</head> |
<body id="public" onload="horizontal();" > |
<!-- HEADER --> |
<tiles:insert attribute="header"/> |
<!-- SHORTCUTS MENU --> |
<tiles:insert attribute="navigationTop"/> |
<div class="container" style="padding-left: 0;padding-right: 0; padding-top: 20px; border-top: 1px solid #323431"> |
<!-- TOP NAV --> |
<tiles:insert attribute="topnav"/> |
<!-- BODY --> |
<div class="row"> |
<div class="col-sm-2" style="margin-right: 0;padding-right: 0"> |
<tiles:insert attribute="navigation"/> |
</div> |
<div class="col-sm-10" style="border:1px solid black;margin-left: 0;padding-left: 0"> |
<tiles:insert attribute="body"/> |
</div> |
</div> |
</div> |
<!-- FOOTER --> |
<tiles:insert attribute="footer"/> |
</body> |
</html:html> |
/branches/v3/impl/src/web/public/index.jsp |
---|
25,6 → 25,24 |
}); |
</script> |
<% |
IServiceManager sm = ServiceManager.getInstance(); |
String subTarget = null; |
String[] names = new String[]{}; |
Object[] args = new Object[]{Globals.ANNOUNCEMENT_TYPE_TOP_FLASH_NEWS, subTarget,5}; |
List<AnnouncementView> announcementViews = (List<AnnouncementView>) sm.execute(RequestUtils.getRequester(request, response), "LoadTypeAnnouncements", args, names); |
request.setAttribute("Banners", announcementViews); |
if(announcementViews.size() > 0) |
{ |
%> |
<div class="row row-offcanvas row-offcanvas-left hidden-xs"> |
34,45 → 52,47 |
<button type="button" class="btn btn-primary btn-xs" data-toggle="offcanvas">Menu</button> |
</p>--> |
<div id="myCarousel" class="carousel" data-ride="carousel" data-interval="100000"> |
<div id="myCarousel" class="carousel" data-ride="carousel" data-interval="2000"> |
<!-- Indicators --> |
<ol class="carousel-indicators"> |
<li data-target="#myCarousel" data-slide-to="0" class="active"></li> |
<li data-target="#myCarousel" data-slide-to="1"></li> |
<li data-target="#myCarousel" data-slide-to="2"></li> |
<% |
int i = 0; |
%> |
<logic:iterate id="banner" name="Banners" type="pt.estgp.estgweb.domain.views.AnnouncementView"> |
<li data-target="#myCarousel" data-slide-to="<%=i%>" <%=i==0?"class=\"active\"":""%>></li> |
<% |
i++; |
%> |
</logic:iterate> |
</ol> |
<!-- Wrapper for slides --> |
<div class="carousel-inner" role="listbox"> |
<div class="item active"> |
<a href="www.estgp.pt"><img src="<%=request.getContextPath()%>/imgs/testes/bannerTesteEstg.jpg" alt="Chania" height="100%" width="100%"></a> |
<div class="carousel-caption"> |
<h3>Chania</h3> |
<p>The atmosphere in Chania has a touch of Florence and Venice.</p> |
<% |
i = 0; |
%> |
<logic:iterate id="banner" name="Banners" type="pt.estgp.estgweb.domain.views.AnnouncementView"> |
<div class="item <%=i==0?"active":""%>"> |
<a href="${banner.url}"><img src="<%=request.getContextPath()%>/imageStream/${banner.bigImageId}" alt="${banner.title}" height="100%" width="100%"></a> |
<baco:isOwner name="banner"> |
<div class="carousel-caption"> |
<a href="<%=request.getContextPath()%>/startLoadAnnouncement.do?id=${banner.id}" class="btn btn-default">EDITAR</a> |
</div> |
</baco:isOwner> |
<baco:isNotOwner name="banner"> |
<baco:hasRole role="admin,all,services"> |
<div class="carousel-caption"> |
<a href="<%=request.getContextPath()%>/startLoadAnnouncement.do?id=${banner.id}" class="btn btn-default">EDITAR</a> |
</div> |
</baco:hasRole> |
</baco:isNotOwner> |
</div> |
</div> |
<% |
i++; |
%> |
</logic:iterate> |
<div class="item"> |
<a href="www.estgp.pt"><img src="<%=request.getContextPath()%>/imgs/testes/bannerTesteEstg.jpg" alt="Chania" height="100%" width="100%"></a> |
<div class="carousel-caption"> |
<h3>Chania</h3> |
<p>The atmosphere in Chania has a touch of Florence and Venice.</p> |
</div> |
</div> |
<div class="item"> |
<img src="<%=request.getContextPath()%>/imgs/testes/transferir.jpeg" alt="Chania" height="100%" width="100%"> |
<div class="carousel-caption"> |
<h3>Chania</h3> |
<p>The atmosphere in Chania has a touch of Florence and Venice.</p> |
</div> |
</div> |
</div> |
<!-- Left and right controls --> |
100,7 → 120,9 |
</div><!--/row--> |
<% |
} |
%> |
<%--- |
##### |
##### NOTICIAS |
/branches/v3/impl/src/web/public/courseunits/topnavCourseUnitTeacher.jsp |
---|
7,7 → 7,7 |
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request); |
topNav.addNavPlace("/Welcome.do", "Home"); |
topNav.addNavPlace(null, "course", CourseUnitView.getCourseName()); |
topNav.addNavPlace("/startLoadCourseUnit.do?courseUnitView.id=" + CourseUnitView.getId(), "courseunit",CourseUnitView.getName()); |
topNav.addNavPlace("/startLoadCourseUnit.do?courseUnitView.id=" + CourseUnitView.getId(),CourseUnitView.getName() + " " + CourseUnitView.getImportYear()); |
topNav.addNavPlace(null, "courseunit.teachers"); |
%> |
<jsp:include page="/layout/topnav.jsp"/> |
/branches/v3/impl/src/web/public/courseunits/topnavCourseUnitBlog.jsp |
---|
7,7 → 7,7 |
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request); |
topNav.addNavPlace("/Welcome.do", "Home"); |
topNav.addNavPlace(null, "course", CourseUnitView.getCourseName()); |
topNav.addNavPlace("/startLoadCourseUnit.do?courseUnitView.id=" + CourseUnitView.getId(), "courseunit",CourseUnitView.getName()); |
topNav.addNavPlace("/startLoadCourseUnit.do?courseUnitView.id=" + CourseUnitView.getId(),CourseUnitView.getName() + " " + CourseUnitView.getImportYear()); |
topNav.addNavPlace(null, "blog"); |
%> |
<jsp:include page="/layout/topnav.jsp"/> |
/branches/v3/impl/src/web/public/courseunits/topnavCourseUnitStudent.jsp |
---|
7,7 → 7,7 |
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request); |
topNav.addNavPlace("/Welcome.do", "Home"); |
topNav.addNavPlace(null, "course", CourseUnitView.getCourseName()); |
topNav.addNavPlace("/startLoadCourseUnit.do?courseUnitView.id=" + CourseUnitView.getId(), "courseunit",CourseUnitView.getName()); |
topNav.addNavPlace("/startLoadCourseUnit.do?courseUnitView.id=" + CourseUnitView.getId(),CourseUnitView.getName() + " " + CourseUnitView.getImportYear()); |
topNav.addNavPlace("/startLoadCourseUnitStudents.do?courseUnitView.id=" + CourseUnitView.getId() ,"courseunit.students"); |
topNav.addNavPlace(null, "student"); |
%> |
/branches/v3/impl/src/web/public/courseunits/topnavCourseUnitEvaluation.jsp |
---|
7,7 → 7,7 |
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request); |
topNav.addNavPlace("/Welcome.do", "Home"); |
topNav.addNavPlace(null, "course", CourseUnitView.getCourseName()); |
topNav.addNavPlace("/startLoadCourseUnit.do?courseUnitView.id=" + CourseUnitView.getId(), "courseunit",CourseUnitView.getName()); |
topNav.addNavPlace("/startLoadCourseUnit.do?courseUnitView.id=" + CourseUnitView.getId(),CourseUnitView.getName() + " " + CourseUnitView.getImportYear()); |
topNav.addNavPlace(null, "courseunit.evaluation"); |
%> |
<jsp:include page="/layout/topnav.jsp"/> |
/branches/v3/impl/src/web/public/courseunits/topnavCourseUnitStudents.jsp |
---|
4,10 → 4,11 |
<%@ page import="jomm.web.utils.TopNav" %> |
<jsp:useBean id="CourseUnitView" type="pt.estgp.estgweb.domain.views.CourseUnitView" scope="request"/> |
<% |
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request); |
topNav.addNavPlace("/Welcome.do", "Home"); |
topNav.addNavPlace(null, "course", CourseUnitView.getCourseName()); |
topNav.addNavPlace("/startLoadCourseUnit.do?courseUnitView.id=" + CourseUnitView.getId(), "courseunit",CourseUnitView.getName()); |
topNav.addNavPlace("/startLoadCourseUnit.do?courseUnitView.id=" + CourseUnitView.getId(),CourseUnitView.getName() + " " + CourseUnitView.getImportYear()); |
topNav.addNavPlace(null, "courseunit.students"); |
%> |
<jsp:include page="/layout/topnav.jsp"/> |
/branches/v3/impl/src/web/user/courses/directedCoordinatedCoursesCourseView.jsp |
---|
68,6 → 68,7 |
%> |
<th>Docente</th> |
<th class="filter-false" data-sorter="false">Ficha</th> |
<th class="filter-false" data-sorter="false">Abrir Avaliação Extraordináriamente</th> |
<th class="filter-false" data-sorter="false">Relatório</th> |
</tr> |
</thead> |
111,6 → 112,11 |
<html:link styleClass="btn btn-small" action="/user/startLoadCourseUnitProgram?courseUnitId=${courseUnitView.id}"><span class="glyphicon glyphicon-pencil"></span></html:link> |
</baco:isAdmin> |
</td> |
<td class="icons" style="text-align: center; vertical-align: middle"> |
<baco:hasRole role="${courseView.validationRole},courseValidatePrograms" > |
<nested:checkbox styleClass="btn" property="evaluationOpenByAdmin"/> |
</baco:hasRole> |
</td> |
<td class="icons"> |
<baco:isNotAdmin> |
<baco:hasRole role="${courseView.validationRole},courseValidatePrograms,servicesPrograms"> |
183,6 → 189,7 |
<th>Docente</th> |
<th class="filter-false" data-sorter="false">Validar Ficha</th> |
<th class="filter-false" data-sorter="false">Ficha</th> |
<th class="filter-false" data-sorter="false">Abrir Avaliação Extraordináriamente</th> |
<th class="filter-false" data-sorter="false">Relatório</th> |
</tr> |
</thead> |
261,6 → 268,11 |
<html:link styleClass="btn btn-small" action="/user/startLoadCourseUnitProgram?courseUnitId=${courseUnitView.id}"><span class="glyphicon glyphicon-pencil"></span></html:link> |
</baco:isAdmin> |
</td> |
<td class="icons" style="text-align: center; vertical-align: middle"> |
<baco:hasRole role="${courseView.validationRole},courseValidatePrograms" > |
<nested:checkbox styleClass="btn" property="evaluationOpenByAdmin"/> |
</baco:hasRole> |
</td> |
<td class="icons"> |
<baco:isNotAdmin> |
<baco:hasRole role="${courseView.validationRole},courseValidatePrograms,servicesPrograms"> |
329,6 → 341,7 |
<th>Docente</th> |
<th class="filter-false" data-sorter="false">Validar Ficha</th> |
<th class="filter-false" data-sorter="false">Ficha</th> |
<th class="filter-false" data-sorter="false">Abrir Avaliação Extraordináriamente</th> |
<th class="filter-false" data-sorter="false">Relatório</th> |
</tr> |
</thead> |
407,6 → 420,11 |
<html:link styleClass="btn btn-small" action="/user/startLoadCourseUnitProgram?courseUnitId=${courseUnitView.id}"><span class="glyphicon glyphicon-pencil"></span></html:link> |
</baco:isAdmin> |
</td> |
<td class="icons" style="text-align: center; vertical-align: middle"> |
<baco:hasRole role="${courseView.validationRole},courseValidatePrograms" > |
<nested:checkbox styleClass="btn" property="evaluationOpenByAdmin"/> |
</baco:hasRole> |
</td> |
<td class="icons"> |
<baco:isNotAdmin> |
<baco:hasRole role="${courseView.validationRole},courseValidatePrograms,servicesPrograms"> |
/branches/v3/impl/src/web/user/courseunits/topnavDossierTecnicoPedagogico.jsp |
---|
15,7 → 15,7 |
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request); |
topNav.addNavPlace("/user/startHome.do", "intranet.separator.home.back"); |
topNav.addNavPlace(null, "course",CourseUnitView.getCourseName()); |
topNav.addNavPlace("/user/startLoadCourseUnitFromHome.do?courseUnitView.id=" + CourseUnitView.getId(), "courseunit",CourseUnitView.getName()); |
topNav.addNavPlace("/user/startLoadCourseUnitFromHome.do?courseUnitView.id=" + CourseUnitView.getId(),CourseUnitView.getName() + " " + CourseUnitView.getImportYear()); |
topNav.addNavPlace(null, "courseunit.dossier.tecnico.pedagogico"); |
%> |
<jsp:include page="/layout/topnav.jsp"/> |
/branches/v3/impl/src/web/user/courseunits/courseunitProgram.jsp |
---|
16,10 → 16,29 |
<jsp:useBean id="CourseUnitView" type="pt.estgp.estgweb.domain.views.CourseUnitView" scope="request"/> |
<%--<jsp:useBean id="CourseUnitProgramView" type="pt.estgp.estgweb.domain.views.CourseUnitProgramView" scope="request"/>--%> |
<jsp:useBean id="UserSession" type="pt.estgp.estgweb.domain.UserSession" scope="request"/> |
<div id="contentIntranet"> |
<div id="contentPane"> |
<div class="panel panel-default"> |
<div class="panel-heading"> |
<bean:message key="courseunit.program"/> |
</div> |
<div class="panel-body"> |
<html:errors/> |
<jomm:messages/> |
<baco:clearOperation name="CourseUnitView" property="courseUnit" op="PROGRAM_INFO_VALID_NOT_ACTIVE"> |
<div class="alert alert-warning"> |
O programa não está aberto para edição. A comissão de curso terá de invalidar o programa para que este possa ser alterado. |
</div> |
</baco:clearOperation> |
<baco:clearOperation name="CourseUnitView" property="courseUnit" op="PROGRAM_CAN_VALIDATE"> |
<logic:equal name="CourseUnitView" property="validProgram" value="true"> |
<html:link styleClass="btn btn-warning" action="/user/invalidateAndLoadCourseUnitProgram?courseUnitId=${CourseUnitView.id}">Invalidar</html:link> |
</logic:equal> |
</baco:clearOperation> |
<script> |
//Manter a sessão activa para os docentes não perderem os dados |
ping(); |
50,459 → 69,362 |
e.printStackTrace(); |
} |
%> |
%> |
<div class="seccao"> |
<h2> |
<bean:message key="courseunit.program"/> |
</h2> |
<baco:notClearOperation name="CourseUnitView" property="courseUnit" op="PROGRAM_COORDINATOR_PART"> |
<script> |
$(document).ready( |
function(){ |
$(".editCoordinatorPart *").prop('disabled',true); |
<% |
boolean editCoordinatorPart = false; |
boolean editTeacherPart = false; |
pt.estgp.estgweb.domain.User u = UserSession.getUser(); |
if(u.isSuperuserOrAdmin()) |
{ |
editCoordinatorPart = true; |
editTeacherPart = true; |
} |
else |
{ |
if(u instanceof pt.estgp.estgweb.domain.Teacher) |
{ |
pt.estgp.estgweb.domain.Teacher t = (pt.estgp.estgweb.domain.Teacher) u; |
if(t.isTeacherOfCourseUnit(CourseUnitView.getId())) |
{ |
editTeacherPart = true; |
} |
if(CourseUnitView.getCourseView().getCoordinator() != null && (t.getId() == CourseUnitView.getCourseView().getCoordinator().getId() || t.hasRole(CourseUnitView.getCourseView().getValidationRole()))) |
{ |
editCoordinatorPart = true; |
} |
); |
</script> |
</baco:notClearOperation> |
<baco:notClearOperation name="CourseUnitView" property="courseUnit" op="PROGRAM_TEACHER_PART"> |
<script> |
$(document).ready( |
function(){ |
$(".editTeacherPart *").prop('disabled',true); |
} |
} |
%> |
<html:form action="/user/courseUnitProgramController"> |
} |
); |
</script> |
</baco:notClearOperation> |
<html:form styleId="ProgramForm" styleClass="form-horizontal" action="/user/courseUnitProgramController"> |
<input type="hidden" name="dispatch" value="saveProgram"> |
<html:hidden property="id"/> |
<html:hidden property="courseUnitView.id"/> |
<h3>Dados alterados pelo Coordenador de curso</h3> |
<div class="editCoordinatorPart"> |
<div class="form-group"> |
<label class="control-label col-sm-3"> |
Importar programa a partir de outro ano |
</label> |
<div class="col-sm-3"> |
<select class="form-control col-sm-3" name="cloneFromUnitId"> |
<logic:iterate id="other" name="OtherYearUnits" type="pt.estgp.estgweb.domain.views.CourseUnitView"> |
<option value="<%=other.getId()%>"><%=other.getImportYear()%> - <%=other.getSemestre()%></option> |
</logic:iterate> |
</select> |
</div> |
<div class="col-sm-3"> |
<input class="form-control" type="button" value="Clonar a partir deste programa" onclick="if(confirm('<bean:message key="courseunit.confirmaclonagem"/>')){set(form,'cloneProgram');form.submit()}"/> |
</div> |
</div> |
</div> |
<div class="alert alert-info"> |
<% |
if(editCoordinatorPart) |
{ |
%> |
<div> |
Importar programa a partir de outro ano |
<select name="cloneFromUnitId"> |
<logic:iterate id="other" name="OtherYearUnits" type="pt.estgp.estgweb.domain.views.CourseUnitView"> |
<option value="<%=other.getId()%>"><%=other.getImportYear()%> - <%=other.getSemestre()%></option> |
</logic:iterate> |
</select> |
<input type="button" value="Clonar a partir deste programa" onclick="if(confirm('<bean:message key="courseunit.confirmaclonagem"/>')){set(form,'cloneProgram');form.submit()}"/> |
<bean:message key="courseunit.consultaroutros"/>: |
<logic:iterate id="other" name="OtherYearUnits" type="pt.estgp.estgweb.domain.views.CourseUnitView"> |
<a href="<%=request.getContextPath()%>/repositoryStream/<%=other.getProgramStreamId()%>" target="_blank"> <%=other.getImportYear()%> - <%=other.getSemestre()%></a> |
|
</logic:iterate> |
</div> |
<% |
} |
%> |
<table> |
<tr> |
<td colspan="<%=otherYearUnits.size()%>"><bean:message key="courseunit.consultaroutros"/> </td> |
</tr> |
<tr> |
<logic:iterate id="other" name="OtherYearUnits" type="pt.estgp.estgweb.domain.views.CourseUnitView"> |
<td> |
<a href="<%=request.getContextPath()%>/repositoryStream/<%=other.getProgramStreamId()%>" target="_blank"> <%=other.getImportYear()%> - <%=other.getSemestre()%></a> |
</td> |
</logic:iterate> |
</tr> |
</table> |
<table class="dataTable tableDisabled" width="100%"> |
<%--COORDENADOR--%> |
<tr> |
<th colspan="2">Dados alterados pelo Coordenador de curso</th> |
</tr> |
<% |
if(editCoordinatorPart) |
{ |
%> |
<%// DADOS DE UNIDADE //%> |
<tr> |
<th> |
<div class="editCoordinatorPart"> |
<div class="form-group"> |
<label class="control-label col-sm-2"> |
<bean:message key="courseunit.responsable"/> |
</th> |
<td> |
<html:select property="courseUnitView.responsableId"> |
</label> |
<div class="col-sm-10"> |
<html:select styleClass="form-control" property="courseUnitView.responsableId"> |
<html:option value="0"></html:option> |
<logic:iterate id="teacher" name="teachers" type="pt.estgp.estgweb.domain.views.UserView"> |
<html:option value="${teacher.id}">${teacher.name} (${teacher.code})</html:option> |
</logic:iterate> |
</html:select> |
</td> |
</tr> |
</div> |
</div> |
<baco:isAdmin> |
<tr> |
<th> |
<bean:message key="courseunit.teachers"/> |
</th> |
<td> |
<logic:lessEqual value="0" name="CourseUnitView" property="id"> |
<i><bean:message key="courseunit.to.add.teachers.save.first"/></i> |
</logic:lessEqual> |
<html:select property="teacherId"> |
<div class="form-group"> |
<label class="control-label col-sm-2"> |
<bean:message key="courseunit.teachers"/> |
</label> |
<div class="col-sm-8"> |
<logic:lessEqual value="0" name="CourseUnitView" property="id"> |
<i><bean:message key="courseunit.to.add.teachers.save.first"/></i> |
</logic:lessEqual> |
<html:select styleClass="form-control" property="teacherId"> |
<logic:present name="CourseUnitProgramForm" property="teachers"> |
<logic:iterate id="teacher" name="teachers" type="pt.estgp.estgweb.domain.views.UserView"> |
<jomm:option itemName="teacher" itemProperty="id" comparableObjectName="CourseUnitProgramForm" |
comparableObjectProperty="teacherId"> |
${teacher.name} (${teacher.code}) |
</jomm:option> |
<html:option value="${teacher.id}">${teacher.name} (${teacher.code})</html:option> |
</logic:iterate> |
<input type="button" value="<bean:message key="add"/>" |
onclick="set(this.form,'addTeacher');this.form.submit();"> |
</logic:present> |
</html:select> |
<logic:greaterThan name="CourseUnitView" property="teachersSize" value="0"> |
<table class="dataTable removeButton"> |
</div> |
<div class="col-sm-2"> |
<button class="form-control" type="button" onclick="set(this.form,'addTeacher');this.form.submit();"> |
<bean:message key="add"/> |
</button> |
</div> |
<logic:greaterThan name="CourseUnitView" property="teachersSize" value="0"> |
<label class="col-sm-2"> |
</label> |
<div class="col-sm-10"> |
<div class="list-group"> |
<logic:iterate id="userView" name="CourseUnitView" property="teachers" type="pt.estgp.estgweb.domain.views.UserView"> |
<tr> |
<th> |
${userView.code} |
</th> |
<th> |
${userView.name} |
</th> |
<td><input type="button" class="removeButton" |
onclick="CourseUnitProgramForm.id.value='${userView.id}';set(this.form,'removeTeacher');this.form.submit();"> |
</td> |
</tr> |
<div class="list-group-item"> |
${userView.name} (${userView.code}) |
<button class="btn btn-danger btn-xs" type="button" data-toggle="modal" data-target="#confirm-ModalFunction" data-message="Esta operação vai remover o docente da unidade localmente, a sincronização com o sistema do IPP não voltará a colocar o docente neste unidade!! Tem a certeza que deseja prosseguir?" data-script="CourseUnitProgramForm.id.value='${userView.id}';set($('#ProgramForm').get(0),'removeTeacher');$('#ProgramForm').get(0).submit();"> |
<span class="glyphicon glyphicon-remove small"></span> |
</button> |
</div> |
</logic:iterate> |
</table> |
</logic:greaterThan> |
</td> |
</tr> |
</div> |
</div> |
</logic:greaterThan> |
</div> |
</baco:isAdmin> |
<baco:isNotAdmin> |
<logic:iterate id="prof" name="CourseUnitView" property="teachers" type="pt.estgp.estgweb.domain.views.UserView"> |
<tr> |
<th> |
<bean:message key="courseunit.teachers"/> |
</th> |
<td> |
${prof.name} (${prof.code}) |
</td> |
</tr> |
</logic:iterate> |
<div class="form-group"> |
<label class="control-label col-sm-2"> |
<bean:message key="courseunit.teachers"/> |
</label> |
<div class="col-sm-10"> |
<div class="list-group"> |
<logic:iterate id="prof" name="CourseUnitView" property="teachers" type="pt.estgp.estgweb.domain.views.UserView"> |
<div class="list-group-item"> ${prof.name} (${prof.code})</div> |
</logic:iterate> |
</div> |
</div> |
</div> |
</baco:isNotAdmin> |
<%//TODO adicionar workflow e inicializações para a função addTeacher%> |
<div class="form-group"> |
<label class="control-label col-sm-2"> |
<bean:message key="courseunit.program.ects.title"/> |
</label> |
<div class="col-sm-10"> |
<div> |
<div class="form-group"> |
<label class="control-label col-sm-1"> |
<bean:message key="courseunit.program.ects"/> |
</label> |
<div class="col-sm-11"> |
<html:text styleClass="form-control" property="courseUnitProgramView.courseUnitProgram.ects"/> |
</div> |
</div> |
<div class="form-group"> |
<label class="control-label col-sm-1"> |
<bean:message key="courseunit.program.ects.cargaHorariaTotal"/> |
</label> |
<div class="col-sm-11"> |
<html:text styleClass="form-control" property="courseUnitProgramView.courseUnitProgram.cargaHorariaTotal"/> |
</div> |
</div> |
</div> |
<div> |
<div class="form-group"> |
<div class="col-sm-12"> |
<table> |
<tr> |
<th><bean:message key="courseunit.program.cargaHorariaT"/></th> |
<th><bean:message key="courseunit.program.cargaHorariaTP"/></th> |
<th><bean:message key="courseunit.program.cargaHorariaPL"/></th> |
<th><bean:message key="courseunit.program.cargaHorariaS"/></th> |
<th><bean:message key="courseunit.program.cargaHorariaTC"/></th> |
<th><bean:message key="courseunit.program.cargaHorariaO"/></th> |
<th><bean:message key="courseunit.program.cargaHorariaOT"/></th> |
</tr> |
<tr> |
<td><html:text styleClass="form-control" property="courseUnitProgramView.courseUnitProgram.cargaHorariaT"/></td> |
<td><html:text styleClass="form-control" property="courseUnitProgramView.courseUnitProgram.cargaHorariaTP"/></td> |
<td><html:text styleClass="form-control" property="courseUnitProgramView.courseUnitProgram.cargaHorariaPL"/></td> |
<td><html:text styleClass="form-control" property="courseUnitProgramView.courseUnitProgram.cargaHorariaS"/></td> |
<td><html:text styleClass="form-control" property="courseUnitProgramView.courseUnitProgram.cargaHorariaTC"/></td> |
<td><html:text styleClass="form-control" property="courseUnitProgramView.courseUnitProgram.cargaHorariaO"/></td> |
<td><html:text styleClass="form-control" property="courseUnitProgramView.courseUnitProgram.cargaHorariaOT"/></td> |
</tr> |
</table> |
</div> |
</div> |
</div> |
</div> |
</div> |
</div> |
<h3>Dados alterados pelo Docente da Unidade</h3> |
<div class="editTeacherPart"> |
<%//TODO adicionar workflow e inicializações para a função addTeacher%> |
<div class="form-group"> |
<label class="control-label col-sm-2"> |
<bean:message key="courseunit.program.objectivos"/> |
</label> |
<div class="col-sm-10"> |
<html:textarea rows="10" styleClass="form-control" property="courseUnitProgramView.courseUnitProgram.courseUnitProgramPart2.objectivos" /> |
</div> |
</div> |
<tr> |
<td align="right"><bean:message key="courseunit.program.objectivos"/></td> |
<td width="80%"><html:textarea property="courseUnitProgramView.courseUnitProgram.courseUnitProgramPart2.objectivos" style="width:100%;height:200px" /></td> |
</tr> |
<div class="form-group"> |
<label class="control-label col-sm-2"> |
<bean:message key="courseunit.program.prerequisitos"/> |
</label> |
<div class="col-sm-10"> |
<html:textarea rows="10" styleClass="form-control" property="courseUnitProgramView.courseUnitProgram.prerequisitos" /> |
</div> |
</div> |
<tr> |
<td align="right"><bean:message key="courseunit.program.prerequisitos"/></td> |
<td width="80%"><html:textarea property="courseUnitProgramView.courseUnitProgram.prerequisitos" style="width:100%;height:200px" /></td> |
</tr> |
<div class="form-group"> |
<label class="control-label col-sm-2"> |
<bean:message key="courseunit.program.lingua1"/> |
</label> |
<div class="col-sm-10"> |
<html:text styleClass="form-control" property="courseUnitProgramView.courseUnitProgram.lingua1" /> |
</div> |
</div> |
<tr> |
<td align="right"><bean:message key="courseunit.program.lingua1"/></td> |
<td width="80%"><html:text property="courseUnitProgramView.courseUnitProgram.lingua1" style="width:100%" /></td> |
</tr> |
<div class="form-group"> |
<label class="control-label col-sm-2"> |
<bean:message key="courseunit.program.lingua2"/> |
</label> |
<div class="col-sm-10"> |
<html:text styleClass="form-control" property="courseUnitProgramView.courseUnitProgram.lingua2" /> |
</div> |
</div> |
<tr> |
<td align="right"><bean:message key="courseunit.program.lingua2"/></td> |
<td width="80%"><html:text property="courseUnitProgramView.courseUnitProgram.lingua2" style="width:100%" /></td> |
</tr> |
<tr> |
<td colspan="2"><bean:message key="courseunit.program.ects.title"/></td> |
</tr> |
<tr> |
<td align="right"><bean:message key="courseunit.program.ects"/></td> |
<td width="80%"><html:text property="courseUnitProgramView.courseUnitProgram.ects"/></td> |
</tr> |
<tr> |
<td align="right"><bean:message key="courseunit.program.ects.cargaHorariaTotal"/></td> |
<td width="80%"><html:text property="courseUnitProgramView.courseUnitProgram.cargaHorariaTotal"/></td> |
</tr> |
<tr> |
<td align="right"></td> |
<td width="80%"> |
<table> |
<tr> |
<td><bean:message key="courseunit.program.cargaHorariaT"/></td> |
<td><bean:message key="courseunit.program.cargaHorariaTP"/></td> |
<td><bean:message key="courseunit.program.cargaHorariaPL"/></td> |
<td><bean:message key="courseunit.program.cargaHorariaS"/></td> |
<td><bean:message key="courseunit.program.cargaHorariaTC"/></td> |
<td><bean:message key="courseunit.program.cargaHorariaO"/></td> |
<td><bean:message key="courseunit.program.cargaHorariaOT"/></td> |
</tr> |
<tr> |
<td><html:text property="courseUnitProgramView.courseUnitProgram.cargaHorariaT"/></td> |
<td><html:text property="courseUnitProgramView.courseUnitProgram.cargaHorariaTP"/></td> |
<td><html:text property="courseUnitProgramView.courseUnitProgram.cargaHorariaPL"/></td> |
<td><html:text property="courseUnitProgramView.courseUnitProgram.cargaHorariaS"/></td> |
<td><html:text property="courseUnitProgramView.courseUnitProgram.cargaHorariaTC"/></td> |
<td><html:text property="courseUnitProgramView.courseUnitProgram.cargaHorariaO"/></td> |
<td><html:text property="courseUnitProgramView.courseUnitProgram.cargaHorariaOT"/></td> |
</tr> |
</table> |
</td> |
</tr> |
<!--Conteudos--> |
<div class="form-group"> |
<label class="control-label col-sm-2"> |
<bean:message key="courseunit.program.conteudosProgramaticos"/> |
</label> |
<div class="col-sm-10"> |
<html:textarea styleClass="form-control" rows="10" property="courseUnitProgramView.courseUnitProgram.courseUnitProgramPart2.conteudos" /> |
</div> |
</div> |
<% |
} |
else |
{ |
%> |
<tr> |
<th> |
<bean:message key="courseunit.responsable"/> |
</th> |
<td> |
${CourseUnitView.responsableTeacher.name} (${CourseUnitView.responsableTeacher.code}) |
</td> |
</tr> |
<logic:iterate id="prof" name="CourseUnitView" property="teachers" type="pt.estgp.estgweb.domain.views.UserView"> |
<tr> |
<th> |
<bean:message key="courseunit.teachers"/> |
</th> |
<td> |
${prof.name} (${prof.code}) |
</td> |
</tr> |
</logic:iterate> |
<tr> |
<td align="right"><bean:message key="courseunit.program.objectivos"/></td> |
<td width="80%"><html:textarea disabled="true" property="courseUnitProgramView.courseUnitProgram.courseUnitProgramPart2.objectivos" style="width:100%;height:200px" /></td> |
</tr> |
<!--demonstracaoCoerenciaConteudos--> |
<div class="form-group"> |
<label class="control-label col-sm-2"> |
<bean:message key="courseunit.program.demonstracaoCoerenciaConteudosObjectivos"/> |
</label> |
<div class="col-sm-10"> |
<html:textarea styleClass="form-control" rows="10" property="courseUnitProgramView.courseUnitProgram.courseUnitProgramPart2.demonstracaoCoerenciaConteudos" /> |
</div> |
</div> |
<tr> |
<td align="right"><bean:message key="courseunit.program.prerequisitos"/></td> |
<td width="80%"><html:textarea disabled="true" property="courseUnitProgramView.courseUnitProgram.prerequisitos" style="width:100%;height:200px" /></td> |
</tr> |
<!--metodologiasEnsino--> |
<div class="form-group"> |
<label class="control-label col-sm-2"> |
<bean:message key="courseunit.program.metodologiasEnsino"/> |
</label> |
<div class="col-sm-10"> |
<html:textarea styleClass="form-control" rows="10" property="courseUnitProgramView.courseUnitProgram.courseUnitProgramPart2.metodologiasEnsino" /> |
</div> |
</div> |
<tr> |
<td align="right"><bean:message key="courseunit.program.lingua1"/></td> |
<td width="80%"><html:text disabled="true" property="courseUnitProgramView.courseUnitProgram.lingua1" style="width:100%" /></td> |
</tr> |
<!--demonstracaoObjectivosMetodologia--> |
<div class="form-group"> |
<label class="control-label col-sm-2"> |
<bean:message key="courseunit.program.demonstracaoDaCoerenciaMetodologiasObjectivos"/> |
</label> |
<div class="col-sm-10"> |
<html:textarea styleClass="form-control" rows="10" property="courseUnitProgramView.courseUnitProgram.courseUnitProgramPart2.demonstracaoObjectivosMetodologia" /> |
</div> |
</div> |
<tr> |
<td align="right"><bean:message key="courseunit.program.lingua2"/></td> |
<td width="80%"><html:text disabled="true" property="courseUnitProgramView.courseUnitProgram.lingua2" style="width:100%" /></td> |
</tr> |
<tr> |
<td align="right"><bean:message key="courseunit.program.ects"/></td> |
<td width="80%"><html:text disabled="true" property="courseUnitProgramView.courseUnitProgram.ects"/></td> |
</tr> |
<tr> |
<td align="right"><bean:message key="courseunit.program.ects.cargaHorariaTotal"/></td> |
<td width="80%"><html:text disabled="true" property="courseUnitProgramView.courseUnitProgram.cargaHorariaTotal"/></td> |
</tr> |
<tr> |
<td align="right"></td> |
<td width="80%"> |
<table> |
<tr> |
<td><bean:message key="courseunit.program.cargaHorariaT"/></td> |
<td><bean:message key="courseunit.program.cargaHorariaTP"/></td> |
<td><bean:message key="courseunit.program.cargaHorariaPL"/></td> |
<td><bean:message key="courseunit.program.cargaHorariaS"/></td> |
<td><bean:message key="courseunit.program.cargaHorariaTC"/></td> |
<td><bean:message key="courseunit.program.cargaHorariaO"/></td> |
<td><bean:message key="courseunit.program.cargaHorariaOT"/></td> |
</tr> |
<tr> |
<td><html:text disabled="true" property="courseUnitProgramView.courseUnitProgram.cargaHorariaT"/></td> |
<td><html:text disabled="true" property="courseUnitProgramView.courseUnitProgram.cargaHorariaTP"/></td> |
<td><html:text disabled="true" property="courseUnitProgramView.courseUnitProgram.cargaHorariaPL"/></td> |
<td><html:text disabled="true" property="courseUnitProgramView.courseUnitProgram.cargaHorariaS"/></td> |
<td><html:text disabled="true" property="courseUnitProgramView.courseUnitProgram.cargaHorariaTC"/></td> |
<td><html:text disabled="true" property="courseUnitProgramView.courseUnitProgram.cargaHorariaO"/></td> |
<td><html:text disabled="true" property="courseUnitProgramView.courseUnitProgram.cargaHorariaOT"/></td> |
</tr> |
</table> |
<h4><bean:message key="courseunit.program.avaliacao"/></h4> |
<!--avaliacaoOrdinariosFrequencia--> |
<div class="form-group"> |
<label class="control-label col-sm-2"> |
<bean:message key="courseunit.program.alunosOrdinariosPorFrequencia"/> |
</label> |
<div class="col-sm-10"> |
<html:textarea styleClass="form-control" rows="10" property="courseUnitProgramView.courseUnitProgram.courseUnitProgramPart2.avaliacaoOrdinariosFrequencia" /> |
</div> |
</div> |
<!--avaliacaoOrdinariosExame--> |
<div class="form-group"> |
<label class="control-label col-sm-2"> |
<bean:message key="courseunit.program.alunosOrdinariosPorExame"/> |
</label> |
<div class="col-sm-10"> |
<html:textarea styleClass="form-control" rows="10" property="courseUnitProgramView.courseUnitProgram.courseUnitProgramPart2.avaliacaoOrdinariosExame" /> |
</div> |
</div> |
<!--avaliacaoEspeciaisFrequencia--> |
<div class="form-group"> |
<label class="control-label col-sm-2"> |
<bean:message key="courseunit.program.alunosMobilidadeAlunosComEstatutoEspecialPorFrequencia"/> |
</label> |
<div class="col-sm-10"> |
<html:textarea styleClass="form-control" rows="10" property="courseUnitProgramView.courseUnitProgram.courseUnitProgramPart2.avaliacaoEspeciaisFrequencia" /> |
</div> |
</div> |
<!--avaliacaoEspeciaissExame--> |
<div class="form-group"> |
<label class="control-label col-sm-2"> |
<bean:message key="courseunit.program.alunosMobilidadeAlunosComEstatutoEspecialPorExame"/> |
</label> |
<div class="col-sm-10"> |
<html:textarea styleClass="form-control" rows="10" property="courseUnitProgramView.courseUnitProgram.courseUnitProgramPart2.avaliacaoEspeciaissExame" /> |
</div> |
</div> |
</td> |
</tr> |
<h4><bean:message key="courseunit.program.bibliografia"/></h4> |
<% |
} |
if(editTeacherPart) |
{ |
%> |
<tr> |
<th colspan="2">Dados alterados pelo Docente da Unidade</th> |
</tr> |
<!--bibliografia--> |
<div class="form-group"> |
<label class="control-label col-sm-2"> |
<bean:message key="courseunit.program.bibliografiaPrincipal"/> |
</label> |
<div class="col-sm-10"> |
<html:textarea styleClass="form-control" rows="10" property="courseUnitProgramView.courseUnitProgram.bibliografia" /> |
</div> |
</div> |
<tr> |
<td align="right"><bean:message key="courseunit.program.conteudosProgramaticos"/></td> |
<td width="80%"><html:textarea property="courseUnitProgramView.courseUnitProgram.courseUnitProgramPart2.conteudos" style="width:100%;height:200px" /></td> |
</tr> |
<!--bibliografiaComplementar--> |
<div class="form-group"> |
<label class="control-label col-sm-2"> |
<bean:message key="courseunit.program.bibliografiaComplementar"/> |
</label> |
<div class="col-sm-10"> |
<html:textarea styleClass="form-control" rows="10" property="courseUnitProgramView.courseUnitProgram.bibliografiaComplementar" /> |
</div> |
</div> |
<tr> |
<td align="right"><bean:message key="courseunit.program.demonstracaoCoerenciaConteudosObjectivos"/></td> |
<td width="80%"><html:textarea property="courseUnitProgramView.courseUnitProgram.courseUnitProgramPart2.demonstracaoCoerenciaConteudos" style="width:100%;height:200px" /></td> |
</tr> |
<tr> |
<td align="right"><bean:message key="courseunit.program.metodologiasEnsino"/></td> |
<td width="80%"><html:textarea property="courseUnitProgramView.courseUnitProgram.courseUnitProgramPart2.metodologiasEnsino" style="width:100%;height:200px" /></td> |
</tr> |
</div> |
<tr> |
<td align="right"><bean:message key="courseunit.program.demonstracaoDaCoerenciaMetodologiasObjectivos"/></td> |
<td width="80%"><html:textarea property="courseUnitProgramView.courseUnitProgram.courseUnitProgramPart2.demonstracaoObjectivosMetodologia" style="width:100%;height:200px" /></td> |
</tr> |
<tr> |
<td colspan="2"><bean:message key="courseunit.program.avaliacao"/></td> |
</tr> |
<tr> |
<td align="right"><bean:message key="courseunit.program.alunosOrdinariosPorFrequencia"/></td> |
<td><html:textarea property="courseUnitProgramView.courseUnitProgram.courseUnitProgramPart2.avaliacaoOrdinariosFrequencia" style="width:100%;height:200px" /></td> |
</tr> |
<tr> |
<td align="right"><bean:message key="courseunit.program.alunosOrdinariosPorExame"/></td> |
<td><html:textarea property="courseUnitProgramView.courseUnitProgram.courseUnitProgramPart2.avaliacaoOrdinariosExame" style="width:100%;height:200px" /></td> |
</tr> |
<tr> |
<td align="right"><bean:message key="courseunit.program.alunosMobilidadeAlunosComEstatutoEspecialPorFrequencia"/></td> |
<td><html:textarea property="courseUnitProgramView.courseUnitProgram.courseUnitProgramPart2.avaliacaoEspeciaisFrequencia" style="width:100%;height:200px" /></td> |
</tr> |
<tr> |
<td align="right"><bean:message key="courseunit.program.alunosMobilidadeAlunosComEstatutoEspecialPorExame"/></td> |
<td><html:textarea property="courseUnitProgramView.courseUnitProgram.courseUnitProgramPart2.avaliacaoEspeciaissExame" style="width:100%;height:200px" /></td> |
</tr> |
<tr> |
<td colspan="2"><bean:message key="courseunit.program.bibliografia"/></td> |
</tr> |
<tr> |
<td align="right"><bean:message key="courseunit.program.bibliografiaPrincipal"/></td> |
<td><html:textarea property="courseUnitProgramView.courseUnitProgram.bibliografia" style="width:100%;height:200px" /></td> |
</tr> |
<tr> |
<td align="right"><bean:message key="courseunit.program.bibliografiaComplementar"/></td> |
<td><html:textarea property="courseUnitProgramView.courseUnitProgram.bibliografiaComplementar" style="width:100%;height:200px" /></td> |
</tr> |
<% |
} |
else |
{ |
%> |
<tr> |
<th colspan="2">Dados alterados pelo Docente da Unidade</th> |
</tr> |
<tr> |
<td align="right"><bean:message key="courseunit.program.conteudosProgramaticos"/></td> |
<td width="80%"><html:textarea disabled="true" property="courseUnitProgramView.courseUnitProgram.courseUnitProgramPart2.conteudos" style="width:100%;height:200px" /></td> |
</tr> |
<tr> |
<td align="right"><bean:message key="courseunit.program.demonstracaoCoerenciaConteudosObjectivos"/></td> |
<td width="80%"><html:textarea disabled="true" property="courseUnitProgramView.courseUnitProgram.courseUnitProgramPart2.demonstracaoCoerenciaConteudos" style="width:100%;height:200px" /></td> |
</tr> |
<tr> |
<td align="right"><bean:message key="courseunit.program.metodologiasEnsino"/></td> |
<td width="80%"><html:textarea disabled="true" property="courseUnitProgramView.courseUnitProgram.courseUnitProgramPart2.metodologiasEnsino" style="width:100%;height:200px" /></td> |
</tr> |
<tr> |
<td align="right"><bean:message key="courseunit.program.demonstracaoDaCoerenciaMetodologiasObjectivos"/></td> |
<td width="80%"><html:textarea disabled="true" property="courseUnitProgramView.courseUnitProgram.courseUnitProgramPart2.demonstracaoObjectivosMetodologia" style="width:100%;height:200px" /></td> |
</tr> |
<tr> |
<td colspan="2"><bean:message key="courseunit.program.avaliacao"/></td> |
</tr> |
<tr> |
<td align="right"><bean:message key="courseunit.program.alunosOrdinariosPorFrequencia"/></td> |
<td><html:textarea disabled="true" property="courseUnitProgramView.courseUnitProgram.courseUnitProgramPart2.avaliacaoOrdinariosFrequencia" style="width:100%;height:200px" /></td> |
</tr> |
<tr> |
<td align="right"><bean:message key="courseunit.program.alunosOrdinariosPorExame"/></td> |
<td><html:textarea disabled="true" property="courseUnitProgramView.courseUnitProgram.courseUnitProgramPart2.avaliacaoOrdinariosExame" style="width:100%;height:200px" /></td> |
</tr> |
<tr> |
<td align="right"><bean:message key="courseunit.program.alunosMobilidadeAlunosComEstatutoEspecialPorFrequencia"/></td> |
<td><html:textarea disabled="true" property="courseUnitProgramView.courseUnitProgram.courseUnitProgramPart2.avaliacaoEspeciaisFrequencia" style="width:100%;height:200px" /></td> |
</tr> |
<tr> |
<td align="right"><bean:message key="courseunit.program.alunosMobilidadeAlunosComEstatutoEspecialPorExame"/></td> |
<td><html:textarea disabled="true" property="courseUnitProgramView.courseUnitProgram.courseUnitProgramPart2.avaliacaoEspeciaissExame" style="width:100%;height:200px" /></td> |
</tr> |
<baco:clearOperation name="CourseUnitView" property="courseUnit" op="PROGRAM_TEACHER_PART,PROGRAM_COORDINATOR_PART"> |
<button class="btn btn-success" type="button" onclick="set(form,'saveProgram');form.submit()"><bean:message key="save"/></button> |
</baco:clearOperation> |
<baco:clearOperation name="CourseUnitView" property="courseUnit" op="PROGRAM_CAN_VALIDATE"> |
<logic:equal name="CourseUnitView" property="validProgram" value="false"> |
<button class="btn btn-success" type="button" onclick="set(form,'validateProgram');form.submit()">Salvar e Validar</button> |
</logic:equal> |
</baco:clearOperation> |
<tr> |
<td colspan="2"><bean:message key="courseunit.program.bibliografia"/></td> |
</tr> |
<tr> |
<td align="right"><bean:message key="courseunit.program.bibliografiaPrincipal"/></td> |
<td><html:textarea disabled="true" property="courseUnitProgramView.courseUnitProgram.bibliografia" style="width:100%;height:200px" /></td> |
</tr> |
<tr> |
<td align="right"><bean:message key="courseunit.program.bibliografiaComplementar"/></td> |
<td><html:textarea disabled="true" property="courseUnitProgramView.courseUnitProgram.bibliografiaComplementar" style="width:100%;height:200px" /></td> |
</tr> |
<% |
} |
%> |
<baco:canManage name="CourseUnitView"> |
<%--DOCENTE--%> |
</baco:canManage> |
<tr><td colspan="2"><input type="button" value="<bean:message key="confirm"/>" onclick="set(form,'saveProgram');form.submit()"/></td></tr> |
</table> |
</html:form> |
</div> |
</div> |
</div> |
</div><!--Panel body--> |
</div><!--Panel--> |
/branches/v3/impl/src/web/user/courseunits/topnavEvaluation.jsp |
---|
9,7 → 9,7 |
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request); |
topNav.addNavPlace("/user/startHome.do", "intranet.separator.home.back"); |
topNav.addNavPlace(null, "course",CourseUnitView.getCourseName()); |
topNav.addNavPlace("/user/startLoadCourseUnitFromHome.do?courseUnitView.id=" + CourseUnitView.getId(), "courseunit",CourseUnitView.getName()); |
topNav.addNavPlace("/user/startLoadCourseUnitFromHome.do?courseUnitView.id=" + CourseUnitView.getId(),CourseUnitView.getName() + " " + CourseUnitView.getImportYear()); |
topNav.addNavPlace(null, "courseunit.evaluation"); |
%> |
<jsp:include page="/layout/topnav.jsp"/> |
/branches/v3/impl/src/web/user/courseunits/topnavCreateBlog.jsp |
---|
15,7 → 15,7 |
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request); |
topNav.addNavPlace("/user/startHome.do", "intranet.separator.home.back"); |
topNav.addNavPlace(null, "course",CourseUnitView.getCourseName()); |
topNav.addNavPlace("/user/startLoadCourseUnitFromHome.do?courseUnitView.id=" + CourseUnitView.getId(), "courseunit",CourseUnitView.getName()); |
topNav.addNavPlace("/user/startLoadCourseUnitFromHome.do?courseUnitView.id=" + CourseUnitView.getId(),CourseUnitView.getName() + " " + CourseUnitView.getImportYear()); |
topNav.addNavPlace(null, "submit.blog"); |
%> |
<jsp:include page="/layout/topnav.jsp"/> |
/branches/v3/impl/src/web/user/courseunits/topnavCreateAnnouncement.jsp |
---|
30,7 → 30,7 |
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request); |
topNav.addNavPlace("/user/startHome.do", "intranet.separator.home.back"); |
topNav.addNavPlace(null, "course",CourseUnitView.getCourseName()); |
topNav.addNavPlace("/user/startLoadCourseUnitFromHome.do?courseUnitView.id=" + CourseUnitView.getId(), "courseunit",CourseUnitView.getName()); |
topNav.addNavPlace("/user/startLoadCourseUnitFromHome.do?courseUnitView.id=" + CourseUnitView.getId(),CourseUnitView.getName() + " " + CourseUnitView.getImportYear()); |
topNav.addNavPlace(null, "submit.announcement"); |
%> |
<jsp:include page="/layout/topnav.jsp"/> |
/branches/v3/impl/src/web/user/courseunits/topnavLoadBlog.jsp |
---|
15,7 → 15,7 |
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request); |
topNav.addNavPlace("/user/startHome.do", "intranet.separator.home.back"); |
topNav.addNavPlace(null, "course",CourseUnitView.getCourseName()); |
topNav.addNavPlace("/user/startLoadCourseUnitFromHome.do?courseUnitView.id=" + CourseUnitView.getId(), "courseunit",CourseUnitView.getName()); |
topNav.addNavPlace("/user/startLoadCourseUnitFromHome.do?courseUnitView.id=" + CourseUnitView.getId(),CourseUnitView.getName() + " " + CourseUnitView.getImportYear()); |
topNav.addNavPlace(null, "blog"); |
%> |
<jsp:include page="/layout/topnav.jsp"/> |
/branches/v3/impl/src/web/user/courseunits/topnavCourseUnitProgram.jsp |
---|
5,9 → 5,9 |
<jsp:useBean id="CourseUnitView" type="pt.estgp.estgweb.domain.views.CourseUnitView" scope="request"/> |
<% |
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request); |
topNav.addNavPlace("/Welcome.do", "Home"); |
topNav.addNavPlace("/user/startHome.do", "Home"); |
topNav.addNavPlace(null, "course", CourseUnitView.getCourseName()); |
topNav.addNavPlace("/user/startLoadCourseUnitFromHome.do?courseUnitView.id=" + CourseUnitView.getId(), "courseunit",CourseUnitView.getName()); |
topNav.addNavPlace("/user/startLoadCourseUnitFromHome.do?courseUnitView.id=" + CourseUnitView.getId(),CourseUnitView.getName() + " " + CourseUnitView.getImportYear()); |
topNav.addNavPlace(null, "courseunit.program"); |
%> |
<jsp:include page="/layout/topnav.jsp"/> |
/branches/v3/impl/src/web/user/courseunits/topnavLoadBlogMonth.jsp |
---|
11,7 → 11,7 |
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request); |
topNav.addNavPlace("/user/startHome.do", "intranet.separator.home.back"); |
topNav.addNavPlace(null, "course",CourseUnitView.getCourseName()); |
topNav.addNavPlace("/user/startLoadCourseUnitFromHome.do?courseUnitView.id=" + CourseUnitView.getId(), "courseunit",CourseUnitView.getName()); |
topNav.addNavPlace("/user/startLoadCourseUnitFromHome.do?courseUnitView.id=" + CourseUnitView.getId(),CourseUnitView.getName() + " " + CourseUnitView.getImportYear()); |
topNav.addNavPlace("/user/startCourseUnitBlogFromHome.do?id="+BlogView.getId() + "&courseUnitView.id=" + CourseUnitView.getId(), "blog","(" + BlogView.getTitle() + ")"); |
topNav.addNavPlace(null, "month." + BlogView.getMonth() + ".year",""+ BlogView.getYear()); |
%> |
/branches/v3/impl/src/web/user/courseunits/topnavLoadAnnouncement.jsp |
---|
15,7 → 15,7 |
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request); |
topNav.addNavPlace("/user/startHome.do", "intranet.separator.home.back"); |
topNav.addNavPlace(null, "course",CourseUnitView.getCourseName()); |
topNav.addNavPlace("/user/startLoadCourseUnitFromHome.do?courseUnitView.id=" + CourseUnitView.getId(), "courseunit",CourseUnitView.getName()); |
topNav.addNavPlace("/user/startLoadCourseUnitFromHome.do?courseUnitView.id=" + CourseUnitView.getId(),CourseUnitView.getName() + " " + CourseUnitView.getImportYear()); |
topNav.addNavPlace(null, "announcement"); |
%> |
<jsp:include page="/layout/topnav.jsp"/> |
/branches/v3/impl/src/web/user/ftpclient/ftpclient.jsp |
---|
3,6 → 3,7 |
<%@ page import="pt.estgp.estgweb.web.filters.RequestURLFilter" %> |
<%@ page import="pt.estgp.estgweb.web.utils.DatesUtils" %> |
<%@ page import="java.util.List" %> |
<%@ page import="org.apache.commons.httpclient.util.URIUtil" %> |
<%@ page contentType="text/html;charset=UTF-8" language="java" %> |
<%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html" %> |
<%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %> |
136,236 → 137,239 |
else |
{ |
%> |
<div id="topnav"> |
<ul> |
<% |
<div id="topnav"> |
<ul> |
<% |
NavPlace upDir = null; |
NavPlace upDir = null; |
NavPlace rootPlace = new NavPlace("../","nav.place.root"); |
String root = "../"; |
if (navPlaces != null && navPlaces.size() > 1) //if there is only one will be null because is the actual place |
{ |
root += navPlaces.get(0).getUrl(request); |
} |
else |
{ |
root += "?" + NavPlace.getUrlQueryString(request); |
} |
if(navPlaces != null && navPlaces.size() > 0) |
{ |
upDir = rootPlace; |
%> |
<li class="navPlace"> |
<a href="<%=root%>"> |
<bean:message key="nav.place.root"/> |
</a> / |
</li> |
<% |
} |
else if(navPlaces == null) |
{ |
%> |
<% |
} |
else |
{ |
%> |
<li class="navPlace"> |
<bean:message key="nav.place.root"/> |
</li> |
<% |
} |
%> |
<% |
for (NavPlace navPlace : navPlaces) |
{ |
if (navPlace.getUrl(request) == null) |
NavPlace rootPlace = new NavPlace("../","nav.place.root"); |
String root = "../"; |
if (navPlaces != null && navPlaces.size() > 1) //if there is only one will be null because is the actual place |
{ |
root += navPlaces.get(0).getUrl(request); |
} |
else |
{ |
root += "?" + NavPlace.getUrlQueryString(request); |
} |
if(navPlaces != null && navPlaces.size() > 0) |
{ |
upDir = rootPlace; |
%> |
<li class="navPlace"> |
<a href="<%=root%>"> |
<bean:message key="nav.place.root"/> |
</a> / |
</li> |
<% |
} |
else if(navPlaces == null) |
{ |
%> |
<% |
} |
else |
{ |
%> |
<li class="navPlace"> |
<bean:message key="nav.place.root"/> |
</li> |
<% |
} |
%> |
<% |
for (NavPlace navPlace : navPlaces) |
{ |
if (navPlace.getUrl(request) == null) |
{ |
%> |
<li class="navPlace"> |
<%=navPlace.getKey()%> |
</li> |
<% |
} |
else |
{ |
%> |
<li class="navPlace"> |
<%=navPlace.getKey()%> |
</li> |
<% |
} |
else |
{ |
upDir = navPlace; |
%> |
<li class="navPlace"> |
<a href="<%=navPlace.getUrl(request)%>"><%=navPlace.getKey()%></a> / |
</li> |
<% |
} |
} |
upDir = navPlace; |
%> |
<li class="navPlace"> |
<a href="<%=navPlace.getUrl(request)%>"><%=navPlace.getKey()%></a> / |
</li> |
<% |
} |
} |
%> |
</ul> |
</div> |
%> |
</ul> |
</div> |
<div class="panel"> |
<div class="panel-body"> |
<div class="files"> |
<table cellpadding="0" cellspacing="0"> |
<div class="files"> |
<table cellpadding="0" cellspacing="0"> |
<% |
<% |
if(upDir != null) |
{ |
%> |
<tr><td colspan="3"> .. [ <a class="updir" href="<%=upDir.getUrl(request)%>"><bean:message key="file.up.dir"/></a> ]</td></tr> |
<% |
} |
%> |
<tr> |
<th> |
<bean:message key="file.name"/> |
</th> |
<th> |
<bean:message key="file.date"/> |
</th> |
<th> |
<bean:message key="file.size"/> |
</th> |
</tr> |
<% |
int counter = 0; |
if (iFiles.size() > 0) |
{ |
%> |
<% |
for (IFile i : iFiles) |
{ |
if (i.isDirectory()) |
{ |
request.setAttribute("i",i); |
%> |
<tr class="dir"> |
<td colspan="3"> |
if(upDir != null) |
{ |
%> |
<tr><td colspan="3"> .. [ <a class="updir" href="<%=upDir.getUrl(request)%>"><bean:message key="file.up.dir"/></a> ]</td></tr> |
<% |
} |
%> |
<tr> |
<th> |
<bean:message key="file.name"/> |
</th> |
<th> |
<bean:message key="file.date"/> |
</th> |
<th> |
<bean:message key="file.size"/> |
</th> |
</tr> |
<% |
int counter = 0; |
if (iFiles.size() > 0) |
{ |
%> |
<% |
for (IFile i : iFiles) |
{ |
if (i.isDirectory()) |
{ |
request.setAttribute("i",i); |
%> |
<tr class="dir"> |
<td colspan="3"> |
<a class="btn btn-xs btn-danger" id="FTP_NODE_<%=++counter%>" style="display:none" href="javascript:if(confirmLink('<bean:message key="ftp.comfirm.delete" arg0="${i.nameHtml}"/>')){document.FormFtpManager.deleteFolder.value='<%=i.getNameHtml()%>';document.FormFtpManager.submit();}"><span class="glyphicon glyphicon-remove"> </span></a> |
|
<span class="glyphicon glyphicon-folder-open"> </span> <a href="<%=i.getName(request)%>"><%=i.getNameEscapedHtml()%> |
</a> |
</td> |
</tr> |
<% |
} |
<a class="btn btn-xs btn-danger" id="FTP_NODE_<%=++counter%>" style="display:none" href="javascript:if(confirmLink('<bean:message key="ftp.comfirm.delete" arg0="${i.name}"/>')){document.FormFtpManager.deleteFolder.value='<%=i.getName()%>';document.FormFtpManager.submit();}"><span class="glyphicon glyphicon-remove"> </span></a> |
|
<span class="glyphicon glyphicon-folder-open"> </span> <a href="<%=i.getName(request)%>"><%=i.getName()%> |
</a> |
</td> |
</tr> |
<% |
} |
} |
} |
%> |
<% |
for (IFile i : iFiles) |
{ |
if (!i.isDirectory()) |
{ |
request.setAttribute("i",i); |
%> |
<tr class="file"> |
<td> |
<a id="FTP_NODE_<%=++counter%>" class="btn btn-xs btn-danger" style="display:none" href="javascript:if(confirmLink('<bean:message key="ftp.comfirm.delete" arg0="${i.name}"/>')){document.FormFtpManager.deleteFile.value='<%=i.getName()%>';document.FormFtpManager.submit();}"><span class="glyphicon glyphicon-remove"> </span></a> |
|
<% |
if (i.getName().toLowerCase().endsWith("doc") || i.getName().endsWith("rtf") || i.getName().endsWith("docx")) |
{ |
%> |
<img alt="<%=i.getCompleteUrl()%>" src="<%=request.getContextPath()%>/imgs/mime/doc.gif"> |
<% |
} |
else if (i.getName().toLowerCase().endsWith("pdf")) |
{ |
%> |
<img alt="<%=i.getCompleteUrl()%>" src="<%=request.getContextPath()%>/imgs/mime/pdf.gif"> |
<% |
} |
else if (i.getName().toLowerCase().endsWith("ppt")) |
{ |
%> |
<img alt="<%=i.getCompleteUrl()%>" src="<%=request.getContextPath()%>/imgs/mime/ppt.gif"> |
<% |
} |
else if (i.getName().toLowerCase().endsWith("zip") || i.getName().endsWith(".gz") || i.getName().endsWith("tgz")) |
{ |
%> |
<img alt="<%=i.getCompleteUrl()%>" src="<%=request.getContextPath()%>/imgs/mime/zip.gif"> |
<% |
} |
else if (i.getName().toLowerCase().endsWith("rar")) |
{ |
%> |
<img alt="<%=i.getCompleteUrl()%>" src="<%=request.getContextPath()%>/imgs/mime/rar.gif"> |
<% |
} |
else if (i.getName().toLowerCase().endsWith("html") || i.getName().endsWith("htm")) |
{ |
%> |
<img alt="<%=i.getCompleteUrl()%>" src="<%=request.getContextPath()%>/imgs/mime/html.gif"> |
<% |
} |
else if (i.getName().toLowerCase().endsWith("xls") || i.getName().endsWith("xlsx")) |
{ |
%> |
<img alt="<%=i.getCompleteUrl()%>" src="<%=request.getContextPath()%>/imgs/mime/xls.gif"> |
<% |
} |
else if (i.getName().toLowerCase().endsWith("txt")) |
{ |
%> |
<img alt="<%=i.getCompleteUrl()%>" src="<%=request.getContextPath()%>/imgs/mime/txt.gif"> |
<% |
} |
else if (i.getName().toLowerCase().endsWith("xml")) |
{ |
%> |
<img alt="<%=i.getCompleteUrl()%>" src="<%=request.getContextPath()%>/imgs/mime/xml.gif"> |
<% |
} |
else |
{ |
%> |
<img alt="<%=i.getCompleteUrl()%>" src="<%=request.getContextPath()%>/imgs/mime/unknown.gif"> |
<% |
} |
%> |
<!--<a target="_blank" href="<%=i.getCompleteUrl()%>"><%=i.getName()%></a>--> |
<a target="_blank" href="<%=request.getContextPath()%>/ftpProxyStream/ionline<%=i.getServerRelativePathFile()%>"><%=i.getName()%></a> |
</td> |
<td> |
<%=DatesUtils.getStringFromDate(i.getLastUpdate())%> |
</td> |
<td> |
<%=i.getSize()%> kb |
</td> |
</tr> |
<% |
} |
} |
} |
%> |
</table> |
<% |
for (IFile i : iFiles) |
{ |
if (!i.isDirectory()) |
{ |
request.setAttribute("i",i); |
%> |
<tr class="file"> |
<td> |
<a id="FTP_NODE_<%=++counter%>" class="btn btn-xs btn-danger" style="display:none" href="javascript:if(confirmLink('<bean:message key="ftp.comfirm.delete" arg0="${i.name}"/>')){document.FormFtpManager.deleteFile.value='<%=i.getName()%>';document.FormFtpManager.submit();}"><span class="glyphicon glyphicon-remove"> </span></a> |
|
<% |
if (i.getName().toLowerCase().endsWith("doc") || i.getName().endsWith("rtf") || i.getName().endsWith("docx")) |
if(iFiles.size() == 0) |
{ |
%> |
<img alt="<%=i.getCompleteUrl()%>" src="<%=request.getContextPath()%>/imgs/mime/doc.gif"> |
<% |
} |
else if (i.getName().toLowerCase().endsWith("pdf")) |
{ |
%> |
<img alt="<%=i.getCompleteUrl()%>" src="<%=request.getContextPath()%>/imgs/mime/pdf.gif"> |
<% |
} |
else if (i.getName().toLowerCase().endsWith("ppt")) |
{ |
%> |
<img alt="<%=i.getCompleteUrl()%>" src="<%=request.getContextPath()%>/imgs/mime/ppt.gif"> |
<% |
} |
else if (i.getName().toLowerCase().endsWith("zip") || i.getName().endsWith(".gz") || i.getName().endsWith("tgz")) |
{ |
%> |
<img alt="<%=i.getCompleteUrl()%>" src="<%=request.getContextPath()%>/imgs/mime/zip.gif"> |
<% |
} |
else if (i.getName().toLowerCase().endsWith("rar")) |
{ |
%> |
<img alt="<%=i.getCompleteUrl()%>" src="<%=request.getContextPath()%>/imgs/mime/rar.gif"> |
<% |
} |
else if (i.getName().toLowerCase().endsWith("html") || i.getName().endsWith("htm")) |
{ |
%> |
<img alt="<%=i.getCompleteUrl()%>" src="<%=request.getContextPath()%>/imgs/mime/html.gif"> |
<% |
} |
else if (i.getName().toLowerCase().endsWith("xls") || i.getName().endsWith("xlsx")) |
{ |
%> |
<img alt="<%=i.getCompleteUrl()%>" src="<%=request.getContextPath()%>/imgs/mime/xls.gif"> |
<% |
} |
else if (i.getName().toLowerCase().endsWith("txt")) |
{ |
%> |
<img alt="<%=i.getCompleteUrl()%>" src="<%=request.getContextPath()%>/imgs/mime/txt.gif"> |
<% |
} |
else if (i.getName().toLowerCase().endsWith("xml")) |
{ |
%> |
<img alt="<%=i.getCompleteUrl()%>" src="<%=request.getContextPath()%>/imgs/mime/xml.gif"> |
<% |
} |
else |
{ |
%> |
<img alt="<%=i.getCompleteUrl()%>" src="<%=request.getContextPath()%>/imgs/mime/unknown.gif"> |
<% |
} |
%> |
<!--<a target="_blank" href="<%=i.getCompleteUrl()%>"><%=i.getName()%></a>--> |
<a target="_blank" href="<%=request.getContextPath()%>/ftpProxyStream/ionline<%=i.getServerRelativePathFile()%>"><%=i.getName()%></a> |
%> |
<ul class="statusWARNING"> |
<li> |
<bean:message key="zero.files"/> |
</li> |
</ul> |
</td> |
<td> |
<%=DatesUtils.getStringFromDate(i.getLastUpdate())%> |
</td> |
<td> |
<%=i.getSize()%> kb |
</td> |
</tr> |
<% |
} |
} |
} |
%> |
</table> |
</div> |
</div> |
</div> |
</div> |
<% |
} |
else |
{ |
%> |
<ul class="statusWARNING"> |
<li> |
<bean:message key="zero.files"/> |
</li> |
</ul> |
<% |
<% |
} |
} |
%> |
</div> |
</div> |
</div> |
/branches/v3/impl/src/web/user/home/topnavCourseUnitTeacher.jsp |
---|
7,7 → 7,7 |
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request); |
topNav.addNavPlace("/user/startHome.do", "intranet.separator.home.back"); |
topNav.addNavPlace(null, "course",CourseUnitView.getCourseName()); |
topNav.addNavPlace("/user/startLoadCourseUnitFromHome.do?courseUnitView.id=" + CourseUnitView.getId(), "courseunit",CourseUnitView.getName()); |
topNav.addNavPlace("/user/startLoadCourseUnitFromHome.do?courseUnitView.id=" + CourseUnitView.getId(),CourseUnitView.getName() + " " + CourseUnitView.getImportYear()); |
topNav.addNavPlace(null, "courseunit.teachers"); |
%> |
<jsp:include page="/layout/topnav.jsp"/> |
/branches/v3/impl/src/web/user/home/topnavCourseUnitAssignement.jsp |
---|
8,7 → 8,7 |
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request); |
topNav.addNavPlace("/user/startHome.do", "intranet.separator.home.back"); |
topNav.addNavPlace(null, "course",CourseUnitView.getCourseName()); |
topNav.addNavPlace("/user/startLoadCourseUnitFromHome.do?courseUnitView.id=" + CourseUnitView.getId(), "courseunit",CourseUnitView.getName()); |
topNav.addNavPlace("/user/startLoadCourseUnitFromHome.do?courseUnitView.id=" + CourseUnitView.getId(),CourseUnitView.getName() + " " + CourseUnitView.getImportYear()); |
topNav.addNavPlace("/user/startLoadCourseUnitWorksFromHome.do?courseUnitView.id=" + CourseUnitView.getId(), "course.unit.works"); |
topNav.addNavPlace(null, "courseunit.assignement", CourseUnitAssignementView.getTitle()); |
%> |
/branches/v3/impl/src/web/user/home/topnavCourseUnit.jsp |
---|
7,6 → 7,6 |
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request); |
topNav.addNavPlace("/user/startHome.do", "intranet.separator.home.back"); |
topNav.addNavPlace(null, "course",CourseUnitView.getCourseName()); |
topNav.addNavPlace(null, "courseunit",CourseUnitView.getName()); |
topNav.addNavPlace(null, CourseUnitView.getName() + " " + CourseUnitView.getImportYear()); |
%> |
<jsp:include page="/layout/topnav.jsp"/> |
/branches/v3/impl/src/web/user/home/topnavCourseUnitStudent.jsp |
---|
7,7 → 7,7 |
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request); |
topNav.addNavPlace("/user/startHome.do", "intranet.separator.home.back"); |
topNav.addNavPlace(null, "course",CourseUnitView.getCourseName()); |
topNav.addNavPlace("/user/startLoadCourseUnitFromHome.do?courseUnitView.id=" + CourseUnitView.getId(), "courseunit",CourseUnitView.getName()); |
topNav.addNavPlace("/user/startLoadCourseUnitFromHome.do?courseUnitView.id=" + CourseUnitView.getId(),CourseUnitView.getName() + " " + CourseUnitView.getImportYear()); |
topNav.addNavPlace("/user/startLoadCourseUnitStudentsFromHome.do?courseUnitView.id=" + CourseUnitView.getId() ,"courseunit.students"); |
topNav.addNavPlace(null, "student"); |
%> |
/branches/v3/impl/src/web/user/home/topnavCourseUnitDtp.jsp |
---|
7,7 → 7,7 |
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request); |
topNav.addNavPlace("/user/startHome.do", "intranet.separator.home.back"); |
topNav.addNavPlace(null, "course",CourseUnitView.getCourseName()); |
topNav.addNavPlace("/user/startLoadCourseUnitFromHome.do?courseUnitView.id=" + CourseUnitView.getId(), "courseunit",CourseUnitView.getName()); |
topNav.addNavPlace("/user/startLoadCourseUnitFromHome.do?courseUnitView.id=" + CourseUnitView.getId(),CourseUnitView.getName() + " " + CourseUnitView.getImportYear()); |
topNav.addNavPlace(null, "courseunit.menu.dtp"); |
%> |
<jsp:include page="/layout/topnav.jsp"/> |
/branches/v3/impl/src/web/user/home/topnavCourseUnitPresences.jsp |
---|
7,7 → 7,7 |
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request); |
topNav.addNavPlace("/user/startHome.do", "intranet.separator.home.back"); |
topNav.addNavPlace(null, "course",CourseUnitView.getCourseName()); |
topNav.addNavPlace("/user/startLoadCourseUnitFromHome.do?courseUnitView.id=" + CourseUnitView.getId(), "courseunit",CourseUnitView.getName()); |
topNav.addNavPlace("/user/startLoadCourseUnitFromHome.do?courseUnitView.id=" + CourseUnitView.getId(),CourseUnitView.getName() + " " + CourseUnitView.getImportYear()); |
topNav.addNavPlace(null, "courseunit.menu.presences"); |
%> |
<jsp:include page="/layout/topnav.jsp"/> |
/branches/v3/impl/src/web/user/home/topnavCourseUnitContents.jsp |
---|
7,7 → 7,7 |
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request); |
topNav.addNavPlace("/user/startHome.do", "intranet.separator.home.back"); |
topNav.addNavPlace(null, "course",CourseUnitView.getCourseName()); |
topNav.addNavPlace("/user/startLoadCourseUnitFromHome.do?courseUnitView.id=" + CourseUnitView.getId(), "courseunit",CourseUnitView.getName()); |
topNav.addNavPlace("/user/startLoadCourseUnitFromHome.do?courseUnitView.id=" + CourseUnitView.getId(),CourseUnitView.getName() + " " + CourseUnitView.getImportYear()); |
topNav.addNavPlace(null, "courseunit.menu.contents"); |
%> |
<jsp:include page="/layout/topnav.jsp"/> |
/branches/v3/impl/src/web/user/home/topnavCourseUnitGrades.jsp |
---|
7,7 → 7,7 |
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request); |
topNav.addNavPlace("/user/startHome.do", "intranet.separator.home.back"); |
topNav.addNavPlace(null, "course",CourseUnitView.getCourseName()); |
topNav.addNavPlace("/user/startLoadCourseUnitFromHome.do?courseUnitView.id=" + CourseUnitView.getId(), "courseunit",CourseUnitView.getName()); |
topNav.addNavPlace("/user/startLoadCourseUnitFromHome.do?courseUnitView.id=" + CourseUnitView.getId(),CourseUnitView.getName() + " " + CourseUnitView.getImportYear()); |
topNav.addNavPlace(null, "courseunit.menu.grades"); |
%> |
<jsp:include page="/layout/topnav.jsp"/> |
/branches/v3/impl/src/web/user/home/topnavCourseUnitWorks.jsp |
---|
7,7 → 7,7 |
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request); |
topNav.addNavPlace("/user/startHome.do", "intranet.separator.home.back"); |
topNav.addNavPlace(null, "course",CourseUnitView.getCourseName()); |
topNav.addNavPlace("/user/startLoadCourseUnitFromHome.do?courseUnitView.id=" + CourseUnitView.getId(), "courseunit",CourseUnitView.getName()); |
topNav.addNavPlace("/user/startLoadCourseUnitFromHome.do?courseUnitView.id=" + CourseUnitView.getId(),CourseUnitView.getName() + " " + CourseUnitView.getImportYear()); |
topNav.addNavPlace(null, "course.unit.works"); |
%> |
<jsp:include page="/layout/topnav.jsp"/> |
/branches/v3/impl/src/web/user/home/topnavCourseUnitStudents.jsp |
---|
7,7 → 7,7 |
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request); |
topNav.addNavPlace("/user/startHome.do", "intranet.separator.home.back"); |
topNav.addNavPlace(null, "course",CourseUnitView.getCourseName()); |
topNav.addNavPlace("/user/startLoadCourseUnitFromHome.do?courseUnitView.id=" + CourseUnitView.getId(), "courseunit",CourseUnitView.getName()); |
topNav.addNavPlace("/user/startLoadCourseUnitFromHome.do?courseUnitView.id=" + CourseUnitView.getId(),CourseUnitView.getName() + " " + CourseUnitView.getImportYear()); |
topNav.addNavPlace(null, "courseunit.students"); |
%> |
<jsp:include page="/layout/topnav.jsp"/> |
/branches/v3/impl/src/web/user/serviceZone/serviceZone.jsp |
---|
65,139 → 65,141 |
%> |
<jomm:messages/> |
<html:errors/> |
<div id="serviceZone"> |
<table class="columnTable" width="100%"> |
<tbody> |
<tr> |
<td class="column"> |
<div class="block"> |
<div class="head"> |
<bean:message key="intranet.services"/> |
</div> |
<div class="panel panel-default"> |
<div class="panel-heading"><bean:message key="intranet.services"/></div> |
<div class="panel-body"> |
<div class="col-sm-6"> |
<baco:hasRole role="admin,services,all"> |
<ul> |
<li><bean:message key="configuration"/> |
<baco:hasRole role="admin,services,all"> |
<ul> |
<li><bean:message key="configuration"/> |
<ul> |
<li><a href="<%=request.getContextPath()%>/user/configurationGrades.do"><bean:message key="configuration.grades"/></a></li> |
<li><a href="<%=request.getContextPath()%>/user/configurationDirectories.do"><bean:message key="configuration.directories"/></a></li> |
<li><a href="<%=request.getContextPath()%>/user/configurationSchedulleTasks.do"><bean:message key="configuration.tasks"/></a></li> |
<li><html:link action="/admin/courseUnitsDeleteAdmin">Administração de Unidades Curriculares (Remoções)</html:link></li> |
<li><a href="<%=request.getContextPath()%>/user/configurationUserRoles.do"><bean:message key="configuration.roles"/></a></li> |
</ul> |
</li> |
</ul> |
</baco:hasRole> |
<baco:isModuleOn module="processes"> |
<ul> |
<li><a href="<%=request.getContextPath()%>/admin/configurations.do">Configurações Gerais do Sistema</a></li> |
<li><a href="<%=request.getContextPath()%>/user/configurationGrades.do"><bean:message key="configuration.grades"/></a></li> |
<li><a href="<%=request.getContextPath()%>/user/configurationDirectories.do"><bean:message key="configuration.directories"/></a></li> |
<li><a href="<%=request.getContextPath()%>/user/configurationSchedulleTasks.do"><bean:message key="configuration.tasks"/></a></li> |
<li><html:link action="/admin/courseUnitsDeleteAdmin">Administração de Unidades Curriculares (Remoções)</html:link></li> |
<li><a href="<%=request.getContextPath()%>/user/configurationUserRoles.do"><bean:message key="configuration.roles"/></a></li> |
</ul> |
</li> |
</ul> |
</baco:hasRole> |
<baco:isModuleOn module="processes"> |
<ul> |
<li><bean:message key="processes"/> |
<ul> |
<li><bean:message key="processes"/> |
<ul> |
<li><a href="<%=request.getContextPath()%>/user/listProcesses.do?target=participation"><bean:message key="processes.list"/></a></li> |
<baco:hasRole role="all,processes.admin"> |
<li><a href="<%=request.getContextPath()%>/user/startNewMetaProcess.do"><bean:message key="processes.new.meta.process"/></a></li> |
</baco:hasRole> |
<li><a href="<%=request.getContextPath()%>/user/listMetaProcesses.do"><bean:message key="processes.new.process"/></a></li> |
</ul> |
</li> |
</ul> |
</baco:isModuleOn> |
<ul> |
<li><a href="<%=request.getContextPath()%>/user/listProcesses.do?target=participation"><bean:message key="processes.list"/></a></li> |
<baco:hasRole role="all,processes.admin"> |
<li><a href="<%=request.getContextPath()%>/user/startNewMetaProcess.do"><bean:message key="processes.new.meta.process"/></a></li> |
</baco:hasRole> |
<li><a href="<%=request.getContextPath()%>/user/listMetaProcesses.do"><bean:message key="processes.new.process"/></a></li> |
</ul> |
</li> |
</ul> |
</baco:isModuleOn> |
<!-- Filipe Matos --> |
<baco:isModuleOn module="assessments"> |
<baco:hasRole role="teacher"> |
<baco:hasRole role="assessementsTester"> |
<ul> |
<!-- Filipe Matos --> |
<baco:isModuleOn module="assessments"> |
<baco:hasRole role="teacher"> |
<baco:hasRole role="assessementsTester"> |
<ul> |
<li> |
<bean:message key="assessments"/> |
<ul> |
<li> |
<html:link action="/user/startSubmitAssessmentFromServiceZone"> |
<bean:message key="assessment.create.assessment"/> |
</html:link> |
</li> |
<li> |
<html:link action="/user/startListAssessmentsFromServiceZone"> |
<bean:message key="assessment.list.assessments"/> |
</html:link> |
</li> |
</ul> |
</li> |
</ul> |
</baco:hasRole> |
</baco:hasRole> |
<baco:hasRole role="student"> |
<li> |
<bean:message key="assessments"/> |
<ul> |
<li> |
<html:link action="/user/startListAssessmentsFromServiceZone"> |
<bean:message key="assessment.list.assessments"/> |
</html:link> |
</li> |
</ul> |
</li> |
</baco:hasRole> |
</baco:isModuleOn> |
<!----> |
<ul> |
<baco:isModuleOn module="announcements"> |
<li> |
<bean:message key="assessments"/> |
<ul> |
<li> |
<html:link action="/user/startSubmitAssessmentFromServiceZone"> |
<bean:message key="assessment.create.assessment"/> |
</html:link> |
</li> |
<li> |
<html:link action="/user/startListAssessmentsFromServiceZone"> |
<bean:message key="assessment.list.assessments"/> |
</html:link> |
</li> |
</ul> |
</li> |
</ul> |
</baco:hasRole> |
</baco:hasRole> |
<baco:hasRole role="student"> |
<li> |
<bean:message key="assessments"/> |
<ul> |
<li> |
<html:link action="/user/startListAssessmentsFromServiceZone"> |
<bean:message key="assessment.list.assessments"/> |
</html:link> |
</li> |
</ul> |
</li> |
</baco:hasRole> |
</baco:isModuleOn> |
<!----> |
<baco:isModuleOn module="announcements"> |
<li> |
<html:link action="/user/startSubmitAnnouncementFromServiceZone"> |
<bean:message key="submit.announcement"/> |
</html:link> |
</li> |
</baco:isModuleOn> |
<baco:isModuleOn module="blogs"> |
<li> |
<html:link action="/user/startSubmitBlogFromServiceZone"> |
<bean:message key="submit.blog"/> |
</html:link> |
</li> |
</baco:isModuleOn> |
<baco:isModuleOn module="todos"> |
<baco:hasRole role="admin,all,services,administrativeCouncil,courseCoordinator,courseDirector,scientificCouncil,pedagogicCouncil"> |
<li> |
<html:link action="/user/startSubmitTodoAnnouncementFromServiceZone"> |
<bean:message key="submit.todo.announcement"/> |
<html:link action="/user/startSubmitAnnouncementFromServiceZone"> |
<bean:message key="submit.announcement"/> |
</html:link> |
</li> |
</baco:hasRole> |
<baco:hasRole role="admin,all,services,sendMailMessages"> |
</baco:isModuleOn> |
<baco:isModuleOn module="blogs"> |
<li> |
<html:link action="/user/startSubmitMessage"> |
<bean:message key="submit.todo.message"/> |
<html:link action="/user/startSubmitBlogFromServiceZone"> |
<bean:message key="submit.blog"/> |
</html:link> |
</li> |
</baco:hasRole> |
</baco:isModuleOn> |
<!-- Duarte Santos --> |
<baco:isModuleOn module="surveys"> |
<baco:isAdmin> |
<li> |
<bean:message key="surveys"/> |
<ul> |
<li> |
<html:link action="/user/startSubmitSurveyFromServiceZone"> |
<bean:message key="survey.create.survey"/> |
</baco:isModuleOn> |
<baco:isModuleOn module="todos"> |
<baco:hasRole role="admin,all,services,administrativeCouncil,courseCoordinator,courseDirector,scientificCouncil,pedagogicCouncil"> |
<li> |
<html:link action="/user/startSubmitTodoAnnouncementFromServiceZone"> |
<bean:message key="submit.todo.announcement"/> |
</html:link> |
</li> |
<li> |
<html:link action="/user/startListSurveysFromServiceZone"> |
<bean:message key="survey.list.surveys"/> |
</li> |
</baco:hasRole> |
<baco:hasRole role="admin,all,services,sendMailMessages"> |
<li> |
<html:link action="/user/startSubmitMessage"> |
<bean:message key="submit.todo.message"/> |
</html:link> |
</li> |
</ul> |
</li> |
</baco:isAdmin> |
</baco:isModuleOn> |
<!----> |
</li> |
</baco:hasRole> |
</baco:isModuleOn> |
<!-- Duarte Santos --> |
<baco:isModuleOn module="surveys"> |
<baco:isAdmin> |
<li> |
<bean:message key="surveys"/> |
<ul> |
<li> |
<html:link action="/user/startSubmitSurveyFromServiceZone"> |
<bean:message key="survey.create.survey"/> |
</html:link> |
</li> |
<li> |
<html:link action="/user/startListSurveysFromServiceZone"> |
<bean:message key="survey.list.surveys"/> |
</html:link> |
</li> |
</ul> |
</li> |
</baco:isAdmin> |
</baco:isModuleOn> |
<!----> |
<baco:isAdmin> |
<li> |
<bean:message key="users"/> |
235,32 → 237,32 |
<bean:message key="courses"/> |
<ul> |
<baco:isAdmin> |
<li> |
<html:link action="/user/startNewCourseFromServiceZone"> |
<bean:message key="course.new"/> |
</html:link> |
</li> |
<li> |
<html:link action="/user/startSelectCourseFromServiceZone"> |
<bean:message key="course.select"/> |
</html:link> |
</li> |
<li> |
<html:link action="/user/startNewCourseUnitAdminFromServiceZone"> |
<bean:message key="courseunit.new"/> |
</html:link> |
</li> |
<li> |
<html:link action="/user/startFindCourseUnitAdminFromServiceZone"> |
<bean:message key="courseunit.search"/> |
</html:link> |
</li> |
<li> |
<html:link action="/user/startNewCourseFromServiceZone"> |
<bean:message key="course.new"/> |
</html:link> |
</li> |
<li> |
<html:link action="/user/startSelectCourseFromServiceZone"> |
<bean:message key="course.select"/> |
</html:link> |
</li> |
<li> |
<html:link action="/user/startNewCourseUnitAdminFromServiceZone"> |
<bean:message key="courseunit.new"/> |
</html:link> |
</li> |
<li> |
<html:link action="/user/startFindCourseUnitAdminFromServiceZone"> |
<bean:message key="courseunit.search"/> |
</html:link> |
</li> |
</baco:isAdmin> |
<%--<li>--%> |
<%--<li>--%> |
<%--<html:link action="/user/startFindCourseUnitAdminFromServiceZone">--%> |
<%--<bean:message key="courseunit.program.archive"/>--%> |
<%--<bean:message key="courseunit.program.archive"/>--%> |
<%--</html:link>--%> |
<%--</li>--%> |
<%--</li>--%> |
<li> |
<baco:hasRole role="admin,all,servicesPrograms,administrativeCouncil,scientificCouncil,pedagogicCouncil"> |
<html:link action="/user/startLoadCoursesProgramsFromServiceZone"> |
277,7 → 279,7 |
</li> |
</ul> |
</li> |
</baco:hasRole> |
</baco:hasRole> |
<li> |
<bean:message key="backups"/> |
<ul> |
347,283 → 349,280 |
</li> |
</baco:isModuleOn> |
</baco:isAdmin> |
<baco:hasRole role="identifiersManager,identifiersCollectionCreator"> |
<baco:isModuleOn module="manageidentifiers"> |
<li> |
<bean:message key="module.ManagedIdentifier"/> |
<ul> |
<li> |
<html:link action="/user/startLoadManagedIdentifierCollectionsFromServiceZone"> |
<bean:message key="managedidentifier.manage"/> |
</html:link> |
</li> |
</ul> |
</li> |
</baco:isModuleOn> |
</baco:hasRole> |
</ul> |
</div> |
</td> |
<td class="column"> |
<baco:isModuleOn module="announcements"> |
<div class="block"> |
<div class="head"> |
<bean:message key="intranet.my.announcements"/> |
<a href="#"><img border="0" onclick="this.src=showOrHide('myAnnouncements','<%=request.getContextPath()%>/imgs/closedbox.gif','<%=request.getContextPath()%>/imgs/openedbox.gif')" src="<%=request.getContextPath()%>/imgs/closedbox.gif" alt="abrir"/></a> |
<baco:hasRole role="identifiersManager,identifiersCollectionCreator"> |
<baco:isModuleOn module="manageidentifiers"> |
<li> |
<bean:message key="module.ManagedIdentifier"/> |
<ul> |
<li> |
<html:link action="/user/startLoadManagedIdentifierCollectionsFromServiceZone"> |
<bean:message key="managedidentifier.manage"/> |
</html:link> |
</li> |
</ul> |
</li> |
</baco:isModuleOn> |
</baco:hasRole> |
</ul> |
</div> |
<div class="col-sm-6"> |
<div id="myAnnouncements" style="display:none;"> |
<% |
if (ownerAnnouncement.size() == 0) |
{ |
%> |
<baco:isModuleOn module="announcements"> |
<div class="block"> |
<div class="zerofound"> |
<bean:message key="announcement.zero.placed"/> |
</div> |
<div class="head"> |
<bean:message key="intranet.my.announcements"/> |
<a href="#"><img border="0" onclick="this.src=showOrHide('myAnnouncements','<%=request.getContextPath()%>/imgs/closedbox.gif','<%=request.getContextPath()%>/imgs/openedbox.gif')" src="<%=request.getContextPath()%>/imgs/closedbox.gif" alt="abrir"/></a> |
</div> |
<% |
} |
else |
{ |
%> |
<table> |
<% |
for (AnnouncementView a : ownerAnnouncement) |
{ |
%> |
<tr> |
<td> |
<a href="<%=request.getContextPath()%>/user/startLoadAnnouncementFromServiceZone.do?id=<%=a.getId()%>"><%=a.getTitle()%></a> |
<div id="myAnnouncements" style="display:none;"> |
<% |
if (a.getCourseUnitView() != null) |
if (ownerAnnouncement.size() == 0) |
{ |
%> |
(<%=a.getCourseUnitView().getName()%>) |
<div class="zerofound"> |
<bean:message key="announcement.zero.placed"/> |
</div> |
<% |
} |
} |
else |
{ |
%> |
</td> |
<td> |
<% |
<table> |
<% |
for (AnnouncementView a : ownerAnnouncement) |
{ |
%> |
<tr> |
<td> |
<a href="<%=request.getContextPath()%>/user/startLoadAnnouncementFromServiceZone.do?id=<%=a.getId()%>"><%=a.getTitle()%></a> |
<% |
if (a.getCourseUnitView() != null) |
{ |
%> |
(<%=a.getCourseUnitView().getName()%>) |
<% |
} |
%> |
</td> |
<td> |
<% |
String message; |
if(a.isStatus()) |
message = MessageResources.getMessage(request,"announcement.status.valid"); |
else |
message = MessageResources.getMessage(request,"announcement.status.not.valid"); |
%> |
<%=message%> |
<td><%=a.getFormatedUpdateDate()%> |
</td> |
</tr> |
<% |
} |
%> |
</table> |
<%=message%> |
<td><%=a.getFormatedUpdateDate()%> |
</td> |
</tr> |
<% |
} |
%> |
</table> |
<% |
} |
%> |
</div> |
</div> |
</baco:isModuleOn> |
<baco:isModuleOn module="blogs"> |
<div class="block"> |
<div class="head"> |
<bean:message key="intranet.my.blog.posts"/> |
<a href="#"><img border="0" onclick="this.src=showOrHide('myPosts','<%=request.getContextPath()%>/imgs/closedbox.gif','<%=request.getContextPath()%>/imgs/openedbox.gif')" src="<%=request.getContextPath()%>/imgs/closedbox.gif" alt="abrir"/></a> |
</div> |
<div id="myPosts" style="display:none;"> |
<% |
if (ownerBlogs.size() == 0) |
{ |
%> |
<div class="zerofound"> |
<bean:message key="blog.posts.zero.placed"/> |
</div> |
<% |
} |
else |
{ |
%> |
<table> |
<% |
for (BlogPostView b : ownerBlogPosts) |
{ |
%> |
<tr> |
<td> |
<a href="<%=request.getContextPath()%>/user/startLoadBlogFromServiceZone.do?id=<%=b.getBlogId()%>"><%=b.getTitle()%> |
</a></td> |
<td> |
<% |
String message; |
if (b.isStatus()) |
message = MessageResources.getMessage(request, "blog.status.valid"); |
else |
message = MessageResources.getMessage(request, "blog.status.not.valid"); |
} |
%> |
</div> |
</div> |
</baco:isModuleOn> |
<baco:isModuleOn module="blogs"> |
<div class="block"> |
<div class="head"> |
<bean:message key="intranet.my.blog.posts"/> |
<a href="#"><img border="0" onclick="this.src=showOrHide('myPosts','<%=request.getContextPath()%>/imgs/closedbox.gif','<%=request.getContextPath()%>/imgs/openedbox.gif')" src="<%=request.getContextPath()%>/imgs/closedbox.gif" alt="abrir"/></a> |
</div> |
<div id="myPosts" style="display:none;"> |
<% |
if (ownerBlogs.size() == 0) |
{ |
%> |
<div class="zerofound"> |
<bean:message key="blog.posts.zero.placed"/> |
</div> |
<% |
} |
else |
{ |
%> |
<table> |
<% |
for (BlogPostView b : ownerBlogPosts) |
{ |
%> |
<tr> |
<td> |
<a href="<%=request.getContextPath()%>/user/startLoadBlogFromServiceZone.do?id=<%=b.getBlogId()%>"><%=b.getTitle()%> |
</a></td> |
<td> |
<% |
String message; |
if (b.isStatus()) |
message = MessageResources.getMessage(request, "blog.status.valid"); |
else |
message = MessageResources.getMessage(request, "blog.status.not.valid"); |
%> |
<%=message%> |
</td> |
</tr> |
<% |
} |
%> |
</table> |
<% |
} |
%> |
<%=message%> |
</td> |
</tr> |
<% |
} |
%> |
</table> |
<% |
} |
%> |
</div> |
</div> |
</div> |
</div> |
<div class="block"> |
<div class="head"> |
<bean:message key="intranet.my.blogs"/> |
<a href="#"><img border="0" onclick="this.src=showOrHide('myBlogs','<%=request.getContextPath()%>/imgs/closedbox.gif','<%=request.getContextPath()%>/imgs/openedbox.gif')" src="<%=request.getContextPath()%>/imgs/closedbox.gif" alt="abrir"/></a> |
</div> |
<div id="myBlogs" style="display:none;"> |
<% |
if (ownerBlogs.size() == 0) |
{ |
%> |
<div class="zerofound"> |
<bean:message key="blog.zero.placed"/> |
</div> |
<% |
} |
else |
{ |
%> |
<table> |
<% |
for (BlogView b : ownerBlogs) |
{ |
%> |
<tr> |
<td> |
<a href="<%=request.getContextPath()%>/user/startLoadBlogFromServiceZone.do?id=<%=b.getId()%>"><%=b.getTitle()%> |
</a></td> |
<td> |
<div class="block"> |
<div class="head"> |
<bean:message key="intranet.my.blogs"/> |
<a href="#"><img border="0" onclick="this.src=showOrHide('myBlogs','<%=request.getContextPath()%>/imgs/closedbox.gif','<%=request.getContextPath()%>/imgs/openedbox.gif')" src="<%=request.getContextPath()%>/imgs/closedbox.gif" alt="abrir"/></a> |
</div> |
<div id="myBlogs" style="display:none;"> |
<% |
String message; |
if (b.isStatus()) |
message = MessageResources.getMessage(request, "blog.status.valid"); |
else |
message = MessageResources.getMessage(request, "blog.status.not.valid"); |
if (ownerBlogs.size() == 0) |
{ |
%> |
<div class="zerofound"> |
<bean:message key="blog.zero.placed"/> |
</div> |
<% |
} |
else |
{ |
%> |
<table> |
<% |
for (BlogView b : ownerBlogs) |
{ |
%> |
<tr> |
<td> |
<a href="<%=request.getContextPath()%>/user/startLoadBlogFromServiceZone.do?id=<%=b.getId()%>"><%=b.getTitle()%> |
</a></td> |
<td> |
<% |
String message; |
if (b.isStatus()) |
message = MessageResources.getMessage(request, "blog.status.valid"); |
else |
message = MessageResources.getMessage(request, "blog.status.not.valid"); |
%> |
<%=message%> |
</td> |
</tr> |
<% |
} |
%> |
</table> |
<% |
} |
%> |
<%=message%> |
</td> |
</tr> |
<% |
} |
%> |
</table> |
<% |
} |
%> |
</div> |
</div> |
</div> |
</div> |
<div class="block"> |
<div class="head"> |
<bean:message key="intranet.editable.blogs"/> |
<a href="#"><img border="0" onclick="this.src=showOrHide('editableBlogs','<%=request.getContextPath()%>/imgs/closedbox.gif','<%=request.getContextPath()%>/imgs/openedbox.gif')" src="<%=request.getContextPath()%>/imgs/closedbox.gif" alt="abrir"/></a> |
</div> |
<div id="editableBlogs" style="display:none;"> |
<% |
if (editableBlogs.size() == 0) |
{ |
%> |
<div class="zerofound"> |
<bean:message key="blog.zero.editable"/> |
</div> |
<% |
} |
else |
{ |
%> |
<table> |
<% |
for (BlogView b : editableBlogs) |
{ |
%> |
<tr> |
<td> |
<a href="<%=request.getContextPath()%>/user/startLoadBlogFromServiceZone.do?id=<%=b.getId()%>"><%=b.getTitle()%> |
</a></td> |
<td> |
<div class="block"> |
<div class="head"> |
<bean:message key="intranet.editable.blogs"/> |
<a href="#"><img border="0" onclick="this.src=showOrHide('editableBlogs','<%=request.getContextPath()%>/imgs/closedbox.gif','<%=request.getContextPath()%>/imgs/openedbox.gif')" src="<%=request.getContextPath()%>/imgs/closedbox.gif" alt="abrir"/></a> |
</div> |
<div id="editableBlogs" style="display:none;"> |
<% |
String message; |
if (b.isStatus()) |
message = MessageResources.getMessage(request, "blog.status.valid"); |
else |
message = MessageResources.getMessage(request, "blog.status.not.valid"); |
if (editableBlogs.size() == 0) |
{ |
%> |
<div class="zerofound"> |
<bean:message key="blog.zero.editable"/> |
</div> |
<% |
} |
else |
{ |
%> |
<table> |
<% |
for (BlogView b : editableBlogs) |
{ |
%> |
<tr> |
<td> |
<a href="<%=request.getContextPath()%>/user/startLoadBlogFromServiceZone.do?id=<%=b.getId()%>"><%=b.getTitle()%> |
</a></td> |
<td> |
<% |
String message; |
if (b.isStatus()) |
message = MessageResources.getMessage(request, "blog.status.valid"); |
else |
message = MessageResources.getMessage(request, "blog.status.not.valid"); |
%> |
<%=message%> |
</td> |
</tr> |
<% |
} |
%> |
</table> |
<% |
} |
%> |
<%=message%> |
</td> |
</tr> |
<% |
} |
%> |
</table> |
<% |
} |
%> |
</div> |
</div> |
</baco:isModuleOn> |
<!-- Duarte Santos --> |
<baco:isModuleOn module="surveys"> |
<%-- |
<div class="block"> |
<div class="head"> |
<bean:message key="intranet.my.surveys.stats"/> |
<a href="#"><img border="0" onclick="this.src=showOrHide('mySurveysStats','<%=request.getContextPath()%>/imgs/closedbox.gif','<%=request.getContextPath()%>/imgs/openedbox.gif')" src="<%=request.getContextPath()%>/imgs/closedbox.gif" alt="abrir"/></a> |
</div> |
<div id="mySurveysStats" style="display:none;"> |
<% |
if(consultStatsSurveys.size() == 0) |
{ |
%> |
<div class="zerofound"> |
<bean:message key="survey.stats.zero.placed"/> |
</div> |
</div> |
<% |
} |
else |
{ |
%> |
<table> |
<% |
for (SurveyView s : consultStatsSurveys) |
{ |
%> |
<tr> |
<td> |
<a href="<%=request.getContextPath()%>/user/startListSurveyStats.do?id=<%=s.getId()%>&from=ServiceZone"><%=s.getTitle()%></a> |
</td> |
</tr> |
<% |
} |
%> |
</table> |
<% |
} |
%> |
</div> |
</div>--%> |
</baco:isModuleOn> |
</baco:isModuleOn> |
<!-- Duarte Santos --> |
<baco:isModuleOn module="surveys"> |
<%-- |
<div class="block"> |
<div class="head"> |
<bean:message key="intranet.my.surveys.stats"/> |
<a href="#"><img border="0" onclick="this.src=showOrHide('mySurveysStats','<%=request.getContextPath()%>/imgs/closedbox.gif','<%=request.getContextPath()%>/imgs/openedbox.gif')" src="<%=request.getContextPath()%>/imgs/closedbox.gif" alt="abrir"/></a> |
</div> |
<div id="mySurveysStats" style="display:none;"> |
<% |
if(consultStatsSurveys.size() == 0) |
{ |
%> |
<div class="zerofound"> |
<bean:message key="survey.stats.zero.placed"/> |
</div> |
<% |
} |
else |
{ |
%> |
<table> |
<% |
for (SurveyView s : consultStatsSurveys) |
{ |
%> |
<tr> |
<td> |
<a href="<%=request.getContextPath()%>/user/startListSurveyStats.do?id=<%=s.getId()%>&from=ServiceZone"><%=s.getTitle()%></a> |
</td> |
</tr> |
<% |
} |
%> |
</table> |
<% |
} |
%> |
</div> |
</div>--%> |
</baco:isModuleOn> |
</td> |
</tr> |
</tbody> |
</table> |
</div> |
</div> |
</div> |
/branches/v3/impl/src/web/user/serviceZone/topnavConfigurations.jsp |
---|
New file |
0,0 → 1,10 |
<%@page contentType="text/html"%> |
<%@page pageEncoding="UTF-8"%> |
<%@page import="jomm.web.utils.NavPlaceServer"%> |
<%@ page import="jomm.web.utils.TopNav" %> |
<% |
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request); |
topNav.addNavPlace("/user/startHome.do", "intranet.separator.home.back"); |
topNav.addNavPlace(null, "configuration"); |
%> |
<jsp:include page="/layout/topnav.jsp"/> |
Property changes: |
Added: svn:executable |
+ * |