Beispiel #1
0
$arResult['ITEMS'] = array();
$dbRes = CCrmActivity::GetList($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;
while ($item = $dbRes->Fetch()) {
    $itemID = intval($item['ID']);
    $ownerID = intval($item['OWNER_ID']);
    $ownerTypeID = intval($item['OWNER_TYPE_ID']);
    CCrmMobileHelper::PrepareActivityItem($item, $arParams, array('ENABLE_COMMUNICATIONS' => false));
    $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&' . $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.activity.list/ajax.php?siteID=' . SITE_ID . '&' . bitrix_sessid_get();
$arResult['IS_FILTERED'] = !empty($filter);
$arResult['CREATE_CALL_URL'] = $arParams['ACTIVITY_CREATE_URL_TEMPLATE'] !== '' ? CComponentEngine::makePathFromTemplate($arParams['ACTIVITY_CREATE_URL_TEMPLATE'], array('owner_type' => $entityTypeName, 'owner_id' => $entityID, 'type_id' => CCrmActivityType::Call)) : '';
$arResult['CREATE_MEETING_URL'] = $arParams['ACTIVITY_CREATE_URL_TEMPLATE'] !== '' ? CComponentEngine::makePathFromTemplate($arParams['ACTIVITY_CREATE_URL_TEMPLATE'], array('owner_type' => $entityTypeName, 'owner_id' => $entityID, 'type_id' => CCrmActivityType::Meeting)) : '';
$arResult['CREATE_EMAIL_URL'] = $arParams['ACTIVITY_CREATE_URL_TEMPLATE'] !== '' ? CComponentEngine::makePathFromTemplate($arParams['ACTIVITY_CREATE_URL_TEMPLATE'], array('owner_type' => $entityTypeName, 'owner_id' => $entityID, 'type_id' => CCrmActivityType::Email)) : '';
$arResult['RELOAD_URL'] = $APPLICATION->GetCurPageParam('AJAX_CALL=Y&FORMAT=json', array('AJAX_CALL', 'SEARCH', 'FORMAT', 'save', 'apply_filter', 'clear_filter'));
Beispiel #2
0
                        }
                        if (empty($comms) && $companyID > 0 && CCrmActivity::CheckUpdatePermission(CCrmOwnerType::Company, $companyID, $userPerms)) {
                            $commValue = CCrmActivity::GetDefaultCommunicationValue(CCrmOwnerType::Company, $companyID, $commType);
                            if ($commValue !== '') {
                                $comms[] = array('TYPE' => $commType, 'VALUE' => $commValue, 'ENTITY_TYPE_ID' => CCrmOwnerType::Company, 'ENTITY_ID' => $companyID, 'ENTITY_SETTINGS' => array('COMPANY_TITLE' => isset($deal['COMPANY_TITLE']) ? $deal['COMPANY_TITLE'] : ''));
                            }
                        }
                    }
                }
                $arFields['COMMUNICATIONS'] =& $comms;
                unset($comms);
            }
        }
    }
}
CCrmMobileHelper::PrepareActivityItem($arFields, $arParams, array('ENABLE_COMMUNICATIONS' => true, 'ENABLE_FILES' => true));
//Trim seconds
$arFields['START_TIME'] = CCrmComponentHelper::TrimDateTimeString(FormatDate('FULL', $arFields['START_TIME_STAMP']));
$arFields['END_TIME'] = CCrmComponentHelper::TrimDateTimeString(FormatDate('FULL', $arFields['END_TIME_STAMP']));
$arResult['ENTITY'] = $arFields;
unset($arFields);
if ($typeID === CCrmActivityType::Call || $typeID === CCrmActivityType::Meeting) {
    $arResult['NOTIFY_TYPES'] = CCrmActivityNotifyType::PrepareListItems();
} elseif ($typeID === CCrmActivityType::Email) {
    $arResult['CRM_EMAIL'] = CCrmMailHelper::ExtractEmail(COption::GetOptionString('crm', 'mail', ''));
    $lastEmailAddresser = CUserOptions::GetOption('crm', 'activity_email_addresser', '');
    if ($lastEmailAddresser === '') {
        $arResult['USER_LAST_USED_NAME'] = '';
        $arResult['USER_LAST_USED_EMAIL'] = '';
    } else {
        $info = CCrmMailHelper::ParseEmail($lastEmailAddresser);
Beispiel #3
0
    $data = isset($_REQUEST['ENTITY_DATA']) && is_array($_REQUEST['ENTITY_DATA']) ? $_REQUEST['ENTITY_DATA'] : array();
    if (count($data) == 0) {
        __CrmMobileActivityEditEndResonse(array('ERROR' => GetMessage('CRM_ENTITY_DATA_NOT_FOUND')));
    }
    $ID = isset($data['ID']) ? intval($data['ID']) : 0;
    if ($ID <= 0) {
        __CrmMobileActivityEditEndResonse(array('ERROR' => GetMessage('CRM_ENTITY_ID_NOT_FOUND')));
    }
    $dbItem = CCrmActivity::GetList(array(), array('=ID' => $ID), false, false, array('OWNER_TYPE_ID', 'OWNER_ID'));
    $item = $dbItem->Fetch();
    if (!is_array($item)) {
        __CrmMobileActivityEditEndResonse(array('ERROR' => GetMessage('CRM_ACTIVITY_NOT_FOUND', array('#ID#' => $ID))));
    }
    $ownerTypeID = isset($item['OWNER_TYPE_ID']) ? intval($item['OWNER_TYPE_ID']) : 0;
    $ownerID = isset($item['OWNER_ID']) ? intval($item['OWNER_ID']) : 0;
    if (!CCrmActivity::CheckUpdatePermission($ownerTypeID, $ownerID)) {
        __CrmMobileActivityEditEndResonse(array('ERROR' => 'Access denied.'));
    }
    $completed = (isset($data['COMPLETED']) ? intval($data['COMPLETED']) : 0) > 0;
    if (CCrmActivity::Complete($ID, $completed, array('REGISTER_SONET_EVENT' => true))) {
        $dbRes = CCrmActivity::GetList(array(), array('=ID' => $ID, 'CHECK_PERMISSIONS' => 'N'));
        $currentItem = $dbRes->Fetch();
        $formatParams = isset($_REQUEST['FORMAT_PARAMS']) ? $_REQUEST['FORMAT_PARAMS'] : array();
        CCrmMobileHelper::PrepareActivityItem($currentItem, $formatParams, array('ENABLE_COMMUNICATIONS' => true));
        __CrmMobileActivityEditEndResonse(array('SAVED_ENTITY_ID' => $ID, 'SAVED_ENTITY_DATA' => CCrmMobileHelper::PrepareActivityData($currentItem)));
    } else {
        __CrmMobileActivityEditEndResonse(array('ERROR' => CCrmActivity::GetLastErrorMessage()));
    }
} else {
    __CrmMobileActivityEditEndResonse(array('ERROR' => 'Action is not supported in current context.'));
}
Beispiel #4
0
if (!$arFields) {
    ShowError(GetMessage('CRM_ACTIVITY_VIEW_NOT_FOUND', array('#ID#' => $arParams['ENTITY_ID'])));
    return;
}
$ownerTypeID = intval($arFields['OWNER_TYPE_ID']);
$ownerID = intval($arFields['OWNER_ID']);
if (!CCrmActivity::CheckReadPermission($ownerTypeID, $ownerID, $userPerms)) {
    ShowError(GetMessage('CRM_PERMISSION_DENIED'));
    return;
}
$typeID = isset($arFields['TYPE_ID']) ? intval($arFields['TYPE_ID']) : CCrmActivityType::Undefined;
//Permissions -->
$canChange = CCrmActivity::CheckUpdatePermission($ownerTypeID, $ownerID, $userPerms);
$arResult['PERMISSIONS'] = array('EDIT' => $canChange && $typeID !== CCrmActivityType::Email, 'DELETE' => $canChange);
//<-- Permissions
CCrmMobileHelper::PrepareActivityItem($arFields, $arParams);
//COMMUNICATION
$arFields['CLIENT_TITLE'] = '';
$arFields['CLIENT_SHOW_URL'] = '';
$arFields['CLIENT_IMAGE_URL'] = '';
$arFields['CLIENT_LEGEND'] = '';
$arFields['CLIENT_COMPANY_TITLE'] = '';
$arFields['CLIENT_COMPANY_SHOW_URL'] = '';
$arFields['CLIENT_COMMUNICATION_VALUE'] = '';
$comm = is_array($arFields['COMMUNICATIONS']) && isset($arFields['COMMUNICATIONS'][0]) ? $arFields['COMMUNICATIONS'][0] : null;
if ($comm) {
    $arFields['CLIENT_COMMUNICATION_VALUE'] = isset($comm['VALUE']) ? $comm['VALUE'] : '';
    $commOwnerTypeID = isset($comm['ENTITY_TYPE_ID']) ? intval($comm['ENTITY_TYPE_ID']) : 0;
    $commOwnerID = isset($comm['ENTITY_ID']) ? intval($comm['ENTITY_ID']) : 0;
    if ($commOwnerTypeID === CCrmOwnerType::Company) {
        $dbRes = CCrmCompany::GetListEx(array(), array('=ID' => $commOwnerID), false, false, array('TITLE', 'LOGO'));