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"); } }