<?php if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) { die; } global $APPLICATION; $APPLICATION->AddHeadString('<script type="text/javascript" src="' . CUtil::GetAdditionalFileURL(SITE_TEMPLATE_PATH . '/crm_mobile.js') . '"></script>', true, \Bitrix\Main\Page\AssetLocation::AFTER_JS_KERNEL); $APPLICATION->SetPageProperty('BodyClass', 'crm-page'); $UID = $arResult['UID']; $mode = $arResult['MODE']; $prefix = htmlspecialcharsbx($UID); $entityID = $arResult['ENTITY_ID']; $entity = $arResult['ENTITY']; $dataItem = CCrmMobileHelper::PrepareDealData($entity); $formTitle = GetMessage("M_CRM_DEAL_EDIT_{$mode}_TITLE"); echo CCrmViewHelper::RenderDealStageSettings(); ?> <div class="crm_toppanel"> <div class="crm_filter"> <span class="crm_deals_icon"></span> <?php echo htmlspecialcharsbx($formTitle); ?> </div> </div> <div id="<?php echo htmlspecialcharsbx($UID); ?> " class="crm_wrapper"> <div class="crm_block_container"> <div class="crm_block_title fln" style="padding-bottom: 0;">
$stageID = isset($data['STAGE_ID']) ? $data['STAGE_ID'] : ''; if ($stageID === '') { __CrmMobileDealEditEndResonse(array('ERROR' => GetMessage('CRM_DEAL_STAGE_NOT_FOUND'))); } //$DB->StartTransaction(); $fields = array('STAGE_ID' => $stageID); $entity = new CCrmDeal(false); $successed = $entity->Update($ID, $fields, true, true, array()); if ($successed) { //$DB->Commit(); $errors = array(); CCrmBizProcHelper::AutoStartWorkflows(CCrmOwnerType::Deal, $ID, CCrmBizProcEventType::Edit, $errors); $dbRes = CCrmDeal::GetListEx(array(), array('=ID' => $ID, 'CHECK_PERMISSIONS' => 'N')); $currentItem = $dbRes->GetNext(); $formatParams = isset($_REQUEST['FORMAT_PARAMS']) ? $_REQUEST['FORMAT_PARAMS'] : array(); CCrmMobileHelper::PrepareDealItem($currentItem, $formatParams); __CrmMobileDealEditEndResonse(array('SAVED_ENTITY_ID' => $ID, 'SAVED_ENTITY_DATA' => CCrmMobileHelper::PrepareDealData($currentItem))); } else { //$DB->Rollback(); __CrmMobileDealEditEndResonse(array('ERROR' => $fields['RESULT_MESSAGE'])); } } elseif ($action === 'CONVERT_MONEY') { __IncludeLang(dirname(__FILE__) . '/lang/' . LANGUAGE_ID . '/' . basename(__FILE__)); $srcCurrencyID = isset($_REQUEST['SRC_CURRENCY_ID']) ? $_REQUEST['SRC_CURRENCY_ID'] : CCrmCurrency::GetBaseCurrencyID(); $dstCurrencyID = isset($_REQUEST['DST_CURRENCY_ID']) ? $_REQUEST['DST_CURRENCY_ID'] : CCrmCurrency::GetBaseCurrencyID(); $srcSum = isset($_REQUEST['SUM']) ? doubleval($_REQUEST['SUM']) : 0.0; $dstSum = CCrmCurrency::ConvertMoney($srcSum, $srcCurrencyID, $dstCurrencyID); __CrmMobileDealEditEndResonse(array('SUM' => $dstSum, 'CURRENCY_ID' => $dstCurrencyID, 'CURRENCY_NAME' => CCrmCurrency::GetCurrencyName($dstCurrencyID), 'FORMATTED_SUM' => CCrmCurrency::MoneyToString($dstSum, $dstCurrencyID))); } else { __CrmMobileDealEditEndResonse(array('ERROR' => 'Action is not supported in current context.')); }
/* * ONLY 'POST' METHOD SUPPORTED * SUPPORTED ACTIONS: * 'GET_BY_ID' - get deal by ID */ global $DB, $APPLICATION; CUtil::JSPostUnescape(); $GLOBALS['APPLICATION']->RestartBuffer(); Header('Content-Type: application/x-javascript; charset=' . LANG_CHARSET); $CCrmDeal = new CCrmDeal(); if ($CCrmDeal->cPerms->HavePerm('DEAL', BX_CRM_PERM_NONE, 'READ')) { echo CUtil::PhpToJSObject(array('ERROR' => 'Access denied!')); die; } $action = isset($_POST['ACTION']) ? $_POST['ACTION'] : ''; if (strlen($action) == 0) { echo CUtil::PhpToJSObject(array('ERROR' => 'Invalid data!')); die; } if ($action == 'GET_ENTITY') { $ID = isset($_POST['ENTITY_ID']) ? intval($_POST['ENTITY_ID']) : 0; if ($ID <= 0) { echo CUtil::PhpToJSObject(array('ERROR' => 'Invalid parameters!')); die; } $dbFields = CCrmDeal::GetListEx(array(), array('ID' => $ID)); $item = $obFields->GetNext(); $formatParams = isset($_POST['FORMAT_PARAMS']) ? $_POST['FORMAT_PARAMS'] : array(); CCrmMobileHelper::PrepareDealItem($item, $formatParams); echo CUtil::PhpToJSObject(array('DATA' => array('ENTITY' => CCrmMobileHelper::PrepareDealData($item)))); }