Search in sources :

Example 21 with Lead

use of com.axelor.apps.crm.db.Lead in project axelor-open-suite by axelor.

the class ConvertLeadWizardController method findLead.

protected Lead findLead(ActionRequest request) throws AxelorException {
    Context context = request.getContext();
    Lead lead = null;
    if (context.getParent() != null && context.getParent().get("_model").equals("com.axelor.apps.base.db.Wizard")) {
        context = context.getParent();
    }
    Map leadMap = (Map) context.get("_lead");
    if (leadMap != null && leadMap.get("id") != null) {
        lead = Beans.get(LeadRepository.class).find(Long.parseLong(leadMap.get("id").toString()));
    }
    if (lead == null) {
        throw new AxelorException(TraceBackRepository.CATEGORY_NO_VALUE, I18n.get(IExceptionMessage.CONVERT_LEAD_MISSING));
    }
    return lead;
}
Also used : Context(com.axelor.rpc.Context) AxelorException(com.axelor.exception.AxelorException) Lead(com.axelor.apps.crm.db.Lead) Map(java.util.Map)

Example 22 with Lead

use of com.axelor.apps.crm.db.Lead in project axelor-open-suite by axelor.

the class EventController method assignToMeLead.

@SuppressWarnings("rawtypes")
public void assignToMeLead(ActionRequest request, ActionResponse response) {
    LeadService leadService = Beans.get(LeadService.class);
    LeadRepository leadRepo = Beans.get(LeadRepository.class);
    if (request.getContext().get("id") != null) {
        Lead lead = leadRepo.find((Long) request.getContext().get("id"));
        lead.setUser(AuthUtils.getUser());
        if (lead.getStatusSelect() == LeadRepository.LEAD_STATUS_NEW)
            lead.setStatusSelect(LeadRepository.LEAD_STATUS_ASSIGNED);
        leadService.saveLead(lead);
    } else if (((List) request.getContext().get("_ids")) != null) {
        for (Lead lead : leadRepo.all().filter("id in ?1", request.getContext().get("_ids")).fetch()) {
            lead.setUser(AuthUtils.getUser());
            if (lead.getStatusSelect() == LeadRepository.LEAD_STATUS_NEW)
                lead.setStatusSelect(LeadRepository.LEAD_STATUS_ASSIGNED);
            leadService.saveLead(lead);
        }
    }
    response.setReload(true);
}
Also used : LeadRepository(com.axelor.apps.crm.db.repo.LeadRepository) LeadService(com.axelor.apps.crm.service.LeadService) Lead(com.axelor.apps.crm.db.Lead)

Example 23 with Lead

use of com.axelor.apps.crm.db.Lead in project axelor-open-suite by axelor.

the class CampaignServiceImpl method addParticipatingTargets.

@Override
@Transactional
public void addParticipatingTargets(Campaign campaign, Campaign campaignContext) {
    for (Partner partner : campaignContext.getInvitedPartnerSet()) {
        if (partner.isSelected()) {
            campaign.addPartner(partner);
            campaign.removeInvitedPartnerSetItem(partner);
        }
    }
    for (Lead lead : campaignContext.getInvitedLeadSet()) {
        if (lead.isSelected()) {
            campaign.addLead(lead);
            campaign.removeInvitedLeadSetItem(lead);
        }
    }
    Beans.get(CampaignRepository.class).save(campaign);
}
Also used : Lead(com.axelor.apps.crm.db.Lead) CampaignRepository(com.axelor.apps.marketing.db.repo.CampaignRepository) Partner(com.axelor.apps.base.db.Partner) Transactional(com.google.inject.persist.Transactional)

Example 24 with Lead

use of com.axelor.apps.crm.db.Lead in project axelor-open-suite by axelor.

the class CampaignServiceImpl method inviteSelectedTargets.

@Override
@Transactional
public void inviteSelectedTargets(Campaign campaign, Campaign campaignContext) {
    Set<Partner> partners = campaign.getPartners();
    Set<Partner> notParticipatingPartnerSet = campaign.getNotParticipatingPartnerSet();
    for (Partner partner : campaignContext.getPartnerSet()) {
        if (partner.isSelected() && !partners.contains(partner) && !notParticipatingPartnerSet.contains(partner)) {
            campaign.addInvitedPartnerSetItem(partner);
        }
    }
    Set<Lead> leads = campaign.getLeads();
    Set<Lead> notParticipatingLeadSet = campaign.getNotParticipatingLeadSet();
    for (Lead lead : campaignContext.getLeadSet()) {
        if (lead.isSelected() && !leads.contains(lead) && !notParticipatingLeadSet.contains(lead)) {
            campaign.addInvitedLeadSetItem(lead);
        }
    }
    Beans.get(CampaignRepository.class).save(campaign);
}
Also used : Lead(com.axelor.apps.crm.db.Lead) CampaignRepository(com.axelor.apps.marketing.db.repo.CampaignRepository) Partner(com.axelor.apps.base.db.Partner) Transactional(com.google.inject.persist.Transactional)

Aggregations

Lead (com.axelor.apps.crm.db.Lead)24 Partner (com.axelor.apps.base.db.Partner)7 Transactional (com.google.inject.persist.Transactional)6 LeadService (com.axelor.apps.crm.service.LeadService)4 CampaignRepository (com.axelor.apps.marketing.db.repo.CampaignRepository)4 AxelorException (com.axelor.exception.AxelorException)4 LeadRepository (com.axelor.apps.crm.db.repo.LeadRepository)3 Map (java.util.Map)3 Address (com.axelor.apps.base.db.Address)2 AppBase (com.axelor.apps.base.db.AppBase)2 AppBaseService (com.axelor.apps.base.service.app.AppBaseService)2 EmailAddress (com.axelor.apps.message.db.EmailAddress)2 Context (com.axelor.rpc.Context)2 Company (com.axelor.apps.base.db.Company)1 Country (com.axelor.apps.base.db.Country)1 CompanyRepository (com.axelor.apps.base.db.repo.CompanyRepository)1 MapService (com.axelor.apps.base.service.MapService)1 PartnerService (com.axelor.apps.base.service.PartnerService)1 Event (com.axelor.apps.crm.db.Event)1 Campaign (com.axelor.apps.marketing.db.Campaign)1