/impl/conf/WEB-INF/struts/tiles-courseunits.xml |
---|
193,7 → 193,7 |
<put name="body" value="/admin/courseunits/courseunit.jsp"/> |
</definition> |
<definition name="page.edit.courseunit.admin.from.course.course.units" extends="base.separators.home"> |
<definition name="page.edit.courseunit.admin.from.course.course.units" extends="page.separators.home"> |
<put name="title" value="Unidade Curricular"/> |
<put name="topnav" value="/admin/courseunits/topnavEditCourseUnitFromCourseCourseUnits.jsp"/> |
<put name="body" value="/admin/courseunits/courseunit.jsp"/> |
/impl/src/java/pt/estgp/estgweb/services/courseunits/CreateCourseUnitDirPackageServiceBat.java |
---|
166,6 → 166,17 |
// List<CourseUnit> courseUnits = DaoFactory.getCourseUnitDaoImpl().loadByCourse(c.getId(),importYear); |
for(CourseUnit courseUnit: courseUnits) |
{ |
boolean turmasMultiplas = false; |
for(CourseUnit cuCompare: courseUnits) |
{ |
if(cuCompare.getId() == courseUnit.getId()) |
continue; |
if(((CourseUnitImpl)cuCompare).equalsIgnoringTurma(courseUnit)) |
{ |
turmasMultiplas = true; |
break; |
} |
} |
//FileWriter nowWriter; |
String semestre; |
if(courseUnit.getSemestre().equals("S1")) |
212,9 → 223,23 |
md Unidade\DTP\6.Inquerito.Pedagogico.Unidade.Curricular |
md Unidade\DTP\7.Relatorio.Final*/ |
String normalizedName = StringsUtils.normalizeResourceName(courseUnit.getName()); |
//Em caso de turmas multiplas necessitamos de colocar na path a turma |
//todo mudar isto no futuro para meter sempre que houver turma |
if(turmasMultiplas && courseUnit.getCdTurma() !=null && courseUnit.getCdTurma().trim().length() > 0) |
{ |
normalizedName = normalizedName + "." + courseUnit.getCdTurma(); |
batRunner.write("REM Unidade de Turma Multipla " + courseImportYearPath + "/" + semestre + "/" + normalizedName + " \n"); |
} |
courseUnit.setNormalizedName(normalizedName); |
String unitPath = courseImportYearPath + "/" + semestre + "/" + normalizedName; |
courseUnit.setNormalizedName(normalizedName); |
courseUnit.setPathIntranet(unitPath.substring(tmpDir.length())); |
String semestreUnitName = semestre + "\\" + normalizedName + "\\"; |
300,7 → 325,7 |
batRunner.write("cd ..\\\n"); |
} |
if(Globals.INTRANET_DTP_CourseDirectorWrite && c.getCoordinator() != null) |
if(Globals.INTRANET_DTP_CourseDirectorWrite && c.getDirector() != null) |
{ |
batRunner.write("cacls " + Globals.INTRANET_DTP + " /t /e /g \"" + c.getDirector().getUsername() + "\":c\n"); |
batRunner.write("cd " + Globals.INTRANET_DTP + "\n"); |
/impl/src/java/pt/estgp/estgweb/domain/CourseUnitImpl.java |
---|
108,6 → 108,21 |
} |
public boolean equalsIgnoringTurma(Object anotherInstance) |
{ |
if(anotherInstance instanceof CourseUnitImpl) |
{ |
CourseUnitImpl anCourseUnit = (CourseUnitImpl) anotherInstance; |
return anCourseUnit.getCode() != null && getCode() != null && getCode().equals(anCourseUnit.getCode()) && |
anCourseUnit.getCourseCode() != null && getCourseCode() != null && getCourseCode().equals(anCourseUnit.getCourseCode()) && |
anCourseUnit.getSemestre() != null && getSemestre() != null && getSemestre().equals(anCourseUnit.getSemestre()) && |
anCourseUnit.getImportYear() != null && getImportYear() != null && getImportYear().equals(anCourseUnit.getImportYear()); |
} |
return false; |
} |
/** |
* Means that is teacher os responsable teacher or from course commission |
* Only works in open transaction |
/impl/src/java/pt/estgp/estgweb/domain/dao/impl/UserDaoImpl.java |
---|
14,6 → 14,7 |
import java.io.Serializable; |
import java.util.ArrayList; |
import java.util.Date; |
import java.util.Iterator; |
import java.util.List; |
import static org.hibernate.criterion.Restrictions.*; |
136,7 → 137,15 |
{ |
if(role == null || role.trim().length() == 0) |
return new ArrayList<User>(); |
return createCriteria().add(like("roles", "%" + role + "%")).addOrder(Order.asc("name")).list(); |
List<User> users = createCriteria().add(like("roles", "%" + role + "%")).addOrder(Order.asc("name")).list(); |
Iterator<User> iter = users.iterator(); |
while(iter.hasNext()) |
{ |
User u = iter.next(); |
if(!u.hasRole(role)) |
iter.remove(); |
} |
return users; |
} |
public List<User> loadRoleAreaUsers(String role, String area) |
144,7 → 153,15 |
Criteria c = createCriteria().add(like("roles", "%" + role + "%")).addOrder(Order.asc("name")); |
if(area != null && area.trim().length() > 0) |
c.add(eq("mainArea",area)); |
return c.list(); |
List<User> users = c.list(); |
Iterator<User> iter = users.iterator(); |
while(iter.hasNext()) |
{ |
User u = iter.next(); |
if(!u.hasRole(role)) |
iter.remove(); |
} |
return users; |
} |
public List<User> findUsers(String textToSearch) |
244,6 → 261,23 |
co = or(co, cor); |
} |
criteria.add(co); |
return criteria.list(); |
List<User> users = criteria.list(); |
Iterator<User> iter = users.iterator(); |
while(iter.hasNext()) |
{ |
boolean hasIt = false; |
User u = iter.next(); |
for(String role: roles) |
{ |
if(u.hasRole(role)) |
{ |
hasIt = true; |
break; |
} |
} |
if(!hasIt) |
iter.remove(); |
} |
return users; |
} |
} |
/impl/src/web/admin/courses/courseComissions.jsp |
---|
34,6 → 34,7 |
<% |
String importYear = request.getParameter("importYear"); |
String nowInterfaceImportYear = DaoFactory.getConfigurationDaoImpl().getInterfaceImportYear(); |
if(importYear == null || importYear.length()==0) |
{ |
86,7 → 87,7 |
<thead> |
<tr> |
<th>Codigo</th> |
<th>Grau</th> |
<th>Tipo de Curso</th> |
<th>Curso</th> |
<baco:hasRole role="services,admin,all"> |
<th>Papel Comissão Curso</th> |
109,7 → 110,9 |
int unitsSize=DaoFactory.getCourseDaoImpl().countCoursesUnits(importYear,c.getId()); |
int unitsSizeOthers=DaoFactory.getCourseDaoImpl().countCoursesUnitsNot(importYear, c.getId()); |
int totalUnits = unitsSize + unitsSizeOthers; |
if(totalUnits > 0 || userSession.getUser().isAdmin() || userSession.getUser().hasRole("services")) |
//So da verdadeiro se estivermos neste ano e ele estiver inativo |
boolean notActiveAndActualThisYear = nowInterfaceImportYear.equals(importYear) && !cv.isStatus(); |
if((totalUnits > 0 && !notActiveAndActualThisYear) || userSession.getUser().isAdmin() || userSession.getUser().hasRole("services")) |
{ |
%> |