Application->isDebugMode() ) { $config = $this->getUnitConfig(); $grids = $config->getGrids(Array ()); foreach ($grids as $grid_name => $grid_data) { if ( array_key_exists('Enabled', $grid_data['Fields']) ) { unset($grids[$grid_name]['Fields']['Enabled']); } } $config->setGrids($grids); } } /** * Checks, that field can be edited * * @param Array $params * @return string */ function IsEditable($params) { if ($this->Application->isDebugMode()) { return true; } /** @var kDBItem $object */ $object = $this->getObject($params); return $object->GetDBField($params['check_field']); } /** * To recipient read-only * * @param Array $params * @return string * @access protected */ protected function ToRecipientReadOnly($params) { return !$this->IsEditable(Array ('check_field' => 'AllowChangingRecipient')); } /** * Removes "To" options from possible options in "RecipientType" field * * @param Array $params */ function RemoveToRecipientType($params) { /** @var kDBItem $object */ $object = $this->getObject($params); $field_options = $object->GetFieldOptions('RecipientType'); unset($field_options['options'][ EmailTemplate::RECIPIENT_TYPE_TO ]); $object->SetFieldOptions('RecipientType', $field_options); } /** * Restores "To" option in possible option list in "RecipientType" field * * @param Array $params */ function RestoreRecipientType($params) { /** @var kDBItem $object */ $object = $this->getObject($params); $field_options = $object->GetFieldOptions('RecipientType'); $virtual_field_options = $this->getUnitConfig()->getVirtualFieldByName('RecipientType'); $field_options['options'] = $virtual_field_options['options']; $object->SetFieldOptions('RecipientType', $field_options); } /** * Determine if primary translation should be shown * * @param Array $params * @return string * @access protected */ protected function ShowSourceLanguage($params) { if ( $this->IsNewItem($params) ) { return false; } $object = $this->getObject($params); /* @var $object kDBItem */ $ml_helper = $this->Application->recallObject('kMultiLanguageHelper'); /* @var $ml_helper kMultiLanguageHelper */ return !$ml_helper->editingInSourceLanguage($object->GetDBField('TranslateFromLanguage')); } /** * Shows field label with %s replaced with source translation language * * @param Array $params * @return string * @access protected */ protected function SourceLanguageTitle($params) { $object = $this->getObject($params); /* @var $object kDBItem */ $ml_helper = $this->Application->recallObject('kMultiLanguageHelper'); /* @var $ml_helper kMultiLanguageHelper */ return $ml_helper->replaceSourceLanguage($object, $params['label']); } }