예제 #1
0
 /**
  * @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));
 }
예제 #2
0
 /**
  * @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);
 }
예제 #3
0
<?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'));
예제 #4
0
 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));
 }
예제 #5
0
 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()));
 }