Beispiel #1
0
    $arParams['UID'] = 'mobile_crm_company_view';
}
$arResult['UID'] = $arParams['UID'];
$serviceURLTemplate = $arParams["SERVICE_URL_TEMPLATE"] ? $arParams["SERVICE_URL_TEMPLATE"] : '#SITE_DIR#bitrix/components/bitrix/mobile.crm.company.edit/ajax.php?site_id=#SITE#&sessid=#SID#';
$arResult['SERVICE_URL'] = CComponentEngine::makePathFromTemplate($serviceURLTemplate, array('SID' => bitrix_sessid()));
$arResult['PERMISSIONS'] = array('EDIT' => CCrmCompany::CheckUpdatePermission($entityID, $userPerms), 'DELETE' => CCrmCompany::CheckDeletePermission($entityID, $userPerms));
$dbFields = CCrmCompany::GetListEx(array(), array('ID' => $entityID));
$arFields = $dbFields->GetNext();
if (!$arFields) {
    ShowError(GetMessage('CRM_COMPANY_VIEW_NOT_FOUND', array('#ID#' => $arParams['ENTITY_ID'])));
    return;
}
$arResult['COMPANY_TYPE_LIST'] = CCrmStatus::GetStatusList('COMPANY_TYPE');
$arResult['EMPLOYEES_LIST'] = CCrmStatus::GetStatusList('EMPLOYEES');
$arResult['INDUSTRY_LIST'] = CCrmStatus::GetStatusList('INDUSTRY');
CCrmMobileHelper::PrepareCompanyItem($arFields, $arParams, array('COMPANY_TYPE' => $arResult['COMPANY_TYPE_LIST'], 'INDUSTRY' => $arResult['INDUSTRY_LIST'], 'EMPLOYEES_LIST' => $arResult['EMPLOYEES_LIST']));
$arFields['FM'] = array();
$dbMultiFields = CCrmFieldMulti::GetList(array('ID' => 'asc'), array('ENTITY_ID' => 'COMPANY', 'ELEMENT_ID' => $entityID));
if ($dbMultiFields) {
    while ($multiFields = $dbMultiFields->Fetch()) {
        $arFields['FM'][$multiFields['TYPE_ID']][] = array('VALUE' => $multiFields['VALUE'], 'VALUE_TYPE' => $multiFields['VALUE_TYPE']);
    }
}
$arResult['CALLTO'] = CCrmMobileHelper::PrepareCalltoParams(array('COMMUNICATION_LIST_URL_TEMPLATE' => $arParams['COMMUNICATION_LIST_URL_TEMPLATE'], 'ENTITY_TYPE_ID' => CCrmOwnerType::Company, 'ENTITY_ID' => $entityID, 'FM' => $arFields['FM']));
$arResult['MAILTO'] = CCrmMobileHelper::PrepareMailtoParams(array('COMMUNICATION_LIST_URL_TEMPLATE' => $arParams['COMMUNICATION_LIST_URL_TEMPLATE'], 'ENTITY_TYPE_ID' => CCrmOwnerType::Company, 'ENTITY_ID' => $entityID, 'FM' => $arFields['FM']));
$arFields['ACTITITY_QUANTITY'] = CAllCrmActivity::GetCount(array('BINDINGS' => array(array('OWNER_TYPE_ID' => CCrmOwnerType::Company, 'OWNER_ID' => $entityID))));
$arFields['ACTIVITY_LIST_URL'] = $arParams['ACTIVITY_LIST_URL_TEMPLATE'] !== '' ? CComponentEngine::MakePathFromTemplate($arParams['ACTIVITY_LIST_URL_TEMPLATE'], array('entity_type_id' => CCrmOwnerType::Company, 'entity_id' => $entityID)) : '';
$arFields['EVENT_LIST_URL'] = $arParams['EVENT_LIST_URL_TEMPLATE'] !== '' ? CComponentEngine::MakePathFromTemplate($arParams['EVENT_LIST_URL_TEMPLATE'], array('entity_type_id' => CCrmOwnerType::Company, 'entity_id' => $entityID)) : '';
$arFields['DEAL_QUANTITY'] = CAllCrmDeal::GetCount(array('COMPANY_ID' => $entityID));
$arFields['DEAL_LIST_URL'] = $arParams['DEAL_LIST_URL_TEMPLATE'] !== '' ? CComponentEngine::MakePathFromTemplate($arParams['DEAL_LIST_URL_TEMPLATE'], array('company_id' => $entityID)) : '';
$arFields['CONTACT_QUANTITY'] = CAllCrmContact::GetCount(array('COMPANY_ID' => $entityID));
Beispiel #2
0
         }
         if (isset($filter['TITLE'])) {
             $filter['%TITLE'] = $filter['TITLE'];
             unset($filter['TITLE']);
         }
     } else {
         $enableSearch = $arResult['ENABLE_SEARCH'] = false;
     }
 }
 $arResult['ENTITY_DATA'][CCrmOwnerType::CompanyName]['FILTER'] =& $filterFields;
 unset($filterFields);
 $dbRes = CCrmCompany::GetListEx($sort, $filter, false, $navParams, $select);
 $dbRes->NavStart($navParams['nPageSize'], false);
 $navigationData = array('PAGE_NAVNUM' => intval($dbRes->NavNum), 'PAGE_NUMBER' => intval($dbRes->NavPageNomer), 'PAGE_NAVCOUNT' => intval($dbRes->NavPageCount));
 while ($item = $dbRes->GetNext()) {
     CCrmMobileHelper::PrepareCompanyItem($item, $arParams);
     $arResult['ENTITY_DATA'][CCrmOwnerType::CompanyName]['ITEMS'][] = $item;
     unset($item);
 }
 $navigationData['PAGER_PARAM'] = "PAGEN_{$navigationData['PAGE_NAVNUM']}";
 $navigationData['PAGE_NEXT_NUMBER'] = $navigationData['PAGE_NUMBER'] + 1;
 if ($navigationData['PAGE_NEXT_NUMBER'] > $navigationData['PAGE_NAVCOUNT']) {
     $navigationData['NEXT_PAGE_URL'] = '';
 } else {
     $navigationData['NEXT_PAGE_URL'] = $APPLICATION->GetCurPageParam('AJAX_CALL=Y&PAGING=Y&FORMAT=json&entityTypes[]=' . strtolower(CCrmOwnerType::CompanyName) . '&SEARCH=' . ($enableSearch ? 'Y' : 'N') . '&' . $navigationData['PAGER_PARAM'] . '=' . $navigationData['PAGE_NEXT_NUMBER'], array('AJAX_CALL', 'PAGING', 'FORMAT', 'SEARCH', 'entityTypes', $navigationData['PAGER_PARAM']));
 }
 $navigationData['SEARCH_PAGE_URL'] = $APPLICATION->GetCurPageParam('AJAX_CALL=Y&SEARCH=Y&FORMAT=json&apply_filter=Y&save=Y&entityTypes[]=' . strtolower(CCrmOwnerType::CompanyName), array('AJAX_CALL', 'SEARCH', 'FORMAT', 'entityTypes', 'save', 'apply_filter', 'clear_filter'));
 $arResult['ENTITY_DATA'][CCrmOwnerType::CompanyName]['NAVIGATION'] =& $navigationData;
 unset($navigationData);
 $arResult['ENTITY_DATA'][CCrmOwnerType::CompanyName]['RELOAD_URL'] = $APPLICATION->GetCurPageParam('AJAX_CALL=Y&FORMAT=json&entityTypes[]=' . strtolower(CCrmOwnerType::CompanyName), array('AJAX_CALL', 'SEARCH', 'FORMAT', 'entityTypes', 'save'));
 if ($arParams['ENABLE_CREATION']) {
Beispiel #3
0
$arResult['ITEMS'] = array();
$dbRes = CCrmCompany::GetListEx($sort, $filter, false, $navParams, $select);
$dbRes->NavStart($navParams['nPageSize'], false);
$arResult['PAGE_NAVNUM'] = intval($dbRes->NavNum);
// pager index
$arResult['PAGE_NUMBER'] = intval($dbRes->NavPageNomer);
// current page index
$arResult['PAGE_NAVCOUNT'] = intval($dbRes->NavPageCount);
// page count
$arResult['PAGER_PARAM'] = "PAGEN_{$arResult['PAGE_NAVNUM']}";
$arResult['PAGE_NEXT_NUMBER'] = $arResult['PAGE_NUMBER'] + 1;
$arResult['COMPANY_TYPE_LIST'] = CCrmStatus::GetStatusList('COMPANY_TYPE');
//$arResult['EMPLOYEES_LIST'] = CCrmStatus::GetStatusList('EMPLOYEES');
$arResult['INDUSTRY_LIST'] = CCrmStatus::GetStatusList('INDUSTRY');
while ($item = $dbRes->GetNext()) {
    CCrmMobileHelper::PrepareCompanyItem($item, $arParams, array('COMPANY_TYPE' => $arResult['COMPANY_TYPE_LIST'], 'INDUSTRY' => $arResult['INDUSTRY_LIST']));
    $arResult['ITEMS'][] =& $item;
    unset($item);
}
if ($arResult['PAGE_NEXT_NUMBER'] > $arResult['PAGE_NAVCOUNT']) {
    $arResult['NEXT_PAGE_URL'] = '';
} else {
    $arResult['NEXT_PAGE_URL'] = $APPLICATION->GetCurPageParam('AJAX_CALL=Y&PAGING=Y&FORMAT=json&SEARCH=' . ($enableSearch ? 'Y' : 'N') . '&' . $arResult['PAGER_PARAM'] . '=' . $arResult['PAGE_NEXT_NUMBER'], array('AJAX_CALL', 'PAGING', 'FORMAT', 'SEARCH', $arResult['PAGER_PARAM']));
}
$arResult['SEARCH_PAGE_URL'] = $APPLICATION->GetCurPageParam('AJAX_CALL=Y&SEARCH=Y&FORMAT=json&apply_filter=Y&save=Y', array('AJAX_CALL', 'SEARCH', 'FORMAT', 'save', 'apply_filter', 'clear_filter'));
$arResult['SERVICE_URL'] = SITE_DIR . 'bitrix/components/bitrix/mobile.crm.company.list/ajax.php?siteID=' . SITE_ID . '&' . bitrix_sessid_get();
$arResult['PERMISSIONS'] = array('CREATE' => CCrmCompany::CheckCreatePermission());
$arResult['CREATE_URL'] = $arParams['COMPANY_EDIT_URL_TEMPLATE'] !== '' ? CComponentEngine::MakePathFromTemplate($arParams['COMPANY_EDIT_URL_TEMPLATE'], array('company_id' => 0)) : '';
$arResult['RELOAD_URL'] = $APPLICATION->GetCurPageParam('AJAX_CALL=Y&FORMAT=json', array('AJAX_CALL', 'SEARCH', 'FORMAT', 'save', 'apply_filter', 'clear_filter'));
$format = isset($_REQUEST['FORMAT']) ? strtolower($_REQUEST['FORMAT']) : '';
// Only JSON format is supported
Beispiel #4
0
    if ($successed) {
        //$DB->Commit();
        __CrmMobileCompanyEditEndResonse(array('DELETED_ENTITY_ID' => $ID));
    } else {
        //$DB->Rollback();
        __CrmMobileCompanyEditEndResonse(array('ERROR' => GetMessage('CRM_COMPANY_COULD_NOT_DELETE')));
    }
} elseif ($action === 'GET_ENTITY') {
    __IncludeLang(dirname(__FILE__) . '/lang/' . LANGUAGE_ID . '/' . basename(__FILE__));
    $typeName = isset($_REQUEST['ENTITY_TYPE_NAME']) ? $_REQUEST['ENTITY_TYPE_NAME'] : '';
    if ($typeName !== 'COMPANY') {
        __CrmMobileCompanyEditEndResonse(array('ERROR' => GetMessage('CRM_ENTITY_TYPE_NOT_SUPPORTED', array('#ENTITY_TYPE#' => $typeName))));
    }
    $ID = isset($_REQUEST['ENTITY_ID']) ? intval($_REQUEST['ENTITY_ID']) : 0;
    if ($ID <= 0) {
        __CrmMobileCompanyEditEndResonse(array('ERROR' => GetMessage('CRM_ENTITY_ID_NOT_FOUND')));
    }
    if (!CCrmCompany::CheckReadPermission($ID)) {
        __CrmMobileCompanyEditEndResonse(array('ERROR' => GetMessage('CRM_ACCESS_DENIED')));
    }
    $dbRes = CCrmCompany::GetListEx(array(), array('=ID' => $ID, 'CHECK_PERMISSIONS' => 'N'));
    $item = $dbRes ? $dbRes->GetNext() : null;
    if (!is_array($item)) {
        __CrmMobileCompanyEditEndResonse(array('ERROR' => GetMessage('CRM_COMPANY_NOT_FOUND', array('#ID#' => $ID))));
    }
    $formatParams = isset($_REQUEST['FORMAT_PARAMS']) ? $_REQUEST['FORMAT_PARAMS'] : array();
    CCrmMobileHelper::PrepareCompanyItem($item, $formatParams);
    __CrmMobileCompanyEditEndResonse(array('ENTITY' => CCrmMobileHelper::PrepareCompanyData($item)));
} else {
    __CrmMobileCompanyEditEndResonse(array('ERROR' => 'Action is not supported in current context.'));
}