CodingPirates / forenings_medlemmer

Medlemskartotek for foreninger, der involverer flere afdelinger, frivillige og børn i Danmark.
https://members.codingpirates.dk
GNU General Public License v3.0
27 stars 29 forks source link

[Feature] Udtræk af medlemmer af en forening. #391

Open Rotendahl opened 4 years ago

Rotendahl commented 4 years ago

Overordnet beskrivelse af funktionen Hvis en person er logget ind og er admin for en forening burde de kunne se en side med alle deres medlemmer.

Tabellen skal indeholde

Type Navn email adresse
Voksen Kaptajn Hack mail@example.com Vejnavn 20, 5000 navn BY
Barn Miss 1337. mail@example.com (forældre mail) Vejnavn 20, 5000 navn BY

User story (Eksempel på frivillig sign up)

  1. Jørgen Logger ind på members.codingpirates.dk
  2. Jøren går til /union_overview
  3. Han bliver vist en tabel over de medlemmer der er er i indeværende kalender år.
  4. Han har mulighed for at vælge hvilket år han vil se medlemmer for.
JondareHM commented 4 years ago

Bare for at være sikker, union_overview er en ny admin side for afdelingsledere?

Rotendahl commented 4 years ago

Jeps, det ville det være. Så det er en god mulighed for at prøve at lave både et view og en template fra bunden :)

JondareHM commented 4 years ago

Awesome, det giver jeg mig i kast med så!

Rotendahl commented 4 years ago

Django tutorial har en god guide til de filer du skal igennem. Fra hukommelse er det.

  1. Tilføj linje i urls.py
  2. tilføj modul views/unione_overview.py
  3. Tilføj template
JondareHM commented 4 years ago

Også når det er en admin side? så vidt jeg kan se ligger de alle sammen bare inde i members/admin?

Rotendahl commented 4 years ago

Godt spørgsmål. Det kunne jeg godt have beskrevet bedre.

Jeg tænker faktisk at lave den uden for admin interface, så den har sin egen url. Det er stadig ret nemt at gøre sådan at man skal være logget ind for at se den.

Hvis du starter med at lave det som en offentligt side skal jeg nok senere give dig en guide til hvordan du kan låse den af.

Rotendahl commented 4 years ago

Lidt baggrundsviden:

Vi har snakket om i lang tid lige så stille at begynde at lave vores egen admin sider uden for djangos eget da det låser os meget.

Det her er så første trin

JondareHM commented 4 years ago

Ah ok, så er jeg med.

JondareHM commented 4 years ago

Inden jeg går helt amok med alle mulige underlige ting, er der en nem måde at få en liste over medlemmer af en forening? For så vidt jeg kan se skal jeg ud i at finde alle afdelinger under foreningen, og så finde alle medlemmer under hver af de afdelinger.

Rotendahl commented 4 years ago

Nej der er desværre ikke en funktion til at få alle medlemmer af en forening. Så det skal du skrive ;)

Læg den på union.py så jeg bare kunne skrive (union.members()) og så få en liste med alle members i foreningen.

Med hensyn til hvad der betegner et medlem så er der nogle formelle regler som Michael, @lakridserne og Camilla kender bedst.

Det er vidst noget med alle personer der har deltaget i en aktivist i foreningen hvor de minimum har betalt 75kr.

Den funktion kommer til at være kernen i det view og består nok af en del x.objects.filter. Så det er også en god mulighed for at prøve at skrive nogle unit tests.

Rotendahl commented 4 years ago

En rettelse. Hvis jeg kalder funktionen skal den give mig en dict med år som keys og en liste af persons som values. Så jeg f.eks får noget i stil med

members = union.members() 
members = {"2019" : [<Person Ole>,<Person Hans>], "2018": [<Person Lone>, <Person Signe>]}
JondareHM commented 4 years ago

Allright, må bare klø på så. Tror jeg starter med bare at gå udfra member.is_active indtil den del virker, så kan jeg få den formelle betegnelse ind bagefter

Rotendahl commented 4 years ago

God ide, den er også nemmere at fake mens du udvikler. Giv endelig lyd hvis det driller.

Camilla ved også hvilke felter der skal være i den endelige tabel, og har måske ønsker til ekstra så hold endelig hende orienteret.

On 20 Jan 2020, at 15.13, JondareHM notifications@github.com wrote:

