Add Auto Event creation to importation folder
This commit is contained in:
@@ -31,6 +31,8 @@ import com.axelor.apps.crm.service.CalendarService;
|
||||
import com.axelor.apps.crm.service.EventService;
|
||||
import com.axelor.apps.crm.service.LeadService;
|
||||
import com.axelor.apps.message.db.EmailAddress;
|
||||
import com.axelor.apps.purchase.db.ImportationFolder;
|
||||
import com.axelor.apps.purchase.db.repo.ImportationFolderRepository;
|
||||
import com.axelor.apps.tool.date.DateTool;
|
||||
import com.axelor.apps.tool.date.DurationTool;
|
||||
import com.axelor.auth.AuthUtils;
|
||||
@@ -44,21 +46,30 @@ import com.axelor.inject.Beans;
|
||||
import com.axelor.rpc.ActionRequest;
|
||||
import com.axelor.rpc.ActionResponse;
|
||||
import com.google.common.base.Joiner;
|
||||
import com.google.inject.Inject;
|
||||
import com.google.inject.Singleton;
|
||||
import com.google.inject.persist.Transactional;
|
||||
import java.lang.invoke.MethodHandles;
|
||||
import java.time.DayOfWeek;
|
||||
import java.time.Duration;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.apache.commons.math3.ode.events.EventState;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
@Singleton
|
||||
public class EventController {
|
||||
|
||||
@Inject ImportationFolderRepository importationFolderRepository;
|
||||
|
||||
|
||||
private static final Logger LOG = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
|
||||
|
||||
public void computeFromStartDateTime(ActionRequest request, ActionResponse response) {
|
||||
@@ -535,4 +546,24 @@ public class EventController {
|
||||
TraceBackService.trace(response, e);
|
||||
}
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public void setImportationFolderEvent(ActionRequest request, ActionResponse response) {
|
||||
Event event = new Event();
|
||||
|
||||
final ArrayList<String> importationSequences = new ArrayList(Arrays.asList("PREPARATION","ENTAME","VALIDATION COA/FICHE TECHNIQUE","LOGISTIQUE","TRANSIT","DEDOUANEMENT","RECEPTION"));
|
||||
|
||||
ImportationFolder importationFolder = Beans.get(ImportationFolderRepository.class).find(request.getContext().asType(ImportationFolder.class).getId());
|
||||
event.setSubject(importationSequences.get(Integer.parseInt(request.getContext().get("statusSelect").toString())));
|
||||
event.setStatusSelect(1);
|
||||
event.setStartDateTime(LocalDateTime.now());
|
||||
event.setEndDateTime(LocalDateTime.now().plusDays(10));
|
||||
event.setUser(AuthUtils.getUser());
|
||||
Beans.get(EventRepository.class).save(event);
|
||||
Beans.get(EventRepository.class).flush();
|
||||
importationFolder.addEvent(event);
|
||||
Beans.get(ImportationFolderRepository.class).save(importationFolder);
|
||||
response.setReload(true);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<domain-models xmlns="http://axelor.com/xml/ns/domain-models"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://axelor.com/xml/ns/domain-models http://axelor.com/xml/ns/domain-models/domain-models_5.2.xsd">
|
||||
|
||||
<module name="purchase" package="com.axelor.apps.purchase.db"/>
|
||||
|
||||
<entity name="ImportationFolder" lang="java">
|
||||
|
||||
<one-to-many name="events" ref="com.axelor.apps.crm.db.Event" />
|
||||
|
||||
</entity>
|
||||
</domain-models>
|
||||
Reference in New Issue
Block a user