use of com.axelor.apps.crm.db.Lead in project axelor-open-suite by axelor.
the class ConvertLeadWizardController method setDefaults.
public void setDefaults(ActionRequest request, ActionResponse response) throws AxelorException {
Lead lead = findLead(request);
response.setAttr("$partner.$primaryAddress", "value", lead.getPrimaryAddress());
response.setAttr("$partner.$primaryCity", "value", lead.getPrimaryCity());
response.setAttr("$partner.$primaryState", "value", lead.getPrimaryState());
response.setAttr("$partner.$primaryPostalCode", "value", lead.getPrimaryPostalCode());
response.setAttr("$partner.$primaryCountry", "value", lead.getPrimaryCountry());
response.setAttr("$contactAddress", "value", lead.getPrimaryAddress());
response.setAttr("$contactCity", "value", lead.getPrimaryCity());
response.setAttr("$contactState", "value", lead.getPrimaryState());
response.setAttr("$contactPostalCode", "value", lead.getPrimaryPostalCode());
response.setAttr("$contactCountry", "value", lead.getPrimaryCountry());
response.setAttr("$leadToPartnerSelect", "value", 1);
response.setAttr("$leadToContactSelect", "value", 1);
}
use of com.axelor.apps.crm.db.Lead in project axelor-open-suite by axelor.
the class ConvertLeadWizardController method setConvertLeadIntoOpportunity.
public void setConvertLeadIntoOpportunity(ActionRequest request, ActionResponse response) throws AxelorException {
Lead lead = findLead(request);
AppBase appBase = Beans.get(AppBaseService.class).getAppBase();
response.setAttr("lead", "value", lead);
response.setAttr("amount", "value", lead.getEstimatedBudget());
response.setAttr("customerDescription", "value", lead.getDescription());
response.setAttr("source", "value", lead.getSource());
response.setAttr("partner", "value", lead.getPartner());
response.setAttr("user", "value", lead.getUser());
response.setAttr("team", "value", lead.getTeam());
response.setAttr("webSite", "value", lead.getWebSite());
response.setAttr("source", "value", lead.getSource());
response.setAttr("department", "value", lead.getDepartment());
response.setAttr("isCustomer", "value", true);
response.setAttr("partnerTypeSelect", "value", "1");
response.setAttr("language", "value", appBase.getDefaultPartnerLanguage());
Company company = null;
CompanyRepository companyRepo = Beans.get(CompanyRepository.class);
if (lead.getUser() != null && lead.getUser().getActiveCompany() != null) {
company = lead.getUser().getActiveCompany();
} else if (companyRepo.all().count() == 1) {
company = companyRepo.all().fetchOne();
}
if (company != null) {
response.setAttr("company", "value", company);
response.setAttr("currency", "value", company.getCurrency());
}
}
use of com.axelor.apps.crm.db.Lead in project axelor-open-suite by axelor.
the class ConvertLeadWizardController method setPartnerDefaults.
public void setPartnerDefaults(ActionRequest request, ActionResponse response) throws AxelorException {
Lead lead = findLead(request);
AppBase appBase = Beans.get(AppBaseService.class).getAppBase();
response.setAttr("name", "value", lead.getEnterpriseName());
response.setAttr("industrySector", "value", lead.getIndustrySector());
response.setAttr("titleSelect", "value", lead.getTitleSelect());
response.setAttr("emailAddress", "value", lead.getEmailAddress());
response.setAttr("mobilePhone", "value", lead.getMobilePhone());
response.setAttr("fixedPhone", "value", lead.getFixedPhone());
response.setAttr("webSite", "value", lead.getWebSite());
response.setAttr("source", "value", lead.getSource());
response.setAttr("department", "value", lead.getDepartment());
response.setAttr("team", "value", lead.getTeam());
response.setAttr("user", "value", lead.getUser());
if (lead.getUser() != null) {
if (lead.getUser().getActiveCompany().getDefaultPartnerCategorySelect() == CompanyRepository.CATEGORY_CUSTOMER) {
response.setAttr("isCustomer", "value", true);
} else if (lead.getUser().getActiveCompany().getDefaultPartnerCategorySelect() == CompanyRepository.CATEGORY_SUPPLIER) {
response.setAttr("isSupplier", "value", true);
} else {
response.setAttr("isProspect", "value", true);
}
} else {
response.setAttr("isProspect", "value", true);
}
response.setAttr("partnerTypeSelect", "value", "1");
response.setAttr("language", "value", appBase.getDefaultPartnerLanguage());
response.setAttr("nbrEmployees", "value", 0);
}
use of com.axelor.apps.crm.db.Lead in project axelor-open-suite by axelor.
the class ConvertLeadWizardController method convertLead.
@SuppressWarnings("unchecked")
public void convertLead(ActionRequest request, ActionResponse response) {
try {
Context context = request.getContext();
Map<String, Object> leadContext = (Map<String, Object>) context.get("_lead");
Lead lead = Beans.get(LeadRepository.class).find(((Integer) leadContext.get("id")).longValue());
Partner partner = createPartnerData(context);
Partner contactPartner = null;
if (partner != null) {
contactPartner = createContactData(context, partner);
}
try {
lead = Beans.get(LeadService.class).convertLead(lead, partner, contactPartner);
} catch (Exception e) {
TraceBackService.trace(e);
}
if (lead.getPartner() == null) {
throw new AxelorException(TraceBackRepository.CATEGORY_INCONSISTENCY, I18n.get(IExceptionMessage.CONVERT_LEAD_ERROR));
}
openPartner(response, lead);
} catch (Exception e) {
TraceBackService.trace(response, e);
}
}
use of com.axelor.apps.crm.db.Lead in project axelor-open-suite by axelor.
the class ConvertLeadWizardController method setContactDefaults.
public void setContactDefaults(ActionRequest request, ActionResponse response) throws AxelorException {
Lead lead = findLead(request);
response.setAttr("firstName", "value", lead.getFirstName());
response.setAttr("name", "value", lead.getName());
response.setAttr("titleSelect", "value", lead.getTitleSelect());
response.setAttr("emailAddress", "value", lead.getEmailAddress());
response.setAttr("mobilePhone", "value", lead.getMobilePhone());
response.setAttr("fixedPhone", "value", lead.getFixedPhone());
response.setAttr("user", "value", lead.getUser());
response.setAttr("team", "value", lead.getTeam());
response.setAttr("jobTitleFunction", "value", lead.getJobTitleFunction());
}
Aggregations