Allright, må bare klø på så. Tror jeg starter med bare at gå udfra member.is_active indtil den del virker, så kan jeg få den formelle betegnelse ind bagefter

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/CodingPirates/forenings_medlemmer/issues/391?email_source=notifications&email_token=AA3JRV7E7AY6DEVY2IFDVKTQ6WWQXA5CNFSM4KHLP5I2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEJMYJUI#issuecomment-576292049, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA3JRV6VC6JEJMUIKMHD6FLQ6WWQXANCNFSM4KHLP5IQ.

lakridserne commented 4 years ago

Hej @JondareHM

Jeg har lige snakket med @Rotendahl, og ved lejlighed kan du godt kigge videre på denne. Jeg laver selve den funktion du skal bruge til at trække medlemmerne ud, sådan at du på modelniveau kan kalde den og sige at du godt vil have de data.

For at kunne kalde funktionen skal du bruge union.members() - og du kan som parameter til den funkition passe årstallet (altså f.eks. union.members(year=2019) )

JondareHM commented 4 years ago

Ok, så jeg skal bare lave selve viewet og så tager du dig af det "behind the scenes"? Har som sagt allerede lavet en del på members() funktionen, ved ikke om der er noget der du kan bruge.

Derudover så var jeg begyndt at kigge på viewet alligevel, men kunne ikke finde ud af hvordan det virkede med at få info om den aktuelle bruger så jeg kunne få deres union.

lakridserne commented 4 years ago

Cool. Jeg kigger lige på det.

Hvis du ser i nogle af de andre views så returner den og render et bestemt template med data.

JakobLibak commented 4 years ago

Hvor langt er I kommet med denne? @JondareHM @lakridserne

JondareHM commented 4 years ago

@JakobLibak Ved ikke hvor langt @lakridserne er med union.members funktionen, og tænker at det ikke giver den store mening at gå i gang med resten før den er på plads så jeg alligevel kan teste det hele.

JondareHM commented 4 years ago

Nogle spørgsmål til hvordan det skal se ud:

På entrypage, skal jeg bare lave en femte box/knap som kun er synlig for de relevante, eller skal vi lave et helt andet design?

Og inde på selve union_overview, hvad gør vi hvis folk er admin for flere foreninger, f.eks. fordi de er superusers? Er det overhovedet noget der er relevant for andre end de få superusers?

Og skal jeg lave således at man kun ser listen for det indeværende år, eller skal der være mulighed for at vælge hvilket år man vil se?

Rotendahl commented 4 years ago

Hej @JondareHM. Hver forening skal have sin egen url, brug evt. deres id i url. eller en slug hvis det skal være rigtig nice. Så det er to slags urls. members.codingpirates.dk/union_overview den skal vise en liste over alle foreninger. Evt. ligesom department_overview. Når man så trykker på en forening kommer man ind på en url members.codingpirates.dk/union_overview/<id> hvor man så ser foreningens side.

Så skal hver forening have sin egen side. Den side kan alle gå ind på, men du kan kun se medlemmer hvis du er logget ind og er admin for den forening. Jeg har lavet et udkast til den her

Screenshot 2020-02-19 at 14 21 00

Det er sådan siden skal se ud hvis man ikke er logget ind. (Referater og vedtægter skal være links der lægger på modellen F.eks til noget Google docs)

Hvis man er logget ind skal siden se sådan her ud

Screenshot 2020-02-19 at 14 25 11
JakobLibak commented 4 years ago

@JondareHM , hvad er status på denne ændring? Og har du brug for input eller mere teknisk hjælp?

JondareHM commented 4 years ago

@JakobLibak Som jeg skrev i PR'en så er min del egentlig mere eller mindre færdig. Skal have @Rotendahl's hjælp til at gøre så medlemslisten i sig selv kun er synlig for foreningsledere, og @lakridserne skal have implementeret union.members() funktionen, lige nu er det bare en temp en for at teste.

JakobLibak commented 4 years ago

Afhængig af #487 for at kunne færdigkodes.

lakridserne commented 2 years ago

@mhewel foreslog, at det skulle være for andre år også. Det kigger vi på ifbm. review af PR.

mhewel commented 1 year ago

Der skal helst være EN måde at gøre det på, hvadenten CP DK skal ha oversigt over foreninger/afdelinger, oversigt over medlememer - fordeling af alder (for CP DK eller en lokalforening), og detaljer (f.x. lokalforening der skal sende til kommune, udtræk til DUF etc).

lakridserne commented 1 year ago

På udviklermøde d. 17. april er vi blevet enige om, at prioritere den som B. Denne relaterer sig til #291