/branches/v3/impl/src/java/pt/estgp/estgweb/services/courses/CoursesService.java |
---|
465,6 → 465,7 |
*/ |
.exclude("id", Course.class) |
.exclude("status", Course.class) |
.exclude("showStudiesPlan", Course.class) |
.include("degreeForJsonApi", CourseImpl.class) |
.include("schoolForJsonApi", CourseImpl.class) |
.include("statusForJsonApi", CourseImpl.class) |
583,7 → 584,7 |
if(type != null && type.length() > 0) |
degree = ConfigProperties.getProperty("course.inverse." + type); |
List<Course> courses = DaoFactory.getCourseDaoImpl().findAllActiveOrderByNameEvenWithoutCourseUnit(institutionalCode,degree); |
List<Course> courses = DaoFactory.getCourseDaoImpl().findAllShowStudiesPlanCoursesOrderByNameEvenWithoutCourseUnit(institutionalCode, degree); |
JSONObject coursesResponse = new JSONObject(); |
JSONArray coursesArray = new JSONArray(); |
/branches/v3/impl/src/java/pt/estgp/estgweb/domain/views/CourseView.java |
---|
89,6 → 89,7 |
private String externalSitePath; |
private String validationRole; |
private boolean status; |
private boolean showStudiesPlan; |
private String userGroupStudents; |
private List<CourseYearView> courseYearViews = new DynamicArrayList<CourseYearView>(CourseYearView.class); |
175,6 → 176,7 |
this.externalSitePath = course.getExternalSitePath(); |
this.externalSiteServer = course.getExternalSiteServer(); |
this.status = course.isStatus(); |
this.showStudiesPlan = course.isShowStudiesPlan(); |
this.userGroupStudents = course.getUserGroupStudents(); |
if(course.getStudiesPlan() != null) |
this.studiesPlanStreamId = course.getStudiesPlan(); |
227,6 → 229,7 |
c.setExternalSiteServer(externalSiteServer); |
c.setValidationRole(validationRole); |
c.setStatus(status); |
c.setShowStudiesPlan(showStudiesPlan); |
c.setUserGroupStudents(userGroupStudents); |
if(coordinator != null && coordinator.getId() > 0) |
{ |
757,7 → 760,14 |
this.userGroupStudents = userGroupStudents; |
} |
public boolean isShowStudiesPlan() { |
return showStudiesPlan; |
} |
public void setShowStudiesPlan(boolean showStudiesPlan) { |
this.showStudiesPlan = showStudiesPlan; |
} |
public boolean isSeparatedUnits(String year) |
{ |
for(CourseYearView cyv: courseYearViews) |
/branches/v3/impl/src/java/pt/estgp/estgweb/domain/CourseImpl.java |
---|
39,7 → 39,7 |
public String getStatusForJsonApi() |
{ |
if(isStatus()) |
if(isShowStudiesPlan()) |
{ |
return "active"; |
} |
/branches/v3/impl/src/java/pt/estgp/estgweb/domain/dao/impl/CourseDaoImpl.java |
---|
201,11 → 201,11 |
.list(); |
} |
public List<Course> findAllActiveOrderByNameEvenWithoutCourseUnit(String institutionalCode, String degree) |
public List<Course> findAllShowStudiesPlanCoursesOrderByNameEvenWithoutCourseUnit(String institutionalCode, String degree) |
{ |
Criteria c = createCriteria(); |
c.add(eq("status", true)); |
c.add(eq("showStudiesPlan", true)); |
if (degree != null && degree.length() > 0) |
c.add(eq("degree", degree)); |
/branches/v3/impl/src/updates/version/release-09-2016-planos-Estudos |
---|
16,4 → 16,11 |
3 - Correr as atualizações dos papeis institucionais e reiniciar sistema para assumir os papeis |
"user.role.servicesStudiesPlans=Gestão de Planos de Estudos\n" + |
"user.role.servicesCoursesManagement=Gestão de Cursos\n" + |
"user.role.servicesCoursesManagement=Gestão de Cursos\n" + |
ESTA NO PAE, ESTA NA ESTG |
4 - Fazer update HIBERNATE de SQL |
correr a query |
update course set showStudiesPlan = status; |
/branches/v3/impl/src/hbm/pt/estgp/estgweb/domain/Course.hbm.xml |
---|
25,6 → 25,9 |
<property name="externalSitePath" type="string"/> |
<property name="degree" type="string" index="degreeIndex"/> |
<property name="status" type="boolean"/> |
<property name="showStudiesPlan" type="boolean"> |
<column name="showStudiesPlan" default="false"/> |
</property> |
<property name="cacheWebDocument" type="text"> |
<column name="cacheWebDocument" sql-type="MEDIUMTEXT"/> |
</property> |
/branches/v3/impl/src/web/admin/courses/course.jsp |
---|
109,6 → 109,15 |
</div> |
</div> |
<div class="form-group"> |
<label class="control-label col-sm-2">Mostrar Plano Estudos na API (Sites Externos/ex: Site IPP)</label> |
<div class="col-sm-10"> |
<html:select styleClass="form-control" property="courseView.showStudiesPlan"> |
<html:option value="true"><bean:message key="yes"/></html:option> |
<html:option value="false"><bean:message key="no"/></html:option> |
</html:select> |
</div> |
</div> |
<div class="form-group"> |
<label class="control-label col-sm-2"><bean:message key="course.degree"/></label> |
<div class="col-sm-10"> |
<html:select styleClass="form-control" property="courseView.degree"> |
/branches/v3/impl/src/web/user/courses/studiesPlansAdministrationEdit.jsp |
---|
409,7 → 409,16 |
</div> |
<div class="panel-body"> |
<div class="form-group"> |
<div class="col-sm-2"> |
Notas do Semestre (Pode ser utilizado para mostrar Optativas) |
</div> |
<div class="col-sm-10"> |
<nested:textarea property="notas" rows="5" styleClass="form-control"/> |
</div> |
</div> |
<button class="btn btn-default" data-toggle="collapse" type="button" data-target=".langs">Ver Campos Multingua</button> |
<nested:size id="tamanhoPerfil" property="perfil"/> |
/branches/v3/impl/src/xsd/planoestudos.xsd |
---|
14,18 → 14,21 |
<xsd:element name="dep" type="xsd:string"/> |
<xsd:element name="semestre" maxOccurs="unbounded"> |
<xsd:complexType> |
<xsd:choice> |
<xsd:element name="unidade" type="unidadeType" maxOccurs="unbounded"/> |
<xsd:element name="perfil" maxOccurs="unbounded"> |
<xsd:complexType> |
<xsd:sequence> |
<xsd:element name="unidade" type="unidadeType" maxOccurs="unbounded"/> |
</xsd:sequence> |
<xsd:attribute name="nome" type="xsd:string" use="required"/> |
<xsl:attribute name="perfilId" type="xsd:string" use="optional"/> |
</xsd:complexType> |
</xsd:element> |
</xsd:choice> |
<xsd:sequence> |
<xsd:element name="notas" type="xsd:string" minOccurs="0" maxOccurs="1"/> |
<xsd:choice> |
<xsd:element name="unidade" type="unidadeType" maxOccurs="unbounded"/> |
<xsd:element name="perfil" maxOccurs="unbounded"> |
<xsd:complexType> |
<xsd:sequence> |
<xsd:element name="unidade" type="unidadeType" maxOccurs="unbounded"/> |
</xsd:sequence> |
<xsd:attribute name="nome" type="xsd:string" use="required"/> |
<xsl:attribute name="perfilId" type="xsd:string" use="optional"/> |
</xsd:complexType> |
</xsd:element> |
</xsd:choice> |
</xsd:sequence> |
<xsl:attribute name="semestreDesc" type="xsd:string" use="optional"/> |
<xsl:attribute name="semestreDescEn" type="xsd:string" use="optional"/> |
<xsl:attribute name="semestreDescEs" type="xsd:string" use="optional"/> |