Changes to email functionality.

This commit is contained in:
Vova Perebykivskiy 2015-12-07 15:08:53 +02:00 committed by Dgray16
parent d856912acf
commit b8b05c03fc
5 changed files with 41 additions and 56 deletions

View file

@ -40,33 +40,6 @@ public class EmailTemplateDAO extends GenericDAOHibernate<EmailTemplate, Long> i
return list(EmailTemplate.class);
}
@Override
public String initializeContent() {
try{
List<EmailTemplate> emailTemplates = list(EmailTemplate.class);
for ( int i = 0; i < emailTemplates.size(); i++)
// language.ordinal.equals(3) - English
if ( emailTemplates.get(i).getType().ordinal() == 0 && emailTemplates.get(i).getLanguage().ordinal() == 3)
return emailTemplates.get(i).getContent();
}catch (Exception e){}
return " ";
}
@Override
public String initializeSubject() {
try{
List<EmailTemplate> emailTemplates = list(EmailTemplate.class);
for ( int i = 0; i < emailTemplates.size(); i++)
// language.ordinal.equals(3) - English
if ( emailTemplates.get(i).getType().ordinal() == 0 && emailTemplates.get(i).getLanguage().ordinal() == 3 )
return emailTemplates.get(i).getSubject();
}catch (Exception e){}
return " ";
}
@Override
public String getContentBySelectedLanguage(int languageOrdinal, int emailTemplateTypeOrdinal) {
for (int i = 0; i < list(EmailTemplate.class).size(); i++)
@ -102,5 +75,4 @@ public class EmailTemplateDAO extends GenericDAOHibernate<EmailTemplate, Long> i
return list(EmailTemplate.class).get(i).getSubject();
return "";
}
}

View file

@ -36,9 +36,6 @@ public interface IEmailTemplateDAO extends IGenericDAO<EmailTemplate, Long>{
List<EmailTemplate> getAll();
String initializeContent();
String initializeSubject();
String getContentBySelectedLanguage(int languageOrdinal, int emailTemplateTypeOrdinal);
String getContentBySelectedTemplate(int emailTemplateTypeOrdinal, int languageOrdinal);

View file

@ -24,9 +24,14 @@ import org.libreplan.business.common.exceptions.ValidationException;
import org.libreplan.business.settings.entities.Language;
import org.libreplan.business.email.entities.EmailTemplateEnum;
import org.libreplan.business.users.daos.IUserDAO;
import org.libreplan.business.users.entities.User;
import org.libreplan.web.common.IMessagesForUser;
import org.libreplan.web.common.Level;
import org.libreplan.web.common.MessagesForUser;
import org.libreplan.web.security.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.zkoss.zk.ui.Component;
@ -52,8 +57,12 @@ import static org.libreplan.web.I18nHelper._;
*/
public class EmailTemplateController extends GenericForwardComposer{
private IEmailTemplateModel emailTemplateModel;
@Autowired
private IUserDAO userDAO;
private User user;
private IEmailTemplateModel emailTemplateModel;
private IMessagesForUser messages;
@ -79,8 +88,14 @@ public class EmailTemplateController extends GenericForwardComposer{
super.doAfterCompose(comp);
comp.setVariable("emailTemplateController", this, true);
messages = new MessagesForUser(messagesContainer);
contentsTextbox.setValue(getInitialContentData());
subjectTextbox.setValue(getInitialSubjectData());
// Set default template and language for user
// And content and subject for it
setUser();
setSelectedLanguage(user.getApplicationLanguage());
getContentDataBySelectedLanguage();
getSubjectDataBySelectedLanguage();
}
public boolean save(){
@ -162,16 +177,10 @@ public class EmailTemplateController extends GenericForwardComposer{
public void setSelectedContent(){
emailTemplateModel.setContent(contentsTextbox.getValue());
}
public String getInitialContentData(){
return emailTemplateModel.initializeContent();
}
public void setSelectedSubject(){
emailTemplateModel.setSubject(subjectTextbox.getValue());
}
public String getInitialSubjectData(){
return emailTemplateModel.initializeSubject();
}
private void getContentDataBySelectedLanguage(){
contentsTextbox.setValue(emailTemplateModel.getContentBySelectedLanguage(getSelectedLanguage().ordinal(), getSelectedEmailTemplateEnum().ordinal()));
@ -186,4 +195,13 @@ public class EmailTemplateController extends GenericForwardComposer{
private void getSubjectDataBySelectedTemplate(){
subjectTextbox.setValue( emailTemplateModel.getContentBySelectedTemplate(getSelectedEmailTemplateEnum().ordinal(), getSelectedLanguage().ordinal()) );
}
@Transactional
private void setUser(){
try {
user = userDAO.findByLoginName(SecurityUtils.getSessionUserLoginName());
} catch (InstanceNotFoundException e) {
throw new RuntimeException(e);
}
}
}

View file

@ -24,7 +24,10 @@ import org.libreplan.business.settings.entities.Language;
import org.libreplan.business.email.daos.IEmailTemplateDAO;
import org.libreplan.business.email.entities.EmailTemplate;
import org.libreplan.business.email.entities.EmailTemplateEnum;
import org.libreplan.business.users.daos.IUserDAO;
import org.libreplan.business.users.entities.User;
import org.libreplan.web.common.concurrentdetection.OnConcurrentModification;
import org.libreplan.web.security.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.config.BeanDefinition;
import org.springframework.context.annotation.Scope;
@ -48,6 +51,9 @@ public class EmailTemplateModel implements IEmailTemplateModel {
@Autowired
private IEmailTemplateDAO emailTemplateDAO;
@Autowired
private IUserDAO userDAO;
private Language language = Language.ENGLISH_LANGUAGE;
private EmailTemplateEnum emailTemplateEnum = EmailTemplateEnum.TEMPLATE_TASK_ASSIGNED_TO_RESOURCE;
@ -56,6 +62,8 @@ public class EmailTemplateModel implements IEmailTemplateModel {
private String subject;
private User user;
private EmailTemplate emailTemplate = new EmailTemplate();
@Override
@ -103,11 +111,14 @@ public class EmailTemplateModel implements IEmailTemplateModel {
}
@Override
@Transactional
public Language getLanguage() {
return this.emailTemplate.getLanguage();
}
@Override
public void setLanguage(Language language){ this.emailTemplate.setLanguage(language);}
public void setLanguage(Language language){
this.emailTemplate.setLanguage(language);
}
@Override
public EmailTemplateEnum getEmailTemplateEnum() {
@ -136,16 +147,6 @@ public class EmailTemplateModel implements IEmailTemplateModel {
this.emailTemplate.setSubject(subject);
}
@Override
@Transactional
public String initializeContent() {
return emailTemplateDAO.initializeContent();
}
@Override
@Transactional
public String initializeSubject() { return emailTemplateDAO.initializeSubject(); }
@Override
@Transactional
public String getContentBySelectedLanguage(int languageOrdinal, int emailTemplateTypeOrdinal) {

View file

@ -40,9 +40,6 @@ public interface IEmailTemplateModel {
List<EmailTemplate> getAll();
String initializeContent();
String initializeSubject();
String getContentBySelectedLanguage(int languageOrdinal, int emailTemplateTypeOrdinal);
String getContentBySelectedTemplate(int emailTemplateTypeOrdinal, int languageOrdinal);