Subversion Repositories bacoAlunos

Compare Revisions

Ignore whitespace Rev 419 → Rev 420

/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();