needlogin=true; $me = new User(); $me->loadMe(); $this->me = $me; $this->layout()->set("me",$me); if(!$me->is(["Admin"])) { $this->redirect("Dashboard"); } } protected function indexAction() { $groups = ContractconfigGroupModel::search([]); $this->layout()->set("configgroups", $groups); } protected function addGroupAction() { $groupname = ucfirst(trim($this->request->name)); if(!$groupname) { $this->layout()->setFlash("Gruppenname darf nicht leer sein!", "error"); $this->redirect("Contractconfig"); } $group = ContractconfigGroupModel::getFirst(["name" => $groupname]); if($group) { $this->layout()->setFlash("Gruppe gibs scho", "warn"); $this->redirect("Contractconfig"); } $group = ContractconfigGroupModel::create(["name" => $groupname]); $group_id = $group->save(); if(!$group_id) { $this->layout()->setFlash("Fehler beim Speichern", "error"); $this->redirect("Contractconfig"); } $this->layout()->setFlash("Gruppe $groupname erfolgreich angelegt", "success"); $this->redirect("Contractconfig"); } protected function saveAction() { $r = $this->request; $item_id = $r->item_id; if(is_numeric($item_id) && $item_id > 0) { $mode = "edit"; $item = new ContractconfigItem($item_id); if(!$item->id) { $this->layout()->setFlash("Element nicht gefunden", "error"); $this->redirect("Contractconfig"); } } else { $mode = "add"; } $item_data['contractconfiggroup_id'] = $r->group_id; $item_data['name'] = $r->name; $item_data['displayname'] = $r->displayname; $item_data['description'] = $r->description; $item_data['typedata'] = ""; $item_data['pattern'] = ""; switch($r->type) { case "string": $item_data['type'] = "string"; $item_data['pattern'] = $r->pattern; break; case "enum": $item_data['type'] = "enum"; $item_data['typedata'] = $r->data; break; case "int": $item_data['type'] = "int"; break; case "decimal": $item_data['type'] = "decimal"; break; default: $this->layout()->setFlash("Ungültiger Datentyp!"); $this->redirect("Contractconfig"); } if($mode == "edit") { $item->update($item_data); } else { $item = ContractconfigItemModel::create($item_data); } //var_dump($item);exit; $item_id = $item->save(); if(!$item_id) { $this->layout()->setFlash("Fehler beim Speichern!"); $this->redirect("Contractconfig"); } $this->layout()->setFlash("Element erfolgreich gespeichert", "success"); $this->redirect("Contractconfig"); //$this->redirect("Contractconfig","Index","","item=$item_id"); } }