Ejemplo n.º 1
0
 /**
  * Luo testiratkaisun ja palauttaa Palauteolio-luokan olion.
  * 
  * @param type $parametriolio
  */
 private function luo_testiratkaisu()
 {
     /************** UUDEN RATKAISUN TALLENNUS *********************************/
     $palaute = new Palaute();
     if ($this->kokon1 instanceof Kokonaisuusolio && $this->teht1 instanceof Tehtava) {
         $id_kokon = $this->kokon1->get_id();
         $id_teht = $this->teht1->getId();
         $id_ratk = -1;
         $this->parametriolio->vastaus_ratk = "Vastaus";
         $this->parametriolio->ratkaisu_ratk = "Ratkaisu";
         $this->ratkaisukontrolleri->toteuta_tallenna_uusi($palaute);
     } else {
         $this->lisaa_virheilmoitus("Virhe: kokon1 tai teht1 ei ole oikea olio!");
         $palaute->set_virhekoodi(Palaute::$VIRHEKOODI_YLEINEN);
     }
     return $palaute;
 }
Ejemplo n.º 2
0
     $palauteolio = toteuta_nayta_kuvalomake($parametriolio);
 } else {
     if ($tehtavatoiminto == Painikkeet::$palaa_tehtaviin_value) {
         $tehtavakontrolleri->toteuta_nayta_tehtavat($palauteolio);
     } else {
         if ($tehtavatoiminto == Painikkeet::$ratkaisu_nayta_ratkaisut_value) {
             $ratkaisukontrolleri->toteuta_nayta($palauteolio);
         } else {
             if ($tehtavatoiminto == Painikkeet::$ratkaisu_uusi_value) {
                 $ratkaisukontrolleri->toteuta_ratkaisulomakkeen_naytto($palauteolio);
             } else {
                 if ($tehtavatoiminto == Painikkeet::$ratkaisu_muokkaa_value) {
                     $ratkaisukontrolleri->toteuta_ratkaisulomakkeen_naytto($palauteolio);
                 } else {
                     if ($tehtavatoiminto == Painikkeet::$ratkaisu_tallenna_uusi_value) {
                         $ratkaisukontrolleri->toteuta_tallenna_uusi($palauteolio);
                     } else {
                         if ($tehtavatoiminto == Painikkeet::$ratkaisu_tallenna_muokkaus_value) {
                             $ratkaisukontrolleri->toteuta_tallenna_muokkaus($palauteolio);
                         } else {
                             if ($tehtavatoiminto == Painikkeet::$ratkaisu_poistovahvistus_value) {
                                 $ratkaisukontrolleri->toteuta_poista($palauteolio);
                             } else {
                                 if ($tehtavatoiminto == Painikkeet::$ratkaisu_poista_value) {
                                     $ratkaisukontrolleri->toteuta_nayta_poistovarmistus($palauteolio);
                                 } else {
                                     if ($tehtavatoiminto == Painikkeet::$ratkaisu_peruminen_value) {
                                         $ratkaisukontrolleri->toteuta_peru_ratkaisun_muokkaus($palauteolio);
                                     } else {
                                         if ($tehtavatoiminto == Painikkeet::$ratkaisu_peru_uuden_tallennus_value) {
                                             $ratkaisukontrolleri->toteuta_uuden_ratkaisun_peruutus($palauteolio);
Ejemplo n.º 3
0
 /**
 * Luo testiratkaisun ja palauttaa Ratkaisu-luokan olion, tai arvon
 * Pohja::$VIRHE.
 * 
 * create table ratkaisut
     (
    id                    mediumint auto_increment not null,
    tehtava_id              mediumint not null,
    henkilo_id		smallint not null,
    luomishetki_sek       int not null,
    ed_muutos_sek         int not null,
    vastaus               varchar(1000),
    ratkaisu              varchar(10000) not null,
    primary key (id),
    index(tehtava_id),
    FOREIGN KEY (tehtava_id) REFERENCES tehtavat (id)
                    ON DELETE CASCADE
     ) ENGINE=INNODB; 
 * 
 * @param type $parametriolio
 */
 private function luo_testiratkaisu()
 {
     $jatkolupa = false;
     $palaute = Pohja::$VIRHE;
     $ratkaisukontrolleri = new Ratkaisukontrolleri($this->tietokantaolio, $this->parametriolio);
     // Luodaan ensin testikokonaisuus:
     $this->parametriolio->set_omaid($this->testihenkilo->get_id());
     $palauteolio_kokon = $this->kok_teht_ratk_testiolio->luo_testikokonaisuus("Otsikko", "Testikokonaisuus", -1);
     if (!$palauteolio_kokon->operaatio_onnistui()) {
         $this->lisaa_virheilmoitus("Testikokonaisuuden luominen epäonnistui!" . " <br/>" . $palauteolio_kokon->get_ilmoitus());
     } else {
         $this->testikokonaisuus = new Kokonaisuusolio($palauteolio_kokon->get_muokatun_id(), $this->tietokantaolio);
         if ($this->testikokonaisuus->olio_loytyi_tietokannasta) {
             $this->lisaa_kommentti("Testikokonaisuuden luominen ok ");
             // Luodaan testitehtava:
             $palauteolio_teht = $this->kok_teht_ratk_testiolio->luo_testitehtava($palauteolio_kokon->get_muokatun_id(), "TEstitehtava on tama kiva!");
             if (!$palauteolio_teht->operaatio_onnistui()) {
                 $this->lisaa_virheilmoitus("Testitehtavan luominen epäonnistui!" . " Ilmoitukset: " . $palauteolio_teht->get_ilmoitus());
             } else {
                 $this->lisaa_kommentti("Testitehtavän luominen ok");
                 $jatkolupa = true;
             }
         } else {
             $this->lisaa_virheilmoitus("Kokon_oliota ei löytynyt tietokannasta!");
         }
     }
     /************** UUDEN RATKAISUN TALLENNUS *********************************/
     if ($jatkolupa) {
         $parametriolio = $this->parametriolio;
         $palaute = Pohja::$VIRHE;
         $id_kokon = -1;
         // haetaan tietokannasta tehtävä, johon ratkaisu voidaan liittää:
         $id_teht = $palauteolio_teht->get_muokatun_id();
         $osuma = new Tehtava($id_teht, $this->tietokantaolio);
         if ($osuma->olio_loytyi_tietokannasta) {
             $this->lisaa_kommentti("Luodaan sitten testiratkaisu.");
             $parametriolio->id_teht = $id_teht;
             $parametriolio->vastaus_ratk = "Vastaus";
             $parametriolio->ratkaisu_ratk = Kayttajatestaus::$testi_ratkaisu;
             // Laitetaan ratkaisun luojaksi testiomistaja
             $parametriolio->set_omaid($this->testiomistaja->get_id());
             // Satunnainen id.
             $palauteolio = new Palaute();
             $ratkaisukontrolleri->toteuta_tallenna_uusi($palauteolio);
             $tallennettu = new Ratkaisu($palauteolio->get_muokatun_id(), $this->tietokantaolio);
             if ($tallennettu->olio_loytyi_tietokannasta) {
                 $this->lisaa_kommentti("Ratkaisun tallennus ok (omistaja testiomistaja)!! Ratkaisu = " . $tallennettu->getRatkaisu());
             } else {
                 $this->lisaa_virheilmoitus("Ratkaisun tallennus ei ok!!");
             }
             // Tarkistetaan onnistuiko:
             if (!$palauteolio->operaatio_onnistui()) {
                 $this->lisaa_virheilmoitus("<div class='virhe'>Virhe uuden ratkaisun" . " tallennuksessa (Kayttajatestaus-" . "toteuta_uuden_ratkaisun_tallennus) </div>" . $ratkaisukontrolleri->tulosta_virheilmoitukset() . $palauteolio->get_ilmoitus());
             } else {
                 // haetaan tietokannasta:
                 $id = $palauteolio->get_muokatun_id();
                 $ratk = new Ratkaisu($id, $this->tietokantaolio);
                 if ($ratk->olio_loytyi_tietokannasta) {
                     $palaute = $ratk;
                 } else {
                     $this->lisaa_virheilmoitus("Testiratkaisua ei löytynyt tietokannasta!");
                 }
             }
         } else {
             $this->lisaa_virheilmoitus("Yhtään tehtävää ei löytynyt! Luo yksi ensin!");
         }
     }
     return $palaute;
 }