/** * @param string $veranstaltungsreihe_id * @param string $veranstaltung_id */ public function actionAdmin($veranstaltungsreihe_id = "", $veranstaltung_id) { $this->loadVeranstaltung($veranstaltungsreihe_id, $veranstaltung_id); if (!$this->veranstaltung->isAdminCurUser()) { $this->redirect($this->createUrl("/veranstaltung/login", array("back" => yii::app()->getRequest()->requestUri))); } $model = new Texte('search'); $model->unsetAttributes(); if (isset($_GET['Texte'])) { $model->setAttributes($_GET['Texte']); } $model->veranstaltung_id = $this->veranstaltung->id; $model->veranstaltung = $this->veranstaltung; $this->render('admin', array('model' => $model)); }
/** * @param string $id * @return Standardtext */ public function getStandardtext($id) { $vtext = Texte::model()->findByAttributes(array("text_id" => $id, "veranstaltung_id" => $this->id)); /** @var Texte|null $vtext */ if (is_null($vtext)) { $edit_link = array("admin/texte/create", array("key" => $id, "veranstaltung_id" => $this->url_verzeichnis)); $vtext = Texte::model()->findByAttributes(array("text_id" => $id, "veranstaltung_id" => null)); $is_fallback = true; } else { $edit_link = array("admin/texte/update", array("id" => $vtext->id, "veranstaltung_id" => $this->url_verzeichnis)); $is_fallback = false; } $text = is_null($vtext) ? "" : $vtext->text; if (!$this->isAdminCurUser()) { $edit_link = null; } $html = in_array($id, Veranstaltung::getHTMLStandardtextIDs()); return new Standardtext($id, $text, $html, $edit_link, $is_fallback); }
<?php /* @var $this TexteController */ /* @var $model Texte */ /* @var $dataProvider CActiveDataProvider */ $this->breadcrumbs = array(Yii::t('app', 'Administration') => $this->createUrl('/admin/index'), Texte::label(2)); $this->menu = array(array('label' => Texte::label() . ' ' . Yii::t('app', 'Create'), 'url' => array('create'), "icon" => "plus-sign"), array('label' => Texte::label(2) . ' ' . Yii::t('app', 'Manage'), 'url' => array('admin'), "icon" => "th-list")); ?> <h1><?php echo GxHtml::encode(Texte::label(2)); ?> </h1> <br> <strong>Hinweis:</strong> Diese Texte sind nicht für die eigentlichen Anträge / Wahlprogramme gedacht.<br> <strong><?php echo CHtml::link("Hier kannst du einen Antrag anlegen.", $this->createUrl("/antrag/neu/")); ?> </strong> <br><br> <?php $this->widget('zii.widgets.CListView', array('dataProvider' => $dataProvider, 'itemView' => '_view'));
public function actionNeuAnlegen() { $this->layout = '//layouts/column2'; if (Yii::app()->user->isGuest) { $this->redirect($this->createUrl("infos/selbstEinsetzen")); } /** @var Person $user */ $user = Person::model()->findByAttributes(array("auth" => yii::app()->user->getId())); if (!$user->istWurzelwerklerIn()) { $this->redirect($this->createUrl("infos/selbstEinsetzen")); } $anlegenformmodel = new CInstanzAnlegenForm(); $error_str = ""; if (AntiXSS::isTokenSet("anlegen")) { $anlegenformmodel->setAttributes($_REQUEST["CInstanzAnlegenForm"]); $reihe = new Veranstaltungsreihe(); $reihe->subdomain = trim($anlegenformmodel->subdomain); $reihe->name = $reihe->name_kurz = $anlegenformmodel->name; $reihe->offiziell = false; $reihe->oeffentlich = true; $reihe->kontakt_intern = $anlegenformmodel->kontakt; $einstellungen = $reihe->getEinstellungen(); $einstellungen->bereit_zu_zahlen = $anlegenformmodel->zahlung; $reihe->setEinstellungen($einstellungen); $subdomain = Veranstaltungsreihe::model()->findByAttributes(array("subdomain" => $reihe->subdomain)); if ($subdomain) { $error_str .= "Es gibt leider bereits eine Reihe mit dieser Subdomain.<br>\n"; } elseif ($reihe->save()) { $veranstaltung = new Veranstaltung(); $veranstaltung->veranstaltungsreihe_id = $reihe->id; $veranstaltung->name = $veranstaltung->name_kurz = $anlegenformmodel->name; $veranstaltung->antragsschluss = $anlegenformmodel->antragsschluss; $veranstaltung->policy_kommentare = Veranstaltung::$POLICY_ALLE; $veranstaltung->policy_unterstuetzen = "Niemand"; $veranstaltung->typ = $anlegenformmodel->typ; $veranstaltung->url_verzeichnis = $anlegenformmodel->subdomain; $veranstaltung->admin_email = $anlegenformmodel->admin_email; $einstellungen = $veranstaltung->getEinstellungen(); $einstellungen->wartungs_modus_aktiv = !$anlegenformmodel->sofort_offen; if ($anlegenformmodel->typ == Veranstaltung::$TYP_PROGRAMM) { $einstellungen->zeilen_nummerierung_global = true; $einstellungen->ae_nummerierung_global = true; $einstellungen->freischaltung_antraege = false; $einstellungen->freischaltung_aenderungsantraege = false; $veranstaltung->policy_antraege = IPolicyAntraege::$POLICY_ADMINS; $veranstaltung->policy_aenderungsantraege = IPolicyAntraege::$POLICY_ALLE; } if ($anlegenformmodel->typ == Veranstaltung::$TYP_PARTEITAG) { $einstellungen->zeilen_nummerierung_global = false; $einstellungen->ae_nummerierung_global = false; $einstellungen->freischaltung_antraege = true; $einstellungen->freischaltung_aenderungsantraege = true; $veranstaltung->policy_antraege = IPolicyAntraege::$POLICY_ALLE; $veranstaltung->policy_aenderungsantraege = IPolicyAntraege::$POLICY_ALLE; } $veranstaltung->setEinstellungen($einstellungen); if ($veranstaltung->save()) { $reihe->aktuelle_veranstaltung_id = $veranstaltung->id; $reihe->save(); Yii::app()->db->createCommand()->insert("veranstaltungsreihen_admins", array("veranstaltungsreihe_id" => $reihe->id, "person_id" => $user->id)); $impressum = new Texte(); $impressum->edit_datum = new CDbExpression("NOW()"); $impressum->text_id = "impressum"; $impressum->veranstaltung_id = $veranstaltung->id; $impressum->text = nl2br(CHtml::encode($anlegenformmodel->kontakt)); $impressum->save(); $impressum = new Texte(); $impressum->edit_datum = new CDbExpression("NOW()"); $impressum->text_id = "wartungsmodus"; $impressum->veranstaltung_id = $veranstaltung->id; $impressum->text = "Diese Veranstaltung wurde vom Admin noch nicht freigeschaltet."; $impressum->save(); $login_id = $user->id; $login_code = AntiXSS::createToken($login_id); $reihen = Veranstaltungsreihe::getSidebarReihen(); $this->render('neu_angelegt', array("reihen" => $reihen, "reihe" => $reihe, "login_id" => $login_id, "login_code" => $login_code)); return; } else { foreach ($veranstaltung->errors as $err) { foreach ($err as $e) { $error_str .= $e . "<br>\n"; } } } } else { foreach ($reihe->errors as $err) { foreach ($err as $e) { $error_str .= $e . "<br>\n"; } } } } $reihen = Veranstaltungsreihe::getSidebarReihen(); $this->render('neu_anlegen', array("reihen" => $reihen, "anlegenformmodel" => $anlegenformmodel, "error_string" => $error_str)); }
public function actionIndex($veranstaltungsreihe_id = "", $veranstaltung_id = "") { $this->loadVeranstaltung($veranstaltungsreihe_id, $veranstaltung_id); if (!$this->veranstaltung->isAdminCurUser()) { $this->redirect($this->createUrl("/veranstaltung/login", array("back" => yii::app()->getRequest()->requestUri))); } $todo = array(); if (!is_null($this->veranstaltung)) { $standardtexte = $this->veranstaltung->getHTMLStandardtextIDs(); foreach ($standardtexte as $text) { $st = Texte::model()->findByAttributes(array("veranstaltung_id" => $this->veranstaltung->id, "text_id" => $text)); if ($st == null) { $todo[] = array("Text anlegen:", $text, array("admin/texte/create", array("key" => $text)), null); } } /** @var array|Antrag[] $antraege */ $antraege = Antrag::model()->findAllByAttributes(array("veranstaltung_id" => $this->veranstaltung->id, "status" => Antrag::$STATUS_EINGEREICHT_UNGEPRUEFT)); foreach ($antraege as $antrag) { $von = $antrag->getAntragstellerInnenStr(); $todo[] = array("Antrag prüfen:", $antrag->revision_name . " " . $antrag->name, array("admin/antraege/update", array("id" => $antrag->id)), $von); } /** @var array|Aenderungsantrag[] $aenderungs */ $aenderungs = Aenderungsantrag::model()->with(array("antrag" => array("alias" => "antrag", "condition" => "antrag.veranstaltung_id = " . IntVal($this->veranstaltung->id))))->findAllByAttributes(array("status" => Aenderungsantrag::$STATUS_EINGEREICHT_UNGEPRUEFT)); foreach ($aenderungs as $ae) { $von = $ae->getAntragstellerInnenStr(); $todo[] = array("Änderungsanträge prüfen:", $ae->revision_name . " zu " . $ae->antrag->revision_name . " " . $ae->antrag->name, array("admin/aenderungsantraege/update", array("id" => $ae->id)), $von); } /** @var AntragKommentar[] $kommentare */ $kommentare = AntragKommentar::model()->with(array("antrag" => array("alias" => "antrag", "condition" => "antrag.veranstaltung_id = " . IntVal($this->veranstaltung->id))))->findAllByAttributes(array("status" => AntragKommentar::$STATUS_NICHT_FREI)); foreach ($kommentare as $komm) { $von = $komm->verfasserIn->name; $todo[] = array("Kommentar prüfen:", $komm->verfasserIn->name . " zu " . $komm->antrag->revision_name, array("antrag/anzeige", array("antrag_id" => $komm->antrag_id, "kommentar_id" => $komm->id, "#" => "komm" . $komm->id)), $von); } /** @var AenderungsantragKommentar[] $kommentare */ $kommentare = AenderungsantragKommentar::model()->with(array("aenderungsantrag" => array("alias" => "aenderungsantrag"), "aenderungsantrag.antrag" => array("alias" => "antrag", "condition" => "antrag.veranstaltung_id = " . IntVal($this->veranstaltung->id))))->findAllByAttributes(array("status" => AntragKommentar::$STATUS_NICHT_FREI)); foreach ($kommentare as $komm) { $von = $komm->verfasserIn->name; $todo[] = array("Kommentar prüfen:", $komm->verfasserIn->name . " zu " . $komm->aenderungsantrag->revision_name, array("aenderungsantrag/anzeige", array("aenderungsantrag_id" => $komm->aenderungsantrag->id, "antrag_id" => $komm->aenderungsantrag->antrag_id, "kommentar_id" => $komm->id, "#" => "komm" . $komm->id)), $von); } } $this->render('index', array("todo" => $todo, "sprache" => $this->veranstaltung->getSprache())); }