Пример #1
0
 public function testaa_ratkaisun_luominen()
 {
     $this->lisaa_lihava_kommentti("Luodaan testiratkaisu (testiomistajalle):");
     $ratkaisukontrolleri = new Ratkaisukontrolleri($this->tietokantaolio, $this->parametriolio);
     $ratkaisunakymat = new Ratkaisunakymat();
     $ratk = $this->luo_testiratkaisu();
     if ($ratk instanceof Ratkaisu) {
         $this->lisaa_kommentti("Testiratkaisun luominen onnistui");
         // Näytetään ratkaisu eri valtuuksilla:
         $this->lisaa_kommentti("Testiratkaisun tulostus tehtävän lisäys " . "-valtuuksilla:");
         $id_kokon = -1;
         $id_teht = -1;
         // Muutetaan valtuudet:
         $this->testiapuhenkilo->set_arvo(Valtuudet::$TEHTAVA_LISAYS, Henkilo::$sarakenimi_valtuudet);
         $this->testiapuhenkilo->tallenna_muutokset();
         $this->lisaa_kommentti("Apuhenkilön valtuudet (pitäs olla 5)= " . $this->testiapuhenkilo->get_arvo(Henkilo::$sarakenimi_valtuudet));
         /*$this->lisaa_kommentti("Muutetaan ratkaisun omistajaksi testiapuhenkilö");
           $ratk->setHenkilo_id($this->testiapuhenkilo->get_id());
           $ratk->tallenna_muutokset();*/
         // Tämä vaaditaan, jotta valtuudet menevät läpi:
         $omaid = $this->testiapuhenkilo->get_id();
         $id_ratk = $ratk->getId();
         $this->parametriolio->set_omaid($this->testiapuhenkilo->get_id());
         $painikkeet = $ratkaisukontrolleri->luo_ratkaisupainikkeet($id_ratk);
         $this->lisaa_kommentti($ratkaisukontrolleri->tulosta_kaikki_ilmoitukset());
         $ratkaisukontrolleri->tyhjenna_kaikki_ilmoitukset();
         $this->lisaa_kommentti($ratkaisunakymat->tulosta_ratkaisu($id_kokon, $ratk, $omaid, $painikkeet));
         $this->testiapuhenkilo->tyhjenna_virheilmoitukset();
         $this->lisaa_kommentti("Testiratkaisun tulostus hallinta-valtuuksilla:");
         $id_kokon = -1;
         $id_teht = -1;
         // Muutetaan testiapuhenkilön valtuudet:
         if ($this->testiapuhenkilo->set_arvo(Valtuudet::$HALLINTA, Henkilo::$sarakenimi_valtuudet) == Pohja::$OPERAATIO_ONNISTUI) {
             if ($this->testiapuhenkilo->tallenna_muutokset() === Henkilo::$OPERAATIO_ONNISTUI) {
                 // Tässä === aiheutti virheen.
                 if ($this->testiapuhenkilo->get_arvo(Henkilo::$sarakenimi_valtuudet) == Valtuudet::$HALLINTA) {
                     $omaid = $this->testiapuhenkilo->get_id();
                     $id_ratk = $ratk->getId();
                     $painikkeet = $ratkaisukontrolleri->luo_ratkaisupainikkeet($id_ratk);
                     $this->lisaa_kommentti($ratkaisukontrolleri->tulosta_kaikki_ilmoitukset());
                     $this->lisaa_kommentti($ratkaisunakymat->tulosta_ratkaisu($id_kokon, $ratk, $omaid, $painikkeet));
                 } else {
                     $this->lisaa_virheilmoitus("Virhe: apuhenkilön " . " valtuusmuutostallennus ok, mutta arvo ei! <br/>" . "Valtuuden arvo = " . $this->testiapuhenkilo->get_arvo(Henkilo::$sarakenimi_valtuudet));
                 }
             } else {
                 $this->lisaa_virheilmoitus("Virhe apuhenkilön " . " valtuusmuutoksen tallennuksessa! <br/>" . $this->testiapuhenkilo->tulosta_virheilmoitukset());
             }
         } else {
             $this->lisaa_virheilmoitus("Virhe apuhenkilön " . " valtuusmuutoksen asetuksessa! <br/>" . $this->testiapuhenkilo->tulosta_virheilmoitukset());
         }
         // Muutetaan valtuudet takaisin tehtävien lisäykseen:
         $this->testiapuhenkilo->set_arvo(Valtuudet::$TEHTAVA_LISAYS, Henkilo::$sarakenimi_valtuudet);
         $this->testiapuhenkilo->tallenna_muutokset();
         $this->testiratkaisu = $ratk;
     } else {
         $this->lisaa_virheilmoitus("Virhe testiratkaisun luomisessa");
     }
 }