Subversion Repositories bacoAlunos

Compare Revisions

Ignore whitespace Rev 136 → Rev 138

/impl/conf/berserk/sd.xml
165,6 → 165,7
<isTransactional>true</isTransactional>
<filterChains>
<chain name="Logger"/>
<chain name="Session"/>
</filterChains>
</service>
<service>
/impl/src/java/pt/estgp/estgweb/services/announcements/LoadRoleTypeMaxAnnouncementsService.java
30,7 → 30,7
private static final Logger logger = Logger.getLogger(LoadRoleTypeMaxAnnouncementsService.class);
private static final int MAX_ANNOUNCEMENTS = ConfigProperties.getIntProperty("announcements.max.visible");
 
public List<AnnouncementView> run(String roles,String typeNews,String subTarget)
public List<AnnouncementView> run(String roles,String typeNews,String subTarget,UserSession sess)
{
List<String> targetRoles = new ArrayList<String>();
if (roles.contains(","))
45,7 → 45,11
{
targetRoles.add(roles);
}
List<Announcement> announcements = DaoFactory.getAnnouncementDaoImpl().findAnnouncements(MAX_ANNOUNCEMENTS,targetRoles,typeNews,subTarget);
boolean internal = true;
if(sess.getUser() == null)
internal = false;
 
List<Announcement> announcements = DaoFactory.getAnnouncementDaoImpl().findAnnouncements(MAX_ANNOUNCEMENTS,targetRoles,typeNews,subTarget,internal);
if(announcements == null)
return null;
List<AnnouncementView> announcementViews = new ArrayList<AnnouncementView>();
/impl/src/java/pt/estgp/estgweb/services/announcements/LoadTargetMaxAnnouncementsService.java
27,7 → 27,10
List<String> targetRoles = null;
if(userSession.getUser() != null)
targetRoles = userSession.getUser().getTargetRolesList();
List<Announcement> announcements = DaoFactory.getAnnouncementDaoImpl().findAnnouncements(MAX_ANNOUNCEMENTS,targetRoles,subTarget);
boolean internal = true;
if(userSession.getUser() == null)
internal = false;
List<Announcement> announcements = DaoFactory.getAnnouncementDaoImpl().findAnnouncements(MAX_ANNOUNCEMENTS,targetRoles,subTarget,internal);
if(announcements == null)
return null;
List<AnnouncementView> announcementViews = new ArrayList<AnnouncementView>();
/impl/src/java/pt/estgp/estgweb/services/announcements/LoadTopFlashNewsIterateService.java
31,22 → 31,26
 
public AnnouncementView run(String subTarget, UserSession sess)
{
Integer iterator = (Integer) ((UserSessionImpl)sess).get(flashNewsIterator);
if(iterator == null)
Integer iterator = (Integer) ((UserSessionImpl) sess).get(flashNewsIterator);
if (iterator == null)
iterator = 0;
 
int size = DaoFactory.getAnnouncementDaoImpl().countAnnouncements(1,null,Globals.ANNOUNCEMENT_TYPE_TOP_FLASH_NEWS,null);
if(size != 0)
boolean internal = true;
if (sess.getUser() == null)
internal = false;
int size = DaoFactory.getAnnouncementDaoImpl().countAnnouncements(1, null, Globals.ANNOUNCEMENT_TYPE_TOP_FLASH_NEWS, null, internal);
if (size != 0)
{
iterator = iterator % size;
List<Announcement> announcements = DaoFactory.getAnnouncementDaoImpl().findAnnouncements(iterator, 1,null,Globals.ANNOUNCEMENT_TYPE_TOP_FLASH_NEWS,subTarget);
List<Announcement> announcements = DaoFactory.getAnnouncementDaoImpl().findAnnouncements(iterator, 1, null, Globals.ANNOUNCEMENT_TYPE_TOP_FLASH_NEWS, subTarget, internal);
iterator++;
((UserSessionImpl)sess).put(flashNewsIterator,iterator);
((UserSessionImpl) sess).put(flashNewsIterator, iterator);
 
if(announcements == null)
if (announcements == null)
return null;
logger.info("Loading announcement top flash iterator");
if(announcements.size() > 0)
if (announcements.size() > 0)
{
return new AnnouncementView(announcements.get(0));
}
59,12 → 63,13
//mudei a propriedade log.file build.properties para log.file=${data.dir}/estgweb.log assim ja nao da o erro do log
//adicionei as libs jsp-api.jar da pasta tomcat/common/lib para nao te falhar os imports nas TAGS aqui no Intellij
//adiciona sempre todos os jars da common aqui no Intellij faltava-te o activation.jar do jaxb e era preciso para o MimeTypeGuesser
public static void main(String[] args) throws Throwable {
public static void main(String[] args) throws Throwable
{
IServiceManager sm = ServiceManager.getInstance();
String[] names = new String[]{};
Object[] arguments = new Object[]{};
AnnouncementView announcementView = (AnnouncementView) sm.execute("testecookie", "LoadTopFlashNewsIterate",arguments,names);
System.out.println("-->"+announcementView.getTitle());
AnnouncementView announcementView = (AnnouncementView) sm.execute("testecookie", "LoadTopFlashNewsIterate", arguments, names);
System.out.println("-->" + announcementView.getTitle());
 
 
}
/impl/src/java/pt/estgp/estgweb/domain/dao/impl/AnnouncementDaoImpl.java
31,7 → 31,7
return (AnnouncementDaoImpl) myInstance;
}
 
public List<Announcement> findAnnouncements(int maxAnnouncements, List<String> roles, String subTarget) {
public List<Announcement> findAnnouncements(int maxAnnouncements, List<String> roles, String subTarget,boolean internal) {
if (roles == null) {
roles = new ArrayList<String>();
roles.add("all");
53,6 → 53,8
else {
coSubTargets = eq("subTargets", subTarget);
}
if(!internal)
criteria.add(eq("internal",false));
MyCalendar cNow = new MyCalendar();
MyCalendar calendarWithOutTime = new MyCalendar(cNow.getYear(), cNow.getMonth(), cNow.getDay());
Date now = calendarWithOutTime.getTime();
66,31 → 68,31
return criteria.list();
}
 
public List<Announcement> findAnnouncements(int maxAnnouncements, List<String> roles, String type, String subTarget) {
return findAnnouncements(0, maxAnnouncements, roles, type, subTarget);
public List<Announcement> findAnnouncements(int maxAnnouncements, List<String> roles, String type, String subTarget, boolean internal) {
return findAnnouncements(0, maxAnnouncements, roles, type, subTarget,internal);
}
 
public List<Announcement> findAnnouncements(int startPage, int maxAnnouncements, List<String> roles, String type, String subTarget) {
Criteria criteria = createMaxAnnouncementsRolesTypeCriteria(maxAnnouncements, roles, type, subTarget);
public List<Announcement> findAnnouncements(int startPage, int maxAnnouncements, List<String> roles, String type, String subTarget,boolean internal) {
Criteria criteria = createMaxAnnouncementsRolesTypeCriteria(maxAnnouncements, roles, type, subTarget,internal);
return criteria.setFirstResult(maxAnnouncements * startPage).list();
}
 
public int countAnnouncements(int maxAnnouncements, List<String> roles, String type, String subTarget) {
Criteria criteria = createMaxAnnouncementsRolesTypeCriteria(Integer.MAX_VALUE, roles, type, subTarget);
public int countAnnouncements(int maxAnnouncements, List<String> roles, String type, String subTarget,boolean internal) {
Criteria criteria = createMaxAnnouncementsRolesTypeCriteria(Integer.MAX_VALUE, roles, type, subTarget,internal);
return criteria.list().size();
}
 
private Criteria createMaxAnnouncementsRolesTypeCriteria(int maxAnnouncements, List<String> roles, String type, String subTarget) {
return createMaxAnnouncementsPageRolesTypeCriteria(0, maxAnnouncements, roles, type, subTarget);
private Criteria createMaxAnnouncementsRolesTypeCriteria(int maxAnnouncements, List<String> roles, String type, String subTarget,boolean internal) {
return createMaxAnnouncementsPageRolesTypeCriteria(0, maxAnnouncements, roles, type, subTarget,internal);
}
 
private Criteria createMaxAnnouncementsPageRolesTypeCriteria(int page, int maxAnnouncements, List<String> roles, String type, String subTarget) {
return createRolesTypeCriteria(roles, type, subTarget)
private Criteria createMaxAnnouncementsPageRolesTypeCriteria(int page, int maxAnnouncements, List<String> roles, String type, String subTarget,boolean internal) {
return createRolesTypeCriteria(roles, type, subTarget,internal)
.setFirstResult(page * maxAnnouncements)
.setMaxResults(maxAnnouncements);
}
 
private Criteria createRolesTypeCriteria(List<String> roles, String type, String subTarget) {
private Criteria createRolesTypeCriteria(List<String> roles, String type, String subTarget,boolean internal) {
if (roles == null) {
roles = new ArrayList<String>();
roles.add("all");
114,6 → 116,10
}
if (type != null)
criteria.add(eq("type", type));
 
if(!internal)
criteria.add(eq("internal",false));
MyCalendar cNow = new MyCalendar();
MyCalendar calendarWithOutTime = new MyCalendar(cNow.getYear(), cNow.getMonth(), cNow.getDay());
Date now = calendarWithOutTime.getTime();
147,18 → 153,18
AbstractDao.getCurrentSession().beginTransaction().commit();
}*/
 
public List<Announcement> searchAnnouncements(String query, SearchTypeEnum searchTypeEnum, int maxAnnouncements, int page, List<String> roles, String subTarget) {
public List<Announcement> searchAnnouncements(String query, SearchTypeEnum searchTypeEnum, int maxAnnouncements, int page, List<String> roles, String subTarget,boolean internal) {
 
Criterion c = createSearchQuery(query, searchTypeEnum);
Criteria criteria = createMaxAnnouncementsPageRolesTypeCriteria(page, maxAnnouncements, roles, null, null);
Criteria criteria = createMaxAnnouncementsPageRolesTypeCriteria(page, maxAnnouncements, roles, null, null,internal);
criteria.add(c);
return criteria.list();
}
 
public int countAnnouncements(String query, SearchTypeEnum searchTypeEnum, List<String> roles, String subTarget) {
public int countAnnouncements(String query, SearchTypeEnum searchTypeEnum, List<String> roles, String subTarget,boolean internal) {
 
Criterion c = createSearchQuery(query, searchTypeEnum);
Criteria criteria = createRolesTypeCriteria(roles, null, null);
Criteria criteria = createRolesTypeCriteria(roles, null, null,internal);
criteria.add(c);
return criteria.list().size();
}
/impl/src/web/admin/profile/profile.jsp
45,7 → 45,7
<input type="button" value="<bean:message key="add"/>" onclick="set(this.form,'addRole');this.form.submit();">
</logic:present>
</html:select>
 
<logic:present name="ProfileForm" property="selectedRoles">
<logic:notEmpty name="ProfileForm" property="selectedRoles">
<ul>
110,17 → 110,13
</estgweb:isNotAdmin>
<estgweb:isAdmin>
<tr>
<estgweb:isAdmin>
<th><bean:message key="login.first.time.email.institucion2"/></th>
</estgweb:isAdmin>
<estgweb:isNotAdmin>
<th><bean:message key="login.first.time.email.institucion"/></th>
</estgweb:isNotAdmin>
<th><bean:message key="login.first.time.email.institucion2"/></th>
<td>
<html:text property="userView.email" maxlength="250"/>
</td>
</tr>
</estgweb:isAdmin>
 
<tr>
<th><bean:message key="login.first.time.email.secundary"/></th>
<td>