{"action":"created","issue":{"url":"https://api.github.com/repos/cybrairai/okonomi/issues/8","labels_url":"https://api.github.com/repos/cybrairai/okonomi/issues/8/labels{/name}","comments_url":"https://api.github.com/repos/cybrairai/okonomi/issues/8/comments","events_url":"https://api.github.com/repos/cybrairai/okonomi/issues/8/events","html_url":"https://github.com/cybrairai/okonomi/issues/8","id":59169841,"number":8,"title":"Integrere medlemsdatabasen","user":{"login":"henrist","id":703354,"avatar_url":"https://avatars.githubusercontent.com/u/703354?v=3","gravatar_id":"","url":"https://api.github.com/users/henrist","html_url":"https://github.com/henrist","followers_url":"https://api.github.com/users/henrist/followers","following_url":"https://api.github.com/users/henrist/following{/other_user}","gists_url":"https://api.github.com/users/henrist/gists{/gist_id}","starred_url":"https://api.github.com/users/henrist/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/henrist/subscriptions","organizations_url":"https://api.github.com/users/henrist/orgs","repos_url":"https://api.github.com/users/henrist/repos","events_url":"https://api.github.com/users/henrist/events{/privacy}","received_events_url":"https://api.github.com/users/henrist/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":5,"created_at":"2015-02-27T00:40:00Z","updated_at":"2015-05-31T21:13:41Z","closed_at":null,"body":"Medlemsdatabasen (se https://github.com/vegarang/medlemssystem_django/) kjører på en laptop som ligger på økonomikontoret. Å få denne på nett kan gi nye muligheter knyttet mot medlemslistene.\r\n\r\nJeg ønsker at vi flytter medlemsdatabasen inn i dette internsystemet. Samtidig tenker jeg at en del av modellene som eksisterer i dag bør skrives om, og kanskje bør man egentlig bare skrive alt på nytt og bruke gamle systemet som kickstart/hjelp. Det er i dag [to modeller](https://github.com/vegarang/medlemssystem_django/blob/master/core/models.py):\r\n* `Semester` (et objekt per semester)\r\n* `Person` (nytt objekt opprettes per faktiske person per semester det betales medlemsskap)\r\n\r\nJeg tenker at medlemssystemet kan utvides til å gi en del ekstra data/integeres mot øvrige tjenester. F.eks. hvem som har internstatus, at de med internstatus får logge inn i systemet, registrering av bonger på personer, kanskje kort-tilganger som vegardli ser på, m.v.\r\n\r\nEt krav her blir da at `Person` bindes til hver fysiske person, og gjelder for flere semestre (dog kan f.eks. medlemssalg i døra forårsake flere `Person`-objekter for samme fysisk person dersom navn er noe ulikt fra sist brukt uten at det nødvendigvis gjør noe, det er for våre interne det vil være vesentlig å ha samme `Person` på tvers av semestre).\r\n\r\nForslag til nye modeller:\r\n* `Person` (utvidelse av [`User` i Django])(https://docs.djangoproject.com/en/1.7/ref/contrib/auth/#django.contrib.auth.models.User)\r\n * (`User` har allerede `username`, `first_name`, `last_name` og `email` vi kan bruke)\r\n * phone\r\n * uiouser\r\n * is_lifetime_member\r\n* `Semester`\r\n * name\r\n * date_start\r\n * date_end\r\n* `Member` (ved livstidsmedlemsskap vil dette representere når det ble kjøpt/registrert)\r\n * foreign key to `Person`\r\n * foreign key to `Semester`\r\n * foreign key to `MemberSellGroup` (bør være valgfritt?)\r\n * type (enum: semester, lifetime, honored)\r\n * time\r\n * sell_value (f.eks. 30 for semstermedlem og 270/300 for livstidsmedlemsskap)\r\n * user_registered (brukernavn på den som registrerte dette)\r\n* `MemberSellGroup` (for å kunne ta oppgjør av medlemssalg på fredagspub)\r\n * time_start\r\n * time_end (hvis utfylt, låses gruppen)\r\n * title\r\n* `Intern`\r\n * foreign key to Person\r\n * foreign key to Semester\r\n * groupname (modellere en gruppe og bruke foreign key, så kan vi knytte tilgangsstyring mot grupper?)\r\n * role (f.eks. skjenkemester i bargruppa)\r\n * is_active (så man kan markere folk som ikke lengre aktive i løpet av semesteret, om ønskelig)\r\n\r\nTODO: hvordan støtte personer som ikke vil bli registrert som medlemmer ift. oppgjøret? (Eget felt \"other sales\" i MemberSellGroup?)\r\n\r\nTODO: hvem skal få opprette/redigere medlemsdata?\r\n\r\nTODO: hvordan håndtere sletting av data?\r\n\r\nEt kriterie for å flytte over medlemsdatabasen er påloggingsløsning, se #7. Dette bør gjøres parallelt, siden `Person` kan overta rollen som brukerobjekt i Django.\r\n\r\nAndre idéer med integrasjon av medlemsdatabase og internstatus:\r\n* Generering av livstidsmedlemskort for nye registreringer\r\n* Generering av internkort for nye registreringer"},"comment":{"url":"https://api.github.com/repos/cybrairai/okonomi/issues/comments/107247206","html_url":"https://github.com/cybrairai/okonomi/issues/8#issuecomment-107247206","issue_url":"https://api.github.com/repos/cybrairai/okonomi/issues/8","id":107247206,"user":{"login":"henrist","id":703354,"avatar_url":"https://avatars.githubusercontent.com/u/703354?v=3","gravatar_id":"","url":"https://api.github.com/users/henrist","html_url":"https://github.com/henrist","followers_url":"https://api.github.com/users/henrist/followers","following_url":"https://api.github.com/users/henrist/following{/other_user}","gists_url":"https://api.github.com/users/henrist/gists{/gist_id}","starred_url":"https://api.github.com/users/henrist/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/henrist/subscriptions","organizations_url":"https://api.github.com/users/henrist/orgs","repos_url":"https://api.github.com/users/henrist/repos","events_url":"https://api.github.com/users/henrist/events{/privacy}","received_events_url":"https://api.github.com/users/henrist/received_events","type":"User","site_admin":false},"created_at":"2015-05-31T21:13:41Z","updated_at":"2015-05-31T21:13:41Z","body":"Jeg er litt usikker på hvordan acl-stuff i Django fungerer. Vil tro det enkleste er å holde tilganger og medlemsskap litt separert, og heller bygge på/utvide senere.\r\n\r\nInntil videre settes man som admin manuelt gjennom Django-admin.\r\n\r\nEn fordel er derimot om man bruker acl for diverse rettigheter i medlemssystemet, slik at det er klart fra start. Vi bør kanskje kartlegge litt hvilke rettigheter som skal påkreves i medlemssystemet.\r\n\r\n![image](https://cloud.githubusercontent.com/assets/703354/7903900/7dd8edc4-07ea-11e5-91e2-c6ac8cfb2e79.png)\r\n"}}