/**
* Axelor Business Solutions
*
* Copyright (C) 2016 Axelor (<http://axelor.com>).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License, version 3,
* as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.axelor.apps.hr.service;
import com.axelor.apps.message.db.Message;
import com.axelor.apps.message.db.Template;
import com.axelor.apps.message.service.MessageService;
import com.axelor.apps.message.service.TemplateMessageService;
import com.axelor.exception.AxelorException;
import com.axelor.exception.service.TraceBackService;
import com.google.inject.Inject;
public class MailManagementService {
protected MessageService messageService;
protected TemplateMessageService templateMessageService;
@Inject
public MailManagementService(MessageService messageService, TemplateMessageService templateMessageService){
this.messageService = messageService;
this.templateMessageService = templateMessageService;
}
public boolean sendEmail(Template template,long objectId) throws AxelorException{
if(template!=null){
sendEmailTemplate(template,objectId);
return true;
}
return false;
}
public void sendEmailTemplate(Template template,long objectId){
String model = template.getMetaModel().getFullName();
String tag = template.getMetaModel().getName();
Message message = new Message();
try{
message = templateMessageService.generateMessage(objectId, model, tag, template);
message = messageService.sendByEmail(message);
}
catch(Exception e){
TraceBackService.trace(new Exception(e));
}
}
}