Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
Rotendahl opened this issue Jan 15, 2020 · 26 comments
Open

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

Rotendahl opened this issue Jan 15, 2020 · 26 comments
Assignees
Labels
B Priority B

Comments

@Rotendahl
Copy link
Contributor

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 [email protected] Vejnavn 20, 5000 navn BY
Barn Miss 1337. [email protected] (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.
@Rotendahl Rotendahl added the feature ny oplevelse eller adfærd label Jan 15, 2020
@JondareHM
Copy link
Contributor

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

@Rotendahl
Copy link
Contributor Author

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
Copy link
Contributor

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

@Rotendahl
Copy link
Contributor Author

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
Copy link
Contributor

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

@Rotendahl
Copy link
Contributor Author

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
Copy link
Contributor Author

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
Copy link
Contributor

Ah ok, så er jeg med.

@JondareHM
Copy link
Contributor

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
Copy link
Contributor Author

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
Copy link
Contributor Author

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
Copy link
Contributor

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
Copy link
Contributor Author

Rotendahl commented Jan 20, 2020 via email

@lakridserne
Copy link
Contributor

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
Copy link
Contributor

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
Copy link
Contributor

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
Copy link
Member

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

@JondareHM
Copy link
Contributor

@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
Copy link
Contributor

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
Copy link
Contributor Author

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
Copy link
Member

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

@JondareHM
Copy link
Contributor

@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
Copy link
Member

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

@lakridserne
Copy link
Contributor

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

@mhewel
Copy link
Contributor

mhewel commented Jan 24, 2023

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
Copy link
Contributor

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
B Priority B
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants