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

INVOICES: Parameter Sektion #472

Closed
5 tasks
codez opened this issue Apr 12, 2024 · 6 comments · Fixed by #532
Closed
5 tasks

INVOICES: Parameter Sektion #472

codez opened this issue Apr 12, 2024 · 6 comments · Fixed by #532

Comments

@codez
Copy link
Contributor

codez commented Apr 12, 2024

Als Sektionsadmin möchte ich die Parameter für die Mitgliedsrechnungen verwalten können.

Siehe auch #471. Diese Parameter sind versioniert und können pro Kalendarjahr wechseln, müssen aber nicht.

Model

Der Einfachheit halber halten wir das Model flach in einer Tabelle section_membership_configs:

  • Sektion / group_id (integer, not null, belongs_to, index)
  • Gültig ab / valid_from (integer, not null, 4 digits, unique über group_id)

Folgende Attribute sind alle Frankenbeträge und entsprechend decimal, 2 Nachkommastellen, not null:

  • Sektionsbeitrag, Einzelmitgliedschaft / section_fee_adult

  • Sektionsbeitrag, Familienmitgliedschaft / section_fee_family

  • Sektionsbeitrag, Jugendmitgliedschaft / section_fee_youth

  • Eintrittsgebühren, Einzelmitgliedschaft / entry_fee_adult

  • Eintrittsgebühren, Familienmitgliedschaft / entry_fee_family

  • Eintrittsgebühren, Jugendmitgliedschaft / entry_fee_youth

  • Abogebühr Sektionsbulletin, Einzelmitgliedschaft / bulletin_fee_adult

  • Abogebühr Sektionsbulletin, Familienmitgliedschaft / bulletin_fee_family

  • Abogebühr Sektionsbulletin, Jugendmitgliedschaft / bulletin_fee_youth

  • Porto Ausland Sektionsbulletin / bulletin_postage_abroad

Reduktionsparameter:

  • Zentralverbandsgebührenerlass für Ehrenmitglieder / sac_fee_exemption_for_honorary_members (bool, not null, default false)

  • Sektionsgebührenerlass für Ehrenmitglieder / section_fee_exemption_for_honorary_members (bool, not null, default false)

  • Zentralverbandsgebührenerlass für Begünstigte / sac_fee_exemption_for_benefited_members (bool, not null, default false)

  • Sektionsgebührenerlass für Begünstigte / section_fee_exemption_for_benefited_members (bool, not null, default false)

  • Reduktionsbetrag Mitgliedsjahre/Alter / reduction_amount

  • Reduktion ab Mitgliedsjahren / reduction_required_membership_years (integer, nullable)

  • Reduktion ab Altersjahren / reduction_required_age (integer, nullable)

View

Der Titel der Seite ist immer "Parameter für Mitgliedschaftsrechnungen". Die Seite wird als Sheet unterhalb der Gruppe angezeigt, so dass der Gruppenname weiterhin ersichtlich ist.

Navigation

Da die Parameter nur selten bearbeitet werden müssen, erfolgt die Navigation über das Dropdown des "Bearbeiten" Buttons einer Sektion. Dort gibt es einen neuen Eintrag "Parameter Mitgliedsrechnungen".

Formular

Die Felder sollen analog dem Mockup aus #471 angeordnet werden. Die Reduktionsparameter erscheinen in der oben definierten Reihenfolge.

Auswahl Jahr

Die Auswahl des Jahres erfolgt analog zu #471.

ToDo

  • Migration erstellen
  • Model/View/Controller anpassen
  • Specs schreiben
  • Run annotate for new models
  • Mit angemessener Rolle "durchklicken"
@codez codez assigned codez and sykesonrocks and unassigned codez Apr 12, 2024
@sykesonrocks sykesonrocks removed their assignment Apr 24, 2024
@mtnstar mtnstar self-assigned this May 6, 2024
@mtnstar mtnstar added the blocked Waiting for another issue to be finished before this can be continued label May 6, 2024
@mtnstar
Copy link
Member

mtnstar commented May 13, 2024

@codez wer ist denn der Sektionsadmin?
eine Person mit der Rolle Mitgliederverwaltung? Oder Administration?
oder einfach jemand der Schreibrechte auf dem Layer hat?

@mtnstar mtnstar removed the blocked Waiting for another issue to be finished before this can be continued label May 13, 2024
@codez
Copy link
Contributor Author

codez commented May 14, 2024

Jemand der die Layer Gruppe bearbeiten darf. Das kann wer direkt aus dem Layer sein oder darüber.

@mtnstar
Copy link
Member

mtnstar commented May 16, 2024

@codez sehe ich es richtig das man diese Parameter auch auf einer Ortsgruppe setzen kann?

@codez
Copy link
Contributor Author

codez commented May 16, 2024

@mtnstar @sykesonrocks Da kenne ich die SAC Strukturen zu wenig. Von der Gruppenstruktur in hitobito würde es gut gehen. Haben Ortsgruppen auch eigene Gebühren? Zählen in diesem Fall nur diese, und nicht diejenigen der übergeordneten Sektion?

So wie inzwischen der Rechnungscode (#502) gebaut ist, müssten Ortsgruppen eigentlich eigene Parameter haben. Ansonsten bräuchte es da noch Anpassungen, damit Ortsgruppenmitglieder die Sektionsgebühren verrechnet erhalten.

@mtnstar
Copy link
Member

mtnstar commented May 16, 2024

die Sektion Blüemlisalp hat ja die Ortsgruppe Ausserberg, dort sind laut SAC Webseite die gleichen Preise für die Mitgliedschaft.
Ich weiss aber nicht wie das andere Sektionen handhaben.
@sykesonrocks was meinst du?
man könnte beim Auslesen der Parameter auf einer Ortsgruppe es so implementieren das wenn keine Parameter direkt auf der Ortsgruppe vorhanden sind das diese der Parent Sektion übernommen werden

@sykesonrocks
Copy link
Collaborator

@mtnstar Die Preise auf Stufe Ortsgruppe müssen immer erfasst sein - dürfen nie leer sein. Diese gilt es als eigenständige Sektionen zu betrachten / zu fakturieren. Ortsgruppen derselben Sektion können unterschiedliche Preise ausweisen (ist meist der Fall, siehe z.B. CAS Diablerets, SAC Pilatus).

@mtnstar mtnstar assigned codez and unassigned mtnstar May 24, 2024
@codez codez assigned tobiasstern and unassigned codez May 24, 2024
@tobiasstern tobiasstern removed their assignment May 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

7 participants