/impl/src/java/pt/estgp/estgweb/Globals.java |
---|
82,7 → 82,7 |
public static final int NUMBER_ANNOUNCEMENT_TYPE_BOTTOM_FLASH_NEWS_INDEX = 2; |
public static final int ANNOUNCEMENT_TYPE_TOP_FLASH_NEWS_TIMEOUT = ConfigProperties.getIntProperty("announcements.top.flash.news.timeout.miliseconds"); |
public static final List<String> ANNOUNCEMENT_NOT_STANDARD = ConfigProperties.getListValues("announcements.not.standard"); |
public static final int HOME_MAX_COURSE_UNIT_ANNOUNCEMENTS = 3; |
public static List<String> USER_ROLES = ConfigProperties.getListValues("user.role"); |
public static final String STUDENT_ROLE = ConfigProperties.getProperty("user.student"); |
166,7 → 166,9 |
public static final String INTRANET_SETUP_FILE_NAME = ConfigProperties.getProperty("intranet.setup.filename"); |
public static final int COURSEUNIT_ASSIGNEMENT_NUMBER_DAYS_REMINDER_AFTER_EXPIRED = ConfigProperties.getIntProperty("work.reminder.unntil.days.after.expired"); |
public static final int COURSEUNIT_ASSIGNEMENT_NUMBER_DAYS_REMINDER_AFTER_EXPIRED = ConfigProperties.getIntProperty("work.reminder.until.days.after.expired"); |
public static final int HOME_MAX_COURSE_UNIT_ANNOUNCEMENTS = ConfigProperties.getIntProperty("home.courseunit.last.anouncements.max"); |
public static final int HOME_COURSE_UNIT_ANNOUNCEMENTS_EXPIRED_DAYS = ConfigProperties.getIntProperty("home.courseunit.last.anouncements.expired.in.days"); |
public static final String COURSEUNIT_ASSIGNEMENT_TYPE_NO_FILE = "nofile"; |
public static final String PROFILE_SCHOLAR_DEGREE_SUPERIOR = "superior"; |
/impl/src/java/pt/estgp/estgweb/services/courseunits/LoadTeachedUnitsAnnouncementsService.java |
---|
6,6 → 6,7 |
import pt.estgp.estgweb.domain.dao.DaoFactory; |
import pt.estgp.estgweb.services.courseunits.impl.DefaultCourseUnitAnnouncements; |
import pt.estgp.estgweb.Globals; |
import pt.estgp.estgweb.utils.DatesUtils; |
import java.util.List; |
import java.util.ArrayList; |
25,17 → 26,28 |
return courseUnitAnnouncementsLst; |
Teacher t = DaoFactory.getTeacherDaoImpl().load(userSession.getUser().getId()); |
Set<CourseUnit> units = t.getTeachedUnits(); |
DatesUtils.SemestreModerate semestreModerate = DatesUtils.getSemestreModerate(); |
String semestre = null; |
if(semestreModerate == DatesUtils.SemestreModerate.S1) |
semestre = "S1"; |
else if(semestreModerate == DatesUtils.SemestreModerate.S2) |
semestre = "S2"; |
List<CourseUnit> units = DaoFactory.getCourseUnitDaoImpl().loadTeachedImportYearSemestreUnits(t.getId(), DatesUtils.getImportYear(),semestre); |
if(units == null) |
return courseUnitAnnouncementsLst; |
for(CourseUnit c: units) |
{ |
if(c.getAnnouncements() != null && c.getAnnouncements().size()>0) |
List<Announcement> announcements = DaoFactory.getCourseUnitAnnouncementDaoImpl().loadLastAnnouncements(c.getId(),Globals.HOME_MAX_COURSE_UNIT_ANNOUNCEMENTS,Globals.HOME_COURSE_UNIT_ANNOUNCEMENTS_EXPIRED_DAYS); |
if(announcements != null && announcements.size()>0) |
{ |
DefaultCourseUnitAnnouncements courseUnitAnnouncements = new DefaultCourseUnitAnnouncements(); |
courseUnitAnnouncements.setCourseUnit(c); |
List<AnnouncementView> announcementViews = new ArrayList<AnnouncementView>(); |
for(Announcement a :c.getAnnouncements()) |
for(Announcement a :announcements) |
{ |
if(announcementViews.size() > Globals.HOME_MAX_COURSE_UNIT_ANNOUNCEMENTS) |
break; |
/impl/src/java/pt/estgp/estgweb/services/courseunits/LoadSubscribedUnitsAnnouncementsService.java |
---|
9,6 → 9,7 |
import pt.estgp.estgweb.domain.dao.DaoFactory; |
import pt.estgp.estgweb.services.courseunits.impl.DefaultCourseUnitAnnouncements; |
import pt.estgp.estgweb.Globals; |
import pt.estgp.estgweb.utils.DatesUtils; |
import java.util.Set; |
import java.util.List; |
28,17 → 29,26 |
return courseUnitAnnouncementsLst; |
Student t = DaoFactory.getStudentDaoImpl().load(userSession.getUser().getId()); |
Set<CourseUnit> units = t.getSubscribedUnits(); |
DatesUtils.SemestreModerate semestreModerate = DatesUtils.getSemestreModerate(); |
String semestre = null; |
if(semestreModerate == DatesUtils.SemestreModerate.S1) |
semestre = "S1"; |
else if(semestreModerate == DatesUtils.SemestreModerate.S2) |
semestre = "S2"; |
List<CourseUnit> units = DaoFactory.getCourseUnitDaoImpl().loadSubscribedImportYearSemestreUnits(t.getId(), DatesUtils.getImportYear(),semestre); |
if(units == null) |
return courseUnitAnnouncementsLst; |
for(CourseUnit c: units) |
{ |
if(c.getAnnouncements() != null && c.getAnnouncements().size() > 0) |
List<Announcement> announcements = DaoFactory.getCourseUnitAnnouncementDaoImpl().loadLastAnnouncements(c.getId(),Globals.HOME_MAX_COURSE_UNIT_ANNOUNCEMENTS,Globals.HOME_COURSE_UNIT_ANNOUNCEMENTS_EXPIRED_DAYS); |
if(announcements != null && announcements.size() > 0) |
{ |
DefaultCourseUnitAnnouncements courseUnitAnnouncements = new DefaultCourseUnitAnnouncements(); |
courseUnitAnnouncements.setCourseUnit(c); |
List<AnnouncementView> announcementViews = new ArrayList<AnnouncementView>(); |
for(Announcement a :c.getAnnouncements()) |
List<AnnouncementView> announcementViews = new ArrayList<AnnouncementView>(); |
for(Announcement a :announcements) |
{ |
if(announcementViews.size() > Globals.HOME_MAX_COURSE_UNIT_ANNOUNCEMENTS) |
break; |
/impl/src/java/pt/estgp/estgweb/domain/dao/impl/CourseUnitAnnouncementDaoImpl.java |
---|
47,4 → 47,12 |
.addOrder(Order.desc("saveDate")).list(); |
} |
public List<Announcement> loadLastAnnouncements(long courseUnitId, int max, int maxExpiredDays) |
{ |
Date daysBefore = new Date(new Date().getTime() - (maxExpiredDays * 24 * 60 * 60 * 1000)); |
return createCriteria() |
.add(Restrictions.eq("courseUnit.id", courseUnitId)) |
.add(Restrictions.ge("saveDate",daysBefore)) |
.addOrder(Order.desc("saveDate")).list(); |
} |
} |
/impl/src/java/pt/estgp/estgweb/domain/dao/impl/CourseUnitDaoImpl.java |
---|
9,6 → 9,7 |
import pt.estgp.estgweb.utils.DatesUtils; |
import pt.estgp.estgweb.Globals; |
import static org.hibernate.criterion.Restrictions.*; |
import static org.hibernate.criterion.Restrictions.eq; |
import org.hibernate.criterion.Criterion; |
import org.hibernate.criterion.Order; |
import org.hibernate.Criteria; |
70,6 → 71,16 |
.createAlias("students", "st") |
.add(eq("st.id", studentId)).addOrder(Order.asc("name")).list(); |
} |
public List<CourseUnit> loadSubscribedImportYearSemestreUnits(long studentId, String importYear, String semestre) |
{ |
Criteria c =createCriteria() |
.add(eq("importYear", importYear)) |
.createAlias("students", "st") |
.add(eq("st.id", studentId)); |
if(semestre != null) |
c.add(eq("semestre", semestre)); |
return c.addOrder(Order.asc("name")).list(); |
} |
public List<CourseUnit> loadSubscribedOtherImportYearUnits(long studentId, String importYear) |
{ |
85,6 → 96,20 |
.add(eq("st.id", teacherId)).addOrder(Order.asc("importYear")).addOrder(Order.asc("name")).list(); |
} |
public List<CourseUnit> loadTeachedImportYearSemestreUnits(long teacherId, String importYear, String semestre) |
{ |
Criteria c =createCriteria() |
.add(eq("importYear", importYear)) |
.createAlias("teachers", "st") |
.add(eq("st.id", teacherId)) |
.add(eq("st.id", teacherId)); |
if(semestre != null) |
c.add(eq("semestre", semestre)); |
return c.addOrder(Order.asc("name")).list(); |
} |
public CourseUnit loadBySigesCodeUnique(String sigesCode) |
{ |
return (CourseUnit) createCriteria().add(eq("code", sigesCode)).uniqueResult(); |