/** * @param string $veranstaltungsreihe_id * @param string $veranstaltung_id * @param int $antrag_id * @param int $aenderungsantrag_id * @return Aenderungsantrag */ private function getValidatedParamObjects($veranstaltungsreihe_id = "", $veranstaltung_id, $antrag_id, $aenderungsantrag_id) { $aenderungsantrag_id = IntVal($aenderungsantrag_id); /** @var Aenderungsantrag $aenderungsantrag */ $aenderungsantrag = Aenderungsantrag::model()->findByPk($aenderungsantrag_id); if (is_null($aenderungsantrag) || $aenderungsantrag->status == IAntrag::$STATUS_GELOESCHT) { $this->render("../veranstaltung/error", array("message" => "Der angegebene Änderungsantrag wurde nicht gefunden.")); Yii::app()->end(404); } $antrag_id = IntVal($antrag_id); /** @var Antrag $antrag */ $antrag = Antrag::model()->findByPk($antrag_id); if (is_null($antrag) || $antrag->status == IAntrag::$STATUS_GELOESCHT) { $this->render("../veranstaltung/error", array("message" => "Der angegebene Antrag wurde nicht gefunden.")); Yii::app()->end(404); } $this->veranstaltung = $this->loadVeranstaltung($veranstaltungsreihe_id, $veranstaltung_id, $antrag, $aenderungsantrag); $this->testeWartungsmodus(); return $aenderungsantrag; }
public function run($args) { if (count($args) != 1) { echo "Aufruf: ./yiic recalc_diff_text [Änderungsantrags-ID|alle]\n"; return; } if ($args[0] == "alle") { /** @var Aenderungsantrag[] $aenderungsantrag */ $aenderungsantrag = Aenderungsantrag::model()->findAll(array("order" => "id DESC")); foreach ($aenderungsantrag as $ae) { try { echo "Recalculating: " . $ae->id . "\n"; $this->recalcAeText($ae->id, false); } catch (Exception $e) { echo "AE inkonsistent!\n"; } } } else { $this->recalcAeText($args[0], true); } }
/** * @param string $veranstaltungsreihe_id * @param string $veranstaltung_id * @param int|null $status */ public function actionIndex($veranstaltungsreihe_id = "", $veranstaltung_id, $status = null) { $this->loadVeranstaltung($veranstaltungsreihe_id, $veranstaltung_id); if (!$this->veranstaltung->isAdminCurUser()) { $this->redirect($this->createUrl("/veranstaltung/login", array("back" => yii::app()->getRequest()->requestUri))); } /** @var Aenderungsantrag[] $aenderungsantraege */ $aenderungsantraege = Aenderungsantrag::model()->findAll(array("with" => "antrag", "alias" => "a", "condition" => 'antrag.veranstaltung_id=' . IntVal($this->veranstaltung->id) . " AND a.status != " . IAntrag::$STATUS_GELOESCHT . " AND antrag.status != " . IAntrag::$STATUS_GELOESCHT)); $stati = array(); $gesamtzahl = 0; foreach ($aenderungsantraege as $ae) { if ($ae->status == IAntrag::$STATUS_GELOESCHT) { continue; } if (!isset($stati[$ae->status])) { $stati[$ae->status] = 0; } $stati[$ae->status]++; $gesamtzahl++; } if ($status !== null) { $aenderungsantraege = Aenderungsantrag::model()->findAll(array("with" => "antrag", "alias" => "a", "condition" => 'antrag.veranstaltung_id=' . IntVal($this->veranstaltung->id) . " AND a.status = " . IntVal($status) . " AND a.status != " . IAntrag::$STATUS_GELOESCHT . " AND antrag.status != " . IAntrag::$STATUS_GELOESCHT)); } $dataProvider = new CActiveDataProvider('Aenderungsantrag', array("data" => $aenderungsantraege)); $dataProvider->getPagination()->pageSize = 50; $this->render('index', array('dataProvider' => $dataProvider, 'anzahl_stati' => $stati, 'anzahl_gesamt' => $gesamtzahl, 'status_curr' => $status)); }
/** * @param int $ae_id * @return Aenderungsantrag */ public function getAenderungsAntragById($ae_id) { $ae = Aenderungsantrag::model()->findAll("id = " . InTVal($ae_id) . " AND antrag_id = " . IntVal($this->id)); return count($ae) > 0 ? $ae[0] : null; }
/** * @param int $veranstaltung_id * @param string $suchbegriff * @return array|Aenderungsantrag[] */ public static function suche($veranstaltung_id, $suchbegriff) { $ids = array(); /** @var array|Antrag[] $antraege */ $antraege = Antrag::model()->findAllByAttributes(array("veranstaltung_id" => $veranstaltung_id)); foreach ($antraege as $ant) { $ids[] = $ant->id; } if (count($ids) == 0) { return array(); } return Aenderungsantrag::model()->findAll("(`aenderung_text` LIKE '%" . addslashes($suchbegriff) . "%' OR `aenderung_text2` LIKE '%" . addslashes($suchbegriff) . "%' OR `aenderung_begruendung` LIKE '%" . addslashes($suchbegriff) . "%') AND status NOT IN (" . implode(", ", IAntrag::$STATI_UNSICHTBAR) . ") AND antrag_id IN (" . implode(", ", $ids) . ")"); }
/** * @param string $veranstaltungsreihe_id * @param string $veranstaltung_id */ public function actionAenderungsantragsPdfs($veranstaltungsreihe_id = "", $veranstaltung_id = "") { $this->loadVeranstaltung($veranstaltungsreihe_id, $veranstaltung_id); $this->testeWartungsmodus(); if ($this->veranstaltung->getEinstellungen()->ae_nummerierung_nach_zeile) { $antraege = $this->veranstaltung->antraegeSortiert(); $aenderungsantraege = array(); foreach ($antraege as $antr_typ) { foreach ($antr_typ as $antr) { /** @var Antrag $antr */ $aes = $antr->sortierteAenderungsantraege(); foreach ($aes as $ae) { if (!in_array($ae->status, IAntrag::$STATI_UNSICHTBAR)) { $aenderungsantraege[] = $ae; } } } } } else { $criteria = new CDbCriteria(); $criteria->alias = "aenderungsantrag"; $criteria->order = "LPAD(REPLACE(aenderungsantrag.revision_name, 'Ä', ''), 3, '0')"; $criteria->addNotInCondition("aenderungsantrag.status", IAntrag::$STATI_UNSICHTBAR); $criteria->addNotInCondition("antrag.status", IAntrag::$STATI_UNSICHTBAR); $aenderungsantraege = Aenderungsantrag::model()->with(array("antrag" => array('condition' => 'antrag.veranstaltung_id=' . IntVal($this->veranstaltung->id))))->findAll($criteria); } $this->renderPartial('veranstaltung_ae_pdfs', array("sprache" => $this->veranstaltung->getSprache(), "aenderungsantraege" => $aenderungsantraege, "veranstaltung" => $this->veranstaltung)); }
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())); }