Scouterna / skojjt

Närvarorapportering för scouter
Apache License 2.0
14 stars 15 forks source link

Lägerbidrag för Stockholm #89

Closed tobbee closed 5 years ago

tobbee commented 5 years ago

Har som nämnts i Issue #88 generaliserat lägerbidragsansökan som bara fanns för Gbg så att det nu finns mall för Stockholm också. Stockholmsmallen är ett word-dokument från Idrottsförvaltningen och det behövs lite andra uppgifter och andra uträkningar. Grundprincipen att man måste fylla i vem som är närvarande varje dag som ett nytt "möte" och att man kan söka på kårnivå eller avdelningsnivå finns kvar.

En summering av vad som gjorts:

  1. Närvarorapportering har en ny kryssrutan "Del av läger". Om man kryssar i den ändras default-namnet till Läger istället för Möte och Starttid och Längd göms. I sammanställningen syns det att ett möte är del av läger, neon att namnet är grönt istället för blått. Att kunna gömma läger-dagar kan vara intressant i framtiden, men är inte implementerat ännu.

  2. Under Närvarorapport finns nu en ny knapp [Lägerbidrag Stockholm] under motsvarande för Gbg. Motsvarande på Kårnivå under listan på avdelningar.

  3. Under Kårinformation (under avdelningar) kan man fylla i flera för kåren som Firmatecknare och Firmartecknartelefon som fylls i i lägerbidragsansökan

  4. Villkor (antal dagar etc) finns för region gbg´ ochsthlm` i lagerbidrag.py. Där räknas de sammanställningar ut som behövs.

  5. I samma fil anropas även rendering med olika templates, HTML för gbg och Word för sthlm.

  6. Jag har gjort en del refaktorering för att få ner mängden kod och inte repetera saker för mycket. Flyttade ut lite saker från start.py till lagerbidrag.py

  7. Inventeringen i lagerbidrag.py var med mellanslag och jag har fortsatt med det. Det är det rekommenderade enligt PEP8 medan det mesta av den andra koden i projektet kör med tabbar.

Tänkbara förbättringar:

F0. Gör det möjligt att generera flera lägerdagar på en gång. F1. Ta hänsyn till om ett möte är läger eller inte i närvarorapporten/Excel-export (kan inte vara båda i Stockholm) F2. Gör det möjligt att kopiera en lägerdag till nästkommande för snabb ifyllnad F3. Gör det möjligt att gömma lägerdagar i närvarosidan F4. Mer generellt. Gör om inventeringen i alla filer till att använda mellanslag.

Har bara kört detta lokalt ännu, men både Gbg och Sthlm-rapporter ser ut att fungera fint.

All feedback är förstås välkommen.

tobbee commented 5 years ago

Fixat F2 genom att ge närvaro-togglen tre tillstånd om det finns ett möte dagen innan. Går mellan tomt, samma som dagen innan, fullt.

tobbee commented 5 years ago

Har lagt till en ny knapp för "Nytt läger" som genererar ett antal "lägermöten" från en startdatum och framåt med samma namn och flaggan för hike/läger ifylld. Tillsammans med funktionen för att kopiera närvaro från föregående dag snabbar det upp ifyllnad av lägernärvaro betydligt.

martin-green commented 5 years ago

Jag får fel när jag testar.

File "skojjt\lib\mailmerge.py", line 3, in <module> from lxml.etree import Element
ImportError: No module named lxml.etree

Jag ser att lxml finns med i app.yaml, så det borde räcka. Vet du varför det blir fel här?

martin-green commented 5 years ago

Jag la till lxml==4.4.0 i requirements.txt och installerade, då funkar det.

kesse commented 5 years ago

Funderar på delen med att Starttid och Längd göms. För rapporten till sensus så används tiden och där ingår ju även lägren. Så fungerar inte så bra att gömma fälten.

tobbee commented 5 years ago

OK. Vi brukar inte rapportera till Sensus. Man kan låta tiden vara kvar men att den fylls i som start 00:00 och längd 1440min som default om det fungerar? Det är de tider som fylls i om man trycker på "Nytt Läger".

tobbee commented 5 years ago

Hittade 2 mindre saker att fixa. Någon kanske har input på hur?

1). När det finns ett möte föregående dag och den inte har någon ifyllnad av närvaro alls, funkar inte 3-tillstånds toggle-knappen för hela mötet (det finns inget mellantillstånd med "delvis närvaro"), utan man måste börja med att fylla i första dagen på lägret och sen kan man kopiera till nästa dag. Det är ju rätt bra, men det skulle behövas info när man trycker på toggle-knappen i det fallet. Alternativet är att toggle-knappen togglar mellan alla närvarande och ingen närvarade i detta fall. 2) Vårterminen slutar sista juni, så om man vill man fylla i aktivitet som ett läger som är i juli eller augusti, funkar det inte pga validitetscheck. Ser ut som att man borde kunna ha överlappande intervall: VT 1/1 - 31/8, HT 1/7 - 31/12 (eller alternativt in i januari året efter). Ser ni några bekymmer med det?

puggan commented 5 years ago

VT 1/1 - 30/6, HT 1/7 - 31/12 kommer nog från Göteborgs rapporterings intervall, när vi haft läger över månadskiftet så har vi fått registerade en del av lägret som vårtermin och en annan del som hösttermin.

kesse commented 5 years ago

Tror folk i göteborg kommer att göra fel vid rapporteringen om man har överlapp.

Man kan kanske lägga in en inställning där man kan styra hur mycket som terminerna ska överlappa på sommaren.

TobbeEdgeware commented 5 years ago

Lite mismatch med att man har annan avdelningstillhörighet på höstterminen, medan sommaren har vårens avdelningstillhörighet och att man behöver byta till HT på sommaren och fylla i ansökan med VT avdelningar.

Men, att ställa in detta per kår kanske är en bra kompromiss för att få till det. Borde kunna gå bland andra kårinställningar.

TobbeEdgeware commented 5 years ago

Ett annat potentiellt problem är ifyllnad av flera lägerdagar på en mobil eftersom man inte kan scrolla. Lägger man till mer än 6 dagar har man ingen chans att se den första dagen även i landskapsmod. På datorn kan jag däremot scrolla sidledes. Finns det någon lätt sätt att slå på sidoscrollning för närvarorappoteringen i mobil-vyn?

tobbee commented 5 years ago

Jag hade fel. Det går att scrolla på mobilen. Det är bara väldigt trögt...

tobbee commented 5 years ago

Jag har ändrat så att starttid och längd inte göms för läger, samt fixat problemet med närvarotogglen om dagen innan var helt tom, så det börjar kännas någorlunda klart.

Terminsindelningen verkar lite svår att få till på ett vettigt sätt. Jag kör en egen instans av skojjt och där har jag helt enkelt tagit bort kollen av maxDatum för terminen.

Rapporteringsdelen inklusive Excel-rapporten är fortfarande knuten till Göteborgsintervallet 7-25år. Stockholm vill ha redovisning i fler intervaller 7-9, 10-12, 13-15, 17-20år separerat för pojkar och flickor, men det får bli en senare PR.

martin-green commented 5 years ago

Så nu är det publicerat. Snygg rapport för Stockholm. Vi borde göra så för Göteborg också. Bra jobbat!