/**
  * @param array $antragData
  */
 private function importDatarow($antragData)
 {
     if ($antragData['status'] == 'Sitzungsvorlage') {
         return;
     }
     /** @var Antrag $antrag */
     $antrag = Antrag::findOne(['ris_id' => $antragData['id']]);
     if (!$antrag) {
         $antrag = new Antrag();
         $antrag->ris_id = $antragData['id'];
         $antrag->notiz = '';
     } else {
         if ($antrag->status != $antragData['status']) {
             $antrag->notiz = date("d.m.Y.") . ": Status: " . $antrag->status . " -> " . $antragData['status'] . "\n" . trim($antrag->notiz);
         }
         if ($antrag->bearbeitungsfrist != $antragData['bearbeitungsfrist']) {
             $antrag->notiz = date("d.m.Y.") . ": Bearbeitungsfrist: " . HtmlTools::formatDate($antrag->bearbeitungsfrist) . " -> " . HtmlTools::formatDate($antragData['bearbeitungsfrist']) . "\n" . trim($antrag->notiz);
             $antrag->bearbeitungsfrist_benachrichtigung = null;
         }
         if ($antrag->fristverlaengerung != $antragData['fristverlaengerung']) {
             $antrag->notiz = date("d.m.Y.") . ": Fristverlängerung: " . HtmlTools::formatDate($antragData['fristverlaengerung']) . "\n" . trim($antrag->notiz);
             $antrag->fristverlaengerung_benachrichtigung = null;
         }
         if ($antrag->gestellt_am != $antragData['gestellt_am']) {
             $antrag->notiz = date("d.m.Y.") . ": Gestellt am: " . HtmlTools::formatDate($antrag->gestellt_am) . " -> " . HtmlTools::formatDate($antragData['gestellt_am']) . "\n" . trim($antrag->notiz);
         }
     }
     $antrag->titel = mb_substr($antragData['betreff'], 0, 200);
     $antrag->typ = $antragData['typ'];
     $antrag->antrags_nr = $antragData['antrags_nr'];
     $antrag->gestellt_am = $antragData['gestellt_am'];
     $antrag->bearbeitungsfrist = $antragData['bearbeitungsfrist'];
     $antrag->fristverlaengerung = $antragData['fristverlaengerung'];
     $antrag->status = $antragData['status'];
     $antrag->erledigt_am = $antragData['erledigt_am'];
     if ($antrag->status == $antrag->status_override) {
         $antrag->status_override = '';
     }
     $antrag->save();
     foreach ($antrag->stadtraetinnen as $stadtraetin) {
         $antrag->unlink('stadtraetinnen', $stadtraetin, true);
     }
     foreach ($antrag->initiatorinnen as $initiatorin) {
         $antrag->unlink('initiatorinnen', $initiatorin, true);
     }
     foreach ($antragData['stadtraetInnen'] as $stadtraetInData) {
         $ris_id = $stadtraetInData['id'] > 0 ? $stadtraetInData['id'] : 0;
         $stadtraetin = Stadtraetin::findOne(['ris_id' => $ris_id]);
         if (!$stadtraetin) {
             $stadtraetin = new Stadtraetin();
             $stadtraetin->ris_id = $stadtraetInData['id'];
             $stadtraetin->name = $stadtraetInData['name'];
             $stadtraetin->save();
         }
         try {
             $antrag->link('stadtraetinnen', $stadtraetin);
         } catch (\Exception $e) {
         }
     }
     foreach ($antragData['initiatorInnen'] as $initiatorInData) {
         $ris_id = $initiatorInData['id'] > 0 ? $initiatorInData['id'] : 0;
         $initiatorin = Stadtraetin::findOne(['ris_id' => $ris_id]);
         if (!$initiatorin) {
             $initiatorin = new Stadtraetin();
             $initiatorin->ris_id = $initiatorInData['id'];
             $initiatorin->name = $initiatorInData['name'];
             $initiatorin->save();
         }
         try {
             $antrag->link('initiatorinnen', $initiatorin);
         } catch (\Exception $e) {
         }
     }
     foreach ($antragData['dokumente'] as $dokumentData) {
         $dokument = Dokument::findOne(['dokument_id' => $dokumentData['id']]);
         if (!$dokument) {
             $dokument = new Dokument();
             $dokument->dokument_id = $dokumentData['id'];
         }
         $dokument->antrag_id = $antrag->id;
         $dokument->titel = $dokumentData['titel'];
         $dokument->datum = $dokumentData['datum'];
         $dokument->url = $dokumentData['pdf'];
         $dokument->save();
     }
 }
 /**
  * @return string
  */
 public function actionAddantrag()
 {
     \Yii::$app->response->format = \yii\web\Response::FORMAT_RAW;
     \Yii::$app->response->headers->add('Content-Type', 'application/json');
     if (!isset($_POST['antrag'])) {
         return json_encode(['error' => 'no data']);
     }
     $data = $_POST['antrag'];
     $antrag = new Antrag();
     $antrag->titel = $data['titel'];
     $antrag->typ = Antrag::$TYPEN[$data['typ']];
     $antrag->bearbeitungsfrist = isset($data['bearbeitungsfrist']) ? $data['bearbeitungsfrist'] : null;
     $antrag->fristverlaengerung = isset($data['fristverlaengerung']) ? $data['fristverlaengerung'] : null;
     $antrag->gestellt_am = isset($data['gestellt_am']) ? $data['gestellt_am'] : null;
     $antrag->status = Antrag::$STATI[$data['status']];
     $antrag->notiz = $data['notiz'];
     $antrag->antrags_nr = '';
     $antrag->save();
     $tags = explode(',', $data['tags']);
     foreach ($tags as $tagName) {
         $tag = Tag::findOne(['name' => $tagName]);
         if (!$tag) {
             $tag = new Tag();
             $tag->name = $tagName;
             $tag->save();
         }
         $antrag->link('tags', $tag);
     }
     if (isset($data['stadtraetinnen'])) {
         foreach ($data['stadtraetinnen'] as $stadtraetinId) {
             /** @var Stadtraetin $stadtraetin */
             $stadtraetin = Stadtraetin::findOne($stadtraetinId);
             $antrag->link('stadtraetinnen', $stadtraetin);
         }
     }
     $antrag->refresh();
     $row = $this->renderPartial('index_antrag_row', ['antrag' => $antrag]);
     return json_encode(['success' => 1, 'content' => $row]);
 }
Beispiel #3
0
<?php

use app\models\Antrag;
use yii\helpers\Html;
use yii\helpers\Url;
/**
 * @var \yii\web\View $this
 * @var Antrag[] $antraege
 * @var int $sort
 * @var int $sort_desc
 * @var int $zeitraum_jahre
 * @var int $aenderungsantraege
 */
$this->title = 'Antragsverwaltung der Grünen Stadtratsfraktion';
$stadtraetinnen_alle = \app\models\Stadtraetin::find()->orderBy('name')->all();
$sortTitle = function ($titel, $curr_sort, $curr_desc, $my_sort, $default_desc, $zeitraum_jahre, $aenderungsantraege) {
    if ($curr_sort == $my_sort) {
        $url = Url::toRoute(['site/index', 'sort' => $my_sort, 'sort_desc' => $curr_desc ? 0 : 1, 'zeitraum_jahre' => $zeitraum_jahre, 'aenderungsantraege' => $aenderungsantraege]);
        if ($curr_desc) {
            $text = '<span style="color: black; font-weight: bold;"><span class="glyphicon glyphicon-chevron-down"></span> ' . $titel . '</span>';
        } else {
            $text = '<span style="color: black; font-weight: bold;"><span class="glyphicon glyphicon-chevron-up"></span> ' . $titel . '</span>';
        }
    } else {
        $url = Url::toRoute(['site/index', 'sort' => $my_sort, 'sort_desc' => $default_desc, 'zeitraum_jahre' => $zeitraum_jahre, 'aenderungsantraege' => $aenderungsantraege]);
        if ($default_desc) {
            $text = '<span class="sort_hidden"><span class="glyphicon glyphicon-chevron-down"></span></span> ' . $titel . '</span>';
        } else {
            $text = '<span class="sort_hidden"><span class="glyphicon glyphicon-chevron-up"></span></span> ' . $titel . '</span>';
        }
    }
        <input class="hidden hidden-field" name="filter_typ" readonly="readonly" aria-hidden="true"
               type="text"/>
    </div>
</div>

<div class="filter">
    <div class="btn-group selectlist filter_initiator" data-resize="auto" data-initialize="selectlist">
        <button class="btn btn-default dropdown-toggle" data-toggle="dropdown" type="button">
            <span class="selected-label">&nbsp;</span>
            <span class="caret"></span>
            <span class="sr-only">Toggle Dropdown</span>
        </button>
        <ul class="dropdown-menu" role="menu">
            <li data-value="-1" style="font-style: italic;"><a href="#">Alle Stadträt*innen</a></li>
            <?php 
foreach (\app\models\Stadtraetin::alleFraktionsmitglieder() as $stadtraetin) {
    echo '<li data-value="' . Html::encode($stadtraetin->id) . '"><a href="#">' . Html::encode($stadtraetin->name) . '</a></li>';
}
?>
        </ul>
        <input class="hidden hidden-field" name="filter_initiator" readonly="readonly" aria-hidden="true"
               type="text"/>
    </div>
</div>

<div class="filter">
    <div class="btn-group selectlist filter_thema" data-resize="auto" data-initialize="selectlist">
        <button class="btn btn-default dropdown-toggle" data-toggle="dropdown" type="button">
            <span class="selected-label">&nbsp;</span>
            <span class="caret"></span>
            <span class="sr-only">Toggle Dropdown</span>
                    <span class="caret"></span>
                    <span class="sr-only">Toggle Dropdown</span>
                </button>
                <ul class="dropdown-menu" role="menu">
                    <?php 
foreach (\app\models\Antrag::$STATI as $id => $name) {
    echo '<li data-value="' . Html::encode($id) . '"><a href="#">' . Html::encode($name) . '</a></li>';
}
?>
                </ul>
                <input class="hidden hidden-field" name="status" readonly="readonly" aria-hidden="true" type="text">
            </div>
            <br>

            <?php 
foreach (Stadtraetin::alleFraktionsmitglieder() as $stadtraetin) {
    $name = explode(' ', str_replace('Dr. ', '', $stadtraetin->name));
    ?>
                <label style="font-weight: normal;">
                    <input type="checkbox" name="neu[stadtraetIn][]" value="<?php 
    echo $stadtraetin->id;
    ?>
">
                    <?php 
    echo Html::encode($name[0]);
    ?>
                </label>
            <?php 
}
?>
        </div>