/** * @return string * @throws AppException */ public static function getLn() { if (!self::$ln) { self::$ln = self::$params[self::DEFAULT_LN]; } if (!self::$ln) { throw new AppException('No language or default language set'); } return self::$ln; }
public function getRelatedModelConfigurationInParentModel($modelConfig = NULL, $parentModelName = false) { if (!$modelConfig) { $fullEntity = get_called_class(); $reflection = new \ReflectionClass($fullEntity); $entity = $reflection->getShortName(); $modelConfig = AdminHelper::modelExists($entity); } if ($parentModelName) { $parentModelConfig = AdminHelper::modelExists($parentModelName); if (!$parentModelConfig) { throw new \Exception("Parent model doesn't exist."); } $parentModel = $parentModelConfig->name; } else { $sideTableData = $this->getSideTableParentModelData(); $parentModel = $sideTableData['parentModelConfig']->name; $parentModelConfig = $sideTableData['parentModelConfig']; } /** @var BaseModel $parentModel */ $parentModel = ModelConfig::fullEntityName($parentModel); $relatedModelConfiguration = (new $parentModel())->relatedModelConfiguration($modelConfig->name, $parentModelConfig); return array('direction' => $relatedModelConfiguration->direction, 'positionProperty' => $relatedModelConfiguration->positionProperty, 'position' => $relatedModelConfiguration->position, 'hidePositionControls' => $relatedModelConfiguration->hidePositionControls, 'parentModelName' => $parentModelConfig->name); }
if ($field->selectType->type == 'model') { if ($field->selectType->ajax && config('gtcms.premium')) { $options['data-searchfields'] = $field->selectType->ajax->searchFields; $options['data-model'] = $field->selectType->modelName; $options['data-value'] = "id"; $options['data-text'] = $field->selectType->ajax->valueProperty; $options['class'] .= " ajax "; $method = $field->selectType->method; $valueProperty = $field->selectType->ajax->valueProperty; $list = $object->{$method}()->pluck($valueProperty, 'id'); } else { if ($field->selectType->callMethodOnInstance) { $list = $object->{$listMethod}(); } else { $selectModel = $field->selectType->modelName; $fullModel = ModelConfig::fullEntityName($selectModel); $list = $fullModel::$listMethod(); } } } else { throw new \Exception("Error: selectType['type'] must be 'model'"); } if (!is_array($list)) { if (is_object($list)) { $reflection = new ReflectionClass($list); if ($reflection->getShortName() == "Collection") { /** @var \Illuminate\Support\Collection $list */ $list = $list->toArray(); } } else { $list = array();
public function getPropertyValue($property, $value) { $returnValue = "Undefined"; $list = array(); foreach ($this->formFields as $field) { if ($field->property == $property) { if (in_array($field->type, array('select', 'multiSelect'))) { $listMethod = $field->selectType->listMethod; if ($field->selectType->type == 'model') { $selectModel = ModelConfig::fullEntityName($field->selectType->modelName); if ($field->selectType->callMethodOnInstance) { $list = array(); /** @var BaseModel $modelName */ $modelName = ModelConfig::fullEntityName($field->selectType->modelName); $idField = $field->selectType->callMethodOnInstance->id; $valueField = $field->selectType->callMethodOnInstance->value; $object = $modelName::where($idField, $value)->first(); if ($object) { $list[$value] = $object->{$valueField}; } } else { //id is passed to the list method so automatic Search can work $list = $selectModel::$listMethod('id'); } } else { if ($field->selectType->type == 'list') { $entity = ModelConfig::fullEntityName($this->name); $list = $entity::$listMethod(); } } foreach ($list as $actualValue => $frontValue) { if ($actualValue == $value) { $returnValue = $frontValue; break; } } } else { if ($field->type == 'checkbox') { $returnValue = $value ? Front::drawCheckboxIcon(true) : Front::drawCheckboxIcon(false); } else { $returnValue = $value; } } return $returnValue; break; } } return $returnValue; }
public static function firstParamIsParent(ModelConfig $modelConfig, $returnParentIdValue = false) { if ($modelConfig->getModelParents() || $modelConfig->parent) { $parentIdProperties = AdminHelper::objectToArray($modelConfig->getModelParents()); if (!$parentIdProperties) { $parentIdProperties = array($modelConfig->parent->property); } if (!empty($_GET)) { foreach ($_GET as $parentIdProperty => $id) { if (in_array($parentIdProperty, $parentIdProperties) && is_numeric($id)) { if ($returnParentIdValue) { return $id; } return $parentIdProperty; } // Break after first iteration because first $_GET must be the parent break; } } } return false; }
/** * The POST method for setting a user's rows per page * * @param ModelConfig $config * * @return JSON */ public function action_rows_per_page($config) { //get the inputted rows and the model rows $rows = (int) Input::get('rows', 20); $config->setRowsPerPage($rows); return Response::JSON(array('success' => true)); }