public static function RenderQuoteStatusSettings() { if (!self::$QUOTE_STATUSES) { self::$QUOTE_STATUSES = CCrmStatus::GetStatus('QUOTE_STATUS'); } $result = array(); $isTresholdPassed = false; foreach (self::$QUOTE_STATUSES as &$status) { $info = array('id' => $status['STATUS_ID'], 'name' => $status['NAME'], 'sort' => intval($status['SORT'])); if ($status['STATUS_ID'] === 'APPROVED') { $isTresholdPassed = true; $info['semantics'] = 'success'; $info['hint'] = GetMessage('CRM_QUOTE_STATUS_MANAGER_APPROVED_STEP_HINT'); } elseif ($status['STATUS_ID'] === 'DECLAINED') { $info['semantics'] = 'failure'; } elseif (!$isTresholdPassed) { $info['semantics'] = 'process'; } else { $info['semantics'] = 'apology'; } $result[] = $info; } unset($status); $messages = array('dialogTitle' => GetMessage('CRM_QUOTE_STATUS_MANAGER_DLG_TTL'), 'failureTitle' => GetMessage('CRM_QUOTE_STATUS_MANAGER_FAILURE_TTL'), 'selectorTitle' => GetMessage('CRM_QUOTE_STATUS_MANAGER_SELECTOR_TTL')); return '<script type="text/javascript">' . 'BX.ready(function(){ if(typeof(BX.CrmQuoteStatusManager) === "undefined") return; BX.CrmQuoteStatusManager.infos = ' . CUtil::PhpToJSObject($result) . '; BX.CrmQuoteStatusManager.messages = ' . CUtil::PhpToJSObject($messages) . '; });' . '</script>'; }