Closed mariusmandal closed 3 years ago
Legg til testdata
Gå tilbake til arrangementssystemet
Her vil du nå se svarene fra påmeldingen du akkurat gjennomførte, selv om du har meldt deg av. Arrangøren har ikke lenger bruk for svarene dine når du ikke er påmeldt, og rapporten skal derfor hoppe over de.
Tilnærming: Programmering
Endre rapporten slik at svar fra avmeldte innslag hoppes over. Vi skal ikke slette svarene, vi skal bare hoppe over de.
For hvert svar i skjemaet, hent ut innslaget, sjekk om innslaget er påmeldt (UKMNorge\Innslag\Innslag->erPameldt()
) og hopp over hvis ikke.
Vi har to ulike typer skjema: deltakerskjema
og infoskjema
.
Begge to bruker samme twig-fil twig/Skjema/rapport.html.twig
For å skille mellom hvilket skjema du har, kan du bruke skjema.getType()
som vil gi enten arrangement
eller person
tilbake.
For å finne innslaget til en respondent
i et person-skjema kan du bruke følgende:
{% if arrangement.getInnslag().harKontaktPameldingFor('person', respondent.getPerson() ) %}
Deltakerskjema:
Infoskjema
OBS: arrangement.getInnslag().harKontaktPameldingFor()
er ikke implementert enda
UKMNorge/UKMapi#135 innfører ønsket funksjonalitet, bare på en litt annen måte enn først tenkt @slogan-15 . Koden er ikke merget til master enda, men du kan sjekke ut pull requesten mens du utvikler 😊
Ny metode:
{% if respondent.getPerson().harInnslagFor( type ) %}
Dette krever at type
er sendt inn til twig, noe ca sånn (husker ikke hvordan view data settes i dette tilfellet)
use UKMNorge\Innslag\Typer\Typer;
$view_data['type'] = Typer::getByKey('person');
I rapporten for ekstra spørsmål til deltakere, kan admin nå få en rapport med svarene til personer som har meldt seg av igjen. Svarene kan godt ligge lagret i databasen, men når vi henter ut rapporten, bør den fjerne svarene til de som er avmeldt.
OBS: samme rapport brukes også for videresendingsskjema, som ikke har samme problemstilling, så vi må ikke ødelegge for denne.