Esempio n. 1
0
 public function process(Vtiger_Request $request)
 {
     $recordId = $request->get('record');
     $modules = $request->get('modules');
     $assignId = $request->get('assigned_user_id');
     $currentUser = Users_Record_Model::getCurrentUserModel();
     $entityValues = array();
     $entityValues['transferRelatedRecordsTo'] = $request->get('transferModule');
     //■権限なぜか、エラーになるので権限を固定するinouchi
     //$entityValues['assignedTo'] = vtws_getWebserviceEntityId(vtws_getOwnerType($assignId), $assignId);
     $entityValues['assignedTo'] = vtws_getWebserviceEntityId(vtws_getOwnerType(1), 1);
     $entityValues['leadId'] = vtws_getWebserviceEntityId($request->getModule(), $recordId);
     $recordModel = Vtiger_Record_Model::getInstanceById($recordId, $request->getModule());
     $convertLeadFields = $recordModel->getConvertLeadFields();
     $availableModules = array('Accounts', 'Contacts', 'Potentials');
     foreach ($availableModules as $module) {
         if (vtlib_isModuleActive($module) && in_array($module, $modules)) {
             $entityValues['entities'][$module]['create'] = true;
             $entityValues['entities'][$module]['name'] = $module;
             foreach ($convertLeadFields[$module] as $fieldModel) {
                 $fieldName = $fieldModel->getName();
                 $fieldValue = $request->get($fieldName);
                 //Potential Amount Field value converting into DB format
                 if ($fieldModel->getFieldDataType() === 'currency') {
                     $fieldValue = Vtiger_Currency_UIType::convertToDBFormat($fieldValue);
                 } elseif ($fieldModel->getFieldDataType() === 'date') {
                     $fieldValue = DateTimeField::convertToDBFormat($fieldValue);
                 } elseif ($fieldModel->getFieldDataType() === 'reference' && $fieldValue) {
                     $ids = vtws_getIdComponents($fieldValue);
                     if (count($ids) === 1) {
                         $fieldValue = vtws_getWebserviceEntityId(getSalesEntityType($fieldValue), $fieldValue);
                     }
                 }
                 $entityValues['entities'][$module][$fieldName] = $fieldValue;
             }
         }
     }
     try {
         $result = vtws_convertlead($entityValues, $currentUser);
     } catch (Exception $e) {
         $this->showError($request, $e);
         exit;
     }
     if (!empty($result['Accounts'])) {
         $accountIdComponents = vtws_getIdComponents($result['Accounts']);
         $accountId = $accountIdComponents[1];
     }
     if (!empty($result['Contacts'])) {
         $contactIdComponents = vtws_getIdComponents($result['Contacts']);
         $contactId = $contactIdComponents[1];
     }
     if (!empty($accountId)) {
         header("Location: index.php?view=Detail&module=Accounts&record={$accountId}");
     } elseif (!empty($contactId)) {
         header("Location: index.php?view=Detail&module=Contacts&record={$contactId}");
     } else {
         $this->showError($request);
         exit;
     }
 }
    $assigned_user_id = $_REQUEST["assigned_group_id"];
    $assignedTo = vtws_getWebserviceEntityId('Groups', $assigned_user_id);
}
$accountName = $_REQUEST['account_name'];
$createPotential = $_REQUEST["createpotential"];
$avoidPotential = isset($createPotential) && $createPotential == "on" ? true : false;
$potential = array();
$potential['potentialname'] = vtlib_purify($_REQUEST["potential_name"]);
$potential['closingdate'] = getValidDBInsertDateValue($_REQUEST["closedate"]);
$potential['amount'] = vtlib_purify($_REQUEST['potential_amount']);
$potential['sales_stage'] = vtlib_purify($_REQUEST['potential_sales_stage']);
$transferRelatedRecordsTo = $_REQUEST['transfer_related_records_to'];
if (empty($transferRelatedRecordsTo)) {
    $transferRelatedRecordsTo = 'Contacts';
}
$result = vtws_convertlead($leadId, $assignedTo, $accountName, $avoidPotential, $potential, $transferRelatedRecordsTo, $current_user);
$accountIdComponents = vtws_getIdComponents($result['accountId']);
$accountId = $accountIdComponents[1];
$contactIdComponents = vtws_getIdComponents($result['contactId']);
$contactId = $contactIdComponents[1];
$potentialIdComponents = vtws_getIdComponents($result['potentialId']);
$potentialId = $potentialIdComponents[1];
if (!empty($accountId)) {
    header("Location: index.php?action=DetailView&module=Accounts&record={$accountId}&parenttab={$category}");
} elseif (!empty($contactId)) {
    header("Location: index.php?action=DetailView&module=Contacts&record={$contactId}&parenttab={$category}");
} else {
    echo "<link rel='stylesheet' type='text/css' href='themes/{$theme}/style.css'>";
    echo "<table border='0' cellpadding='5' cellspacing='0' width='100%' height='450px'><tr><td align='center'>";
    echo "<div style='border: 3px solid rgb(153, 153, 153); background-color: rgb(255, 255, 255); width: 55%; position: relative; z-index: 10000000;'>\r\n\r\n\t\t<table border='0' cellpadding='5' cellspacing='0' width='98%'>\r\n\t\t<tbody><tr>\r\n\t\t<td rowspan='2' width='11%'><img src='" . vtiger_imageurl('denied.gif', $theme) . "' ></td>\r\n\t\t<td style='border-bottom: 1px solid rgb(204, 204, 204);' nowrap='nowrap' width='70%'><span class='genHeaderSmall'>{$currentModule} {$app_strings['CANNOT_CONVERT']}</span></td>\r\n\t\t</tr>\r\n\t\t<tr>\r\n\t\t<td class='small' align='right' nowrap='nowrap'>\t\t\t   \t\r\n\t\t<a href='javascript:window.history.back();'>{$app_strings['LBL_GO_BACK']}</a><br>\t\t\t\t\t\t\t\t   \t\t\t\t\t\t     </td>\r\n\t\t</tr>\r\n\t\t</tbody></table> \r\n\t\t</div>";
    echo "</td></tr></table>";
Esempio n. 3
0
 public function process(Vtiger_Request $request)
 {
     $recordId = $request->get('record');
     $modules = $request->get('modules');
     $assignId = $request->get('assigned_user_id');
     $currentUser = Users_Record_Model::getCurrentUserModel();
     $entityValues = array();
     $entityValues['transferRelatedRecordsTo'] = $request->get('transferModule');
     $entityValues['assignedTo'] = vtws_getWebserviceEntityId(vtws_getOwnerType($assignId), $assignId);
     $entityValues['leadId'] = vtws_getWebserviceEntityId($request->getModule(), $recordId);
     $createAlways = Vtiger_Processes_Model::getConfig('marketing', 'conversion', 'create_always');
     $recordModel = Vtiger_Record_Model::getInstanceById($recordId, $request->getModule());
     $convertLeadFields = $recordModel->getConvertLeadFields();
     $availableModules = array('Accounts', 'Contacts', 'Potentials');
     foreach ($availableModules as $module) {
         if (vtlib_isModuleActive($module) && in_array($module, $modules)) {
             $entityValues['entities'][$module]['create'] = true;
             $entityValues['entities'][$module]['name'] = $module;
             foreach ($convertLeadFields[$module] as $fieldModel) {
                 $fieldName = $fieldModel->getName();
                 $fieldValue = $request->get($fieldName);
                 //Potential Amount Field value converting into DB format
                 if ($fieldModel->getFieldDataType() === 'currency') {
                     $fieldValue = Vtiger_Currency_UIType::convertToDBFormat($fieldValue);
                 } elseif ($fieldModel->getFieldDataType() === 'date') {
                     $fieldValue = DateTimeField::convertToDBFormat($fieldValue);
                 } elseif ($fieldModel->getFieldDataType() === 'reference' && $fieldValue) {
                     $ids = vtws_getIdComponents($fieldValue);
                     if (count($ids) === 1) {
                         $fieldValue = vtws_getWebserviceEntityId(getSalesEntityType($fieldValue), $fieldValue);
                     }
                 }
                 $entityValues['entities'][$module][$fieldName] = $fieldValue;
             }
         }
     }
     try {
         $results = true;
         if ($createAlways === true || $createAlways === 'true') {
             $leadModel = Vtiger_Module_Model::getCleanInstance($request->getModule());
             $results = $leadModel->searchAccountsToConvert($recordModel);
             $entityValues['entities']['Accounts']['convert_to_id'] = $results;
         }
         if (!$results) {
             $message = vtranslate('LBL_TOO_MANY_ACCOUNTS_TO_CONVERT', $request->getModule(), '');
             if ($currentUser->isAdminUser()) {
                 $message = vtranslate('LBL_TOO_MANY_ACCOUNTS_TO_CONVERT', $request->getModule(), '<a href="index.php?module=MarketingProcesses&view=Index&parent=Settings"><span class="glyphicon glyphicon-folder-open"></span></a>');
             }
             $this->showError($request, '', $message);
             exit;
         }
     } catch (Exception $e) {
         $this->showError($request, $e);
         exit;
     }
     try {
         $result = vtws_convertlead($entityValues, $currentUser);
     } catch (Exception $e) {
         $this->showError($request, $e);
         exit;
     }
     if (!empty($result['Accounts'])) {
         $accountIdComponents = vtws_getIdComponents($result['Accounts']);
         $accountId = $accountIdComponents[1];
     }
     if (!empty($result['Contacts'])) {
         $contactIdComponents = vtws_getIdComponents($result['Contacts']);
         $contactId = $contactIdComponents[1];
     }
     if (!empty($accountId)) {
         ModTracker_Record_Model::addConvertToAccountRelation('Accounts', $accountId, $assignId);
         header("Location: index.php?view=Detail&module=Accounts&record={$accountId}");
     } elseif (!empty($contactId)) {
         header("Location: index.php?view=Detail&module=Contacts&record={$contactId}");
     } else {
         $this->showError($request);
         exit;
     }
 }
Esempio n. 4
0
        $entityValues['entities']['Potentials']['create'] = true;
        $entityValues['entities']['Potentials']['name'] = 'Potentials';
        $entityValues['entities']['Potentials']['potentialname'] = vtlib_purify($_REQUEST['potentialname']);
        $entityValues['entities']['Potentials']['closingdate'] = vtlib_purify($_REQUEST['closingdate']);
        $entityValues['entities']['Potentials']['sales_stage'] = vtlib_purify($_REQUEST['sales_stage']);
        $entityValues['entities']['Potentials']['amount'] = vtlib_purify($_REQUEST['amount']);
    }
    if (vtlib_isModuleActive('Contacts') && in_array('Contacts', $entities)) {
        $entityValues['entities']['Contacts']['create'] = true;
        $entityValues['entities']['Contacts']['name'] = 'Contacts';
        $entityValues['entities']['Contacts']['lastname'] = vtlib_purify($_REQUEST['lastname']);
        $entityValues['entities']['Contacts']['firstname'] = vtlib_purify($_REQUEST['firstname']);
        $entityValues['entities']['Contacts']['email'] = vtlib_purify($_REQUEST['email']);
    }
    try {
        $result = vtws_convertlead($entityValues, $current_user);
    } catch (Exception $e) {
        echo "<br><div style='margin:auto;text-align:center;font-weight:bold;'>" . $e->message . '</div><br>';
        showError($entityValues);
        die;
    }
    $accountIdComponents = vtws_getIdComponents($result['Accounts']);
    $accountId = $accountIdComponents[1];
    $contactIdComponents = vtws_getIdComponents($result['Contacts']);
    $contactId = $contactIdComponents[1];
    $potentialIdComponents = vtws_getIdComponents($result['Potentials']);
    $potentialId = $potentialIdComponents[1];
}
if (!empty($accountId)) {
    header("Location: index.php?action=DetailView&module=Accounts&record={$accountId}&parenttab={$category}");
} elseif (!empty($contactId)) {