public function getModelParents() { if (!is_null($this->gtcmsModelParents)) { return $this->gtcmsModelParents; } $parents = array(); foreach (\AdminHelper::modelConfigs() as $modelConfig) { if ($modelConfig->name != $this->name && $modelConfig->relatedModels) { foreach ($modelConfig->relatedModels as $relatedModel) { if ($relatedModel->name == $this->name) { $parents[] = $modelConfig->id; } } } } $this->gtcmsModelParents = $parents; return $parents; }
public static function input($modelConfig) { $input = \Request::all(); if (is_array($input) && !empty($input)) { $formFields = array(); foreach ($modelConfig->formFields as $field) { $formFields[$field->property] = $field; } $userRole = \Auth::user()->role; foreach ($input as $property => &$value) { //set parent IDs to NULL if no value was selected from dropdown foreach (AdminHelper::modelConfigs() as $currentModelConfig) { if (!is_array($property) && $property == $currentModelConfig->id && !$value) { $value = NULL; } } if ($modelConfig) { if (isset($formFields[$property])) { $field = $formFields[$property]; //unset property if user isn't allowed to edit it if ($field->restrictedAccess && !$field->restrictedAccess->{$userRole}) { unset($input[$property]); } else { //format DateTime / Date if (in_array($field->type, array('date', 'dateTime'))) { if (Tools::validateDate($value)) { if ($field->type == "date") { $value = date("Y-m-d", strtotime($value)); } else { if ($field->type == "dateTime") { $value = date("Y-m-d H:i:s", strtotime($value)); } else { $value = ""; } } } else { $value = ""; } } //set null when empty if ($field->setNullWhenEmpty && !$value && $value !== 0 && $value !== "0") { $value = null; } } } } } } if ($modelConfig->name == "User" && isset($input['is_superadmin']) && !\Auth::user()->is_superadmin) { $input['is_superadmin'] = 0; } return $input; }