Subversion Repositories bacoAlunos

Compare Revisions

Ignore whitespace Rev 418 → Rev 419

/impl/src/java/pt/estgp/estgweb/utils/Email.java
27,6 → 27,7
 
private String subject;
private List<String> recipients;
private Message.RecipientType type = Message.RecipientType.TO;
private String from;
private String emailTemplateName;
private List<String> arguments;
41,7 → 42,17
this.arguments = arguments;
}
 
public Email(String subject, List<String> recipients, String from, String mailTemplateName, List<String> arguments, Message.RecipientType type)
{
this.type = type;
this.subject = subject;
this.recipients = recipients;
this.from = from;
this.emailTemplateName = mailTemplateName;
this.arguments = arguments;
}
 
 
public String getSubject()
{
return subject;
90,4 → 101,15
System.out.println(validEmail("e@e.pt"));
System.out.println(validEmail("jmachado@estgp.pt"));
}
 
 
public Message.RecipientType getType()
{
return type;
}
 
public void setType(Message.RecipientType type)
{
this.type = type;
}
}
/impl/src/java/pt/estgp/estgweb/Globals.java
166,6 → 166,7
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 String COURSEUNIT_ASSIGNEMENT_TYPE_NO_FILE = "nofile";
 
public static final String PROFILE_SCHOLAR_DEGREE_SUPERIOR = "superior";
218,6 → 219,11
public static final String EMAIL_COURSEUNIT_ANNOUNCEMENT_TEMPLATE_PT = "courseUnitAnnouncement_pt.txt";
public static final String EMAIL_COURSEUNIT_ANNOUNCEMENT_TEMPLATE_EN = "courseUnitAnnouncement_en.txt";
 
public static final String EMAIL_COURSEUNIT_WORK_SUBJECT_PT = ConfigProperties.getProperty("email.courseunit.work.subject.pt");
public static final String EMAIL_COURSEUNIT_WORK_SUBJECT_EN = ConfigProperties.getProperty("email.courseunit.work.subject.en");
public static final String EMAIL_COURSEUNIT_WORK_TEMPLATE_PT = "courseUnitWork_pt.txt";
public static final String EMAIL_COURSEUNIT_WORK_TEMPLATE_EN = "courseUnitWork_en.txt";
 
public static final String EMAIL_COURSEUNIT_BLOGPOST_SUBJECT_PT = ConfigProperties.getProperty("email.courseunit.blogpost.subject.pt");
public static final String EMAIL_COURSEUNIT_BLOGPOST_SUBJECT_EN = ConfigProperties.getProperty("email.courseunit.blogpost.subject.en");
public static final String EMAIL_COURSEUNIT_BLOGPOST_TEMPLATE_PT = "courseUnitBlogPost_pt.txt";
/impl/src/java/pt/estgp/estgweb/services/courseunits/CourseUnitWorkService.java
6,12 → 6,18
import pt.estgp.estgweb.domain.views.CourseUnitDeliverableView;
import pt.estgp.estgweb.domain.views.BlogView;
import pt.estgp.estgweb.domain.*;
import pt.estgp.estgweb.domain.enums.LangEnum;
import pt.estgp.estgweb.domain.dao.DaoFactory;
import pt.estgp.estgweb.services.expceptions.ServiceException;
import pt.estgp.estgweb.services.data.RepositoryService;
import pt.estgp.estgweb.services.blogs.CreateBlogService;
import pt.estgp.estgweb.services.email.SendEmailService;
import pt.estgp.estgweb.services.email.EMAILJob;
import pt.estgp.estgweb.services.jobs.JobScheduleService;
import pt.estgp.estgweb.filters.chains.ResourceAccessControlEnum;
import pt.estgp.estgweb.filters.exceptions.AccessDeniedException;
import pt.estgp.estgweb.utils.Email;
import pt.estgp.estgweb.Globals;
import org.apache.log4j.Logger;
 
import java.util.List;
73,10 → 79,31
repositoryService.updateRepositoryFile(assignement.getRepositoryStream(), file, contentType, extension, size, name, "courseunit.assignement.file " + courseUnit.getName() + " of " + userSession.getUser().getUsername(), ResourceAccessControlEnum.courseunitDomain);
}
 
 
if(assignement.isStatus())
trySendWorkEmail(assignement,userSession);
return loadCourseUnitWorks(id,userSession);
}
 
private void trySendWorkEmail(CourseUnitAssignement assignement, UserSession userSession)
{
CourseUnit c = assignement.getCourseUnit();
List<User> users = new ArrayList<User>();
if(c.getStudents() != null)
users.addAll(c.getStudents());
if(c.getTeachers() != null)
users.addAll(c.getTeachers());
sendWorkEmail(assignement,c.getNormalizedName(), userSession, users);
}
 
SendEmailService sendEmailService = new SendEmailService();
 
private void sendWorkEmail(CourseUnitAssignement a, String desc, UserSession userSession, List<User> users)
{
Email e = sendEmailService.getCourseUnitWorkEmail(a, LangEnum.PORTUGUESE,userSession,users);
EMAILJob emailJob = new EMAILJob(e);
JobScheduleService.getInstance().scheduleNow(emailJob,"CourseUnit Assignement Email:" + desc,userSession);
}
 
public CourseUnitView loadCourseUnitWorks(long id, UserSession userSession) throws ServiceException
{
CourseUnitView cV = loadCourseUnitService.run(id,false,false,false,userSession);
/impl/src/java/pt/estgp/estgweb/services/email/SendEmailService.java
53,7 → 53,7
if(Email.validEmail(recipient))
{
valid=true;
message.addRecipient(Message.RecipientType.TO,new InternetAddress(recipient));
message.addRecipient(email.getType(),new InternetAddress(recipient));
}
}
if(valid)
152,10 → 152,15
{
if(Email.validEmail(u.getEmail()))
recipients.add(u.getEmail());
if(Email.validEmail(u.getOutEmail()))
recipients.add(u.getOutEmail());
}
 
String subject = java.text.MessageFormat.format(subjectTxt,new String[]{announcement.getCourseUnit().getNormalizedName(),announcement.getTitle()});
return new Email(subject ,recipients, Globals.SYSTEM_EMAIL_BOX,template,arguments);
String fromEmail = Globals.SYSTEM_EMAIL_BOX;
if(announcement.getOwner() != null && Email.validEmail(announcement.getOwner().getEmail()))
fromEmail = announcement.getOwner().getEmail();
return new Email(subject ,recipients,fromEmail,template,arguments,Message.RecipientType.BCC);
}
 
public Email getCourseUnitBlogPostEmail(BlogPost post, LangEnum langEnum, String from, List<User> users)
185,13 → 190,61
{
if(Email.validEmail(u.getEmail()))
recipients.add(u.getEmail());
if(Email.validEmail(u.getOutEmail()))
recipients.add(u.getOutEmail());
}
 
String subject = java.text.MessageFormat.format(subjectTxt,new String[]{((CourseUnitBlog)post.getBlog()).getCourseUnit().getNormalizedName(),post.getTitle()});
return new Email(subject ,recipients, Globals.SYSTEM_EMAIL_BOX,template,arguments);
String fromEmail = Globals.SYSTEM_EMAIL_BOX;
if(post.getOwner() != null && Email.validEmail(post.getOwner().getEmail()))
fromEmail = post.getOwner().getEmail();
return new Email(subject ,recipients, fromEmail, template,arguments,Message.RecipientType.BCC);
}
 
public Email getCourseUnitWorkEmail(CourseUnitAssignement assignement, LangEnum langEnum, UserSession userSession, List<User> users)
{
List<String> arguments = new ArrayList<String>();
arguments.add(assignement.getCourseUnit().getName());
arguments.add(assignement.getTitle());
arguments.add(assignement.getDescription());
if(userSession != null && userSession.getName() != null)
arguments.add(userSession.getName());
else
arguments.add("unknown");
 
String subjectTxt;
String template;
 
if(langEnum == LangEnum.PORTUGUESE)
{
template = Globals.EMAIL_COURSEUNIT_WORK_TEMPLATE_PT;
subjectTxt = Globals.EMAIL_COURSEUNIT_WORK_SUBJECT_PT;
}
else
{
template = Globals.EMAIL_COURSEUNIT_WORK_TEMPLATE_EN;
subjectTxt = Globals.EMAIL_COURSEUNIT_WORK_SUBJECT_EN;
}
 
List<String> recipients = new ArrayList<String>();
for(User u: users)
{
if(Email.validEmail(u.getEmail()))
recipients.add(u.getEmail());
if(Email.validEmail(u.getOutEmail()))
recipients.add(u.getOutEmail());
}
 
String subject = java.text.MessageFormat.format(subjectTxt,new String[]{assignement.getCourseUnit().getNormalizedName(),assignement.getTitle()});
 
String fromEmail = Globals.SYSTEM_EMAIL_BOX;
if(userSession!= null && userSession.getUser() != null && Email.validEmail(userSession.getUser().getEmail()))
fromEmail = userSession.getUser().getEmail();
return new Email(subject ,recipients,fromEmail,template,arguments,Message.RecipientType.BCC);
}
 
 
 
public Email getNewGradesEmail(List<String[]> grades, LangEnum langEnum, String studentEmail, String studentName)
{
List<String> arguments = new ArrayList<String>();
/impl/src/java/pt/estgp/estgweb/domain/dao/impl/CourseUnitAssignementDaoImpl.java
4,9 → 4,13
import org.hibernate.Query;
import pt.estgp.estgweb.domain.CourseUnitAssignement;
import pt.estgp.estgweb.domain.CourseUnitAssignementImpl;
import pt.estgp.estgweb.Globals;
 
import java.util.List;
import java.util.Date;
 
import jomm.dao.impl.AbstractDao;
 
/**
* @author Jorge Machado
* @date 28/Fev/2008
30,13 → 34,26
 
public List<CourseUnitAssignementImpl> loadActiveAssignements(long userID)
{
Date now = new Date();
Date dDaysBefore = new Date(now.getTime() - (Globals.COURSEUNIT_ASSIGNEMENT_NUMBER_DAYS_REMINDER_AFTER_EXPIRED * 24 * 60 * 60 * 1000 ));
return createCriteria()
.add(ge("deliverDate",dDaysBefore))
.createAlias("courseUnit","cu")
.createAlias("cu.students","cus")
.add(eq("status",true))
.add(eq("cus.id",userID)).list();
}
 
public static void main(String [] args)
{
 
AbstractDao.getCurrentSession().beginTransaction();
List<CourseUnitAssignementImpl> l = new CourseUnitAssignementDaoImpl().loadActiveAssignements(524);
for(CourseUnitAssignement a:l)
System.out.println(a.getTitle() + ":"+ a.getCourseUnit().getName());
AbstractDao.getCurrentSession().getTransaction().commit();
}
 
public List<CourseUnitAssignementImpl> loadDeliveredAssignements(long userID)
{
return createCriteria()
/impl/src/web/user/ftpclient/ftpclient.jsp
151,55 → 151,55
&nbsp;
 
<%
if (i.getName().endsWith("doc") || i.getName().endsWith("rtf"))
if (i.getName().toLowerCase().endsWith("doc") || i.getName().endsWith("rtf"))
{
%>
<img alt="<%=i.getCompleteUrl()%>" src="<%=request.getContextPath()%>/imgs/mime/doc.gif">
<%
}
else if (i.getName().endsWith("pdf"))
else if (i.getName().toLowerCase().endsWith("pdf"))
{
%>
<img alt="<%=i.getCompleteUrl()%>" src="<%=request.getContextPath()%>/imgs/mime/pdf.gif">
<%
}
else if (i.getName().endsWith("ppt"))
else if (i.getName().toLowerCase().endsWith("ppt"))
{
%>
<img alt="<%=i.getCompleteUrl()%>" src="<%=request.getContextPath()%>/imgs/mime/ppt.gif">
<%
}
else if (i.getName().endsWith("zip") || i.getName().endsWith(".gz") || i.getName().endsWith("tgz"))
else if (i.getName().toLowerCase().endsWith("zip") || i.getName().endsWith(".gz") || i.getName().endsWith("tgz"))
{
%>
<img alt="<%=i.getCompleteUrl()%>" src="<%=request.getContextPath()%>/imgs/mime/zip.gif">
<%
}
else if (i.getName().endsWith("rar"))
else if (i.getName().toLowerCase().endsWith("rar"))
{
%>
<img alt="<%=i.getCompleteUrl()%>" src="<%=request.getContextPath()%>/imgs/mime/rar.gif">
<%
}
else if (i.getName().endsWith("html") || i.getName().endsWith("htm"))
else if (i.getName().toLowerCase().endsWith("html") || i.getName().endsWith("htm"))
{
%>
<img alt="<%=i.getCompleteUrl()%>" src="<%=request.getContextPath()%>/imgs/mime/html.gif">
<%
}
else if (i.getName().endsWith("xls") || i.getName().endsWith("xlsx"))
else if (i.getName().toLowerCase().endsWith("xls") || i.getName().endsWith("xlsx"))
{
%>
<img alt="<%=i.getCompleteUrl()%>" src="<%=request.getContextPath()%>/imgs/mime/xls.gif">
<%
}
else if (i.getName().endsWith("txt"))
else if (i.getName().toLowerCase().endsWith("txt"))
{
%>
<img alt="<%=i.getCompleteUrl()%>" src="<%=request.getContextPath()%>/imgs/mime/txt.gif">
<%
}
else if (i.getName().endsWith("xml"))
else if (i.getName().toLowerCase().endsWith("xml"))
{
%>
<img alt="<%=i.getCompleteUrl()%>" src="<%=request.getContextPath()%>/imgs/mime/xml.gif">