/**
  * Toteuttaa koosteryhmittelylomakkeen näyttämisen. Tarkoitus on toteuttaa
  * lomake, jonka avulla voi luoda uuden tai muokata vanhaa elementtiryhmää.
  * Elementtiryhmään valitaan halutut elementit koosteen elementeistä, joten
  * sen kauempaa ei valittavia tarvitse hakea.
  * 
  * HUOM! Valittaviin elementteihin otettavat elementit tarkistetaan
  * käyttöoikeuksien näkokulmasta, eikä mukaan oteta sellaisia, joihin
  * käyttäjällä ei ole vähintään katseluoikeutta.
  * 
  * @param Palaute $palauteolio
  */
 public function toteuta_nayta_ryhmittelylomake(&$palauteolio)
 {
     $parametriolio = $this->get_parametriolio();
     $parametriolio->naytettava = Palaute::$NAYTETTAVA_OLIOTYYPPI_KOOSTERYHMITTELYLOMAKE;
     $palauteolio->set_naytettava_oliotyyppi(Palaute::$NAYTETTAVA_OLIOTYYPPI_KOOSTERYHMITTELYLOMAKE);
     $tietokantaolio = $parametriolio->get_tietokantaolio();
     $kooste = $this->get_olio();
     $tuloste = "";
     if ($kooste instanceof Kooste) {
         // Haetaan mahdollinen vanha (muokattava) elementtiryhmä:
         $elemryhma_id = $parametriolio->elemryhma_id;
         $elemryhma = new Elementtiryhma($elemryhma_id, $tietokantaolio);
         // Huom! Ei mitään tarkistusta, joten pitää alla tarkistaa!
         $elementit = $kooste->hae_elementit();
         // Tehdään taulukko, johon siirretään ne elementit, joihin
         // vähintään katseluoikeus:
         $tarkistetut_elementit = array();
         $omaid = $parametriolio->get_omaid();
         foreach ($elementit as $kandielem) {
             $kohdeoikeudet = $kandielem->hae_kayttajan_oikeudet_viittausolioon($omaid) + 0;
             $minimioikeus = Lisavaltuudet::$SAA_NAHDA_EI_MUOKATA_EI_POISTAA;
             // Jos vähintään näkeminen sallittu:
             if ($kohdeoikeudet >= $minimioikeus) {
                 array_push($tarkistetut_elementit, $kandielem);
             }
         }
         $tuloste = $this->koostenakymat->nayta_elemryhmalomake($kooste, $elemryhma, $parametriolio, $tarkistetut_elementit);
     }
     // Luodaan paluu-painike:
     $elem_id = Elementti::$MUUTTUJAA_EI_MAARITELTY;
     // Tarpeeton.
     $paluupainike_koosteisiin = $this->koostenakymat->nayta_painike_paluu_koosteeseen($kooste->get_id(), $elem_id);
     // Tämä palauttaa kokonaisuusnäkymään:
     $paluupainike = $this->paluupainike;
     $palauteolio->set_sisalto($tuloste);
     $palauteolio->set_linkkihtml($paluupainike . $paluupainike_koosteisiin);
     $palauteolio->set_nayta_kiintolinkit(false);
     $palauteolio->set_valikkonaytto(false);
     $palauteolio->set_nayttotapa(Html_koodi::$sisaltoelem_levea);
 }