Exemple #1
0
 /**
  * @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;
 }
Exemple #2
0
 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();
Exemple #4
0
 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;
 }
Exemple #5
0
 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;
 }
Exemple #6
0
 /**
  * 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));
 }