Changes to email functionality.
This commit is contained in:
parent
d856912acf
commit
b8b05c03fc
5 changed files with 41 additions and 56 deletions
|
|
@ -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 "";
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
||||
|
|
|
|||
|
|
@ -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,28 +177,31 @@ 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()));
|
||||
}
|
||||
private void getContentDataBySelectedTemplate(){
|
||||
contentsTextbox.setValue( emailTemplateModel.getContentBySelectedTemplate( getSelectedEmailTemplateEnum().ordinal(), getSelectedLanguage().ordinal() ) );
|
||||
contentsTextbox.setValue( emailTemplateModel.getContentBySelectedTemplate(getSelectedEmailTemplateEnum().ordinal(), getSelectedLanguage().ordinal()) );
|
||||
}
|
||||
|
||||
private void getSubjectDataBySelectedLanguage(){
|
||||
subjectTextbox.setValue(emailTemplateModel.getSubjectBySelectedLanguage(getSelectedLanguage().ordinal(), getSelectedEmailTemplateEnum().ordinal()));
|
||||
}
|
||||
private void getSubjectDataBySelectedTemplate(){
|
||||
subjectTextbox.setValue( emailTemplateModel.getContentBySelectedTemplate( getSelectedEmailTemplateEnum().ordinal(), getSelectedLanguage().ordinal() ) );
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue