Ejemplo n.º 1
0
 /**
  * @param Antrag $antrag
  * @param int $anz_absaetze_neu
  * @param array $absatz_mapping
  * @return Aenderungsantrag
  */
 public function aufrechterhaltenBeiNeuemAntrag($antrag, $anz_absaetze_neu, $absatz_mapping)
 {
     $neuer_ae = new Aenderungsantrag();
     $neuer_ae->antrag_id = $antrag->id;
     $neuer_ae->revision_name = $this->revision_name;
     $neuer_ae->name_neu = $this->name_neu;
     $neuer_ae->begruendung_neu = $this->begruendung_neu;
     $neuer_ae->aenderung_begruendung = $this->aenderung_begruendung;
     $neuer_ae->datum_einreichung = $this->datum_einreichung;
     $neuer_ae->aenderung_first_line_cache = -1;
     $neuer_ae->status_string = "";
     $neuer_ae->status = IAntrag::$STATUS_EINGEREICHT_GEPRUEFT;
     $text_neu = array();
     for ($i = 0; $i < $anz_absaetze_neu; $i++) {
         $text_neu[$i] = "";
     }
     $old_abs = json_decode($this->text_neu);
     foreach ($old_abs as $abs => $str) {
         $text_neu[$absatz_mapping[$abs]] = $str;
     }
     $neuer_ae->setDiffParagraphs($text_neu);
     $neuer_ae->calcDiffText();
     if (!$neuer_ae->save()) {
         var_dump($neuer_ae->attributes);
     }
     foreach ($this->aenderungsantragUnterstuetzerInnen as $init) {
         if ($init->rolle == IUnterstuetzerInnen::$ROLLE_INITIATORIN) {
             $in = new AenderungsantragUnterstuetzerInnen();
             $in->rolle = IUnterstuetzerInnen::$ROLLE_INITIATORIN;
             $in->position = $init->position;
             $in->aenderungsantrag_id = $neuer_ae->id;
             $in->unterstuetzerIn_id = $init->unterstuetzerIn_id;
             $in->kommentar = "";
             $in->save();
         }
     }
 }