Exemplo n.º 1
0
 /**
  * Toteuttaa tehtävän poiston. HUOM! Tehtävään liittyvät ratkaisut poistetaan
  * automaattisesti tietokantatasolla samoin kuin kuvalinkit tehtävään ja
  * ratkaisuihin.
  * 
  * HUOM! Täällä ei oikeuksia enää tarkasteta. Voisi olla ihan hyvä ajatus
  * tarkistaa poisto-oikeus täälläkin vielä. En tiedä, mutta saattaa olla
  * mahdollista jossakin tilanteissa, että tähän metodiin pääsisi käsiksi väärä
  * henkilö(?).
  *
  * @param Palaute $palauteolio
  */
 function toteuta_poista(&$palauteolio)
 {
     $parametriolio = $this->get_parametriolio();
     $id_kokon = $parametriolio->id_kokon;
     $id_teht = $parametriolio->id_teht;
     $omaid = $parametriolio->get_omaid();
     $kayttajan_valtuudet = $parametriolio->get_valtuudet();
     $tietokantaolio = $parametriolio->get_tietokantaolio();
     $palaute = "";
     /* Ilmoitus. */
     $palautesisalto = "";
     $poistettava = new Tehtava($id_teht, $tietokantaolio);
     if ($poistettava->olio_loytyi_tietokannasta) {
         $palaute = $poistettava->poista();
         if ($palaute === Tehtava::$OPERAATIO_ONNISTUI) {
             // Poistetaan mahdolliset tyhjään osoittavat kooste-elementit:
             if (Elementti::poista_elementit($tietokantaolio, Oliotyyppi::$TEHTAVA, $id_teht) === Malliluokkapohja::$OPERAATIO_ONNISTUI) {
                 $palaute = Tekstit::$tehtava_ilm_poisto_ok;
             } else {
                 $palaute = Tekstit::$kooste_virheilm_elementtien_poistosiivous_ei_ok;
                 $this->lisaa_virheilmoitus($palaute);
             }
         } else {
             $palaute = Tekstit::$tehtava_virheilm_poisto_eiok;
             $this->lisaa_virheilmoitus($palaute);
         }
     } else {
         $palaute = Tekstit::$tehtava_virheilm_poistettavaa_ei_loytynyt;
         $this->lisaa_virheilmoitus($palaute);
     }
     $this->toteuta_nayta_tehtavat($palauteolio);
     $palauteolio->set_ilmoitus($palaute);
     $palauteolio->set_valikkonaytto(false);
 }