/** * 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); }