/**
  * @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));
 }
Ejemplo n.º 4
0
 /**
  * @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;
 }
Ejemplo n.º 5
0
 /**
  * @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));
 }
Ejemplo n.º 7
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()));
 }