/** * Edit or create a rule * * @param md5 $edit_id */ function edit_action($id = null) { //get data $user_field = 'user'; $semdata_field = 'usersemdata'; $this->semFields = AuxLockRules::getSemFields(); $this->entries_user = DataField::getDataFields($user_field); $this->entries_semdata = DataField::getDataFields($semdata_field); $this->rule = is_null($id) ? false : AuxLockRules::getLockRuleByID($id); if ($GLOBALS['perm']->have_perm('root') && count($this->entries_semdata) == 0) { $this->flash['info'] = sprintf(_('Sie müssen zuerst im Bereich %sDatenfelder%s in der Kategorie ' . '<i>Datenfelder für Personenzusatzangaben in Veranstaltungen</i> einen neuen Eintrag erstellen.'), '<a href="' . URLHelper::getLink('dispatch.php/admin/datafields') . '">', '</a>'); } // save action if (Request::submitted('erstellen') || Request::submitted('uebernehmen')) { //checking for errors $errors = array(); if (!Request::get('rulename')) { array_push($errors, _("Bitte geben Sie der Regel mindestens einen Namen!")); } if (!AuxLockRules::checkLockRule(Request::getArray('fields'))) { array_push($errors, _('Bitte wählen Sie mindestens ein Feld aus der Kategorie "Zusatzinformationen" aus!')); } if (!empty($errors)) { $this->flash['error'] = _("Ihre Eingaben sind ungültig."); $this->flash['error_detail'] = $errors; // save } else { //new if (is_null($id)) { AuxLockRules::createLockRule(Request::get('rulename'), Request::get('description'), Request::getArray('fields'), Request::getArray('order')); //edit } else { AuxLockRules::updateLockRule($id, Request::get('rulename'), Request::get('description'), Request::getArray('fields'), Request::getArray('order')); } $this->flash['success'] = sprintf(_('Die Regel "%s" wurde erfolgreich gespeichert!'), htmlReady(Request::get('rulename'))); $this->redirect('admin/specification'); } } }