Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
de:2.0:mitgliedsbeitraege_in_admidio [2011/01/07 21:45] – geraldlutter | de:2.0:mitgliedsbeitraege_in_admidio [2011/01/07 23:11] (current) – geraldlutter | ||
---|---|---|---|
Line 12: | Line 12: | ||
</ | </ | ||
- | Daraufhin sollte in der Tabelle **adm_categories** ein neuer Eintrag erscheinen. Wichtig ist für den nächsten Schritt der Wert in der Spalte **cat_id**, der im Folgenden mit **< | + | Daraufhin sollte in der Tabelle **adm_categories** ein neuer Eintrag erscheinen. Wichtig ist für den nächsten Schritt der Wert diesen neuen Eintrags |
<code sql> | <code sql> | ||
Line 23: | Line 23: | ||
Sollten die Felder erfolgreich in die Datenbank eingefügt worden sein, kann mit der Konfiguration des Plugins begonnen werden. | Sollten die Felder erfolgreich in die Datenbank eingefügt worden sein, kann mit der Konfiguration des Plugins begonnen werden. | ||
+ | |||
===== Funktionsweise des Plugins ===== | ===== Funktionsweise des Plugins ===== | ||
Line 33: | Line 34: | ||
Sollten Beiträge bereits am Anfang des Jahres eingezogen worden sein, so können diese auch zu einem späteren Zeitpunkt nochmals eingezogen werden. Einzige Voraussetzung hierbei ist die Angabe des Monats der letzten Abrechnung. Es wird dabei nur der Beitrag von Mitgliedern eingezogen, die nach dem bereits durchgeführten Abrechnungsmonat beigetreten sind. | Sollten Beiträge bereits am Anfang des Jahres eingezogen worden sein, so können diese auch zu einem späteren Zeitpunkt nochmals eingezogen werden. Einzige Voraussetzung hierbei ist die Angabe des Monats der letzten Abrechnung. Es wird dabei nur der Beitrag von Mitgliedern eingezogen, die nach dem bereits durchgeführten Abrechnungsmonat beigetreten sind. | ||
- | |||
==== Organisation der Datenbank ==== | ==== Organisation der Datenbank ==== | ||
Um Familienbeiträge abwickeln zu können, wurde innerhalb der Rollenzuordnung eine neue Kategorie **Familien** eingeführt. Innerhalb dieser Kategorie befinden sich dann als Rollen die einzelnen Familien, denen die jeweiligen Familienmitglieder zugeordnet sind. | Um Familienbeiträge abwickeln zu können, wurde innerhalb der Rollenzuordnung eine neue Kategorie **Familien** eingeführt. Innerhalb dieser Kategorie befinden sich dann als Rollen die einzelnen Familien, denen die jeweiligen Familienmitglieder zugeordnet sind. | ||
Line 39: | Line 39: | ||
Um beitragsfreie Ehrenmitglieder verwalten zu können, wurde ebenfalls eine Rolle **Ehrenmitglied** eingeführt, | Um beitragsfreie Ehrenmitglieder verwalten zu können, wurde ebenfalls eine Rolle **Ehrenmitglied** eingeführt, | ||
- | Die Beitragssätze selbst befinden sich nicht in der Datenbank, sondern werden über die Konfiguration des Plugins festgelegt. Als zusätzliche Information muss für den automatischen Beitragseinzug für ein Mitglied die Bankverbindung angegeben werden, deshalb auch die zusätzlichen Felder in der Datenbank, welche oben beschrieben | + | Die Beitragssätze selbst befinden sich nicht in der Datenbank, sondern werden über die Konfiguration des Plugins festgelegt. Als zusätzliche Information muss für den automatischen Beitragseinzug für ein Mitglied die Bankverbindung angegeben werden, deshalb auch die zusätzlichen Felder in der Datenbank, welche oben beschrieben |
==== Ausgaben des Plugins ==== | ==== Ausgaben des Plugins ==== | ||
Nachdem der Beitragseinzug mit Hilfe des Plugins ermittelt wurde, werden drei Dateien zur Verfügung gestellt, welche folgenden Inhalt haben: | Nachdem der Beitragseinzug mit Hilfe des Plugins ermittelt wurde, werden drei Dateien zur Verfügung gestellt, welche folgenden Inhalt haben: | ||
Line 47: | Line 47: | ||
* Eine csv Datei, die nur die Daten der Mitglieder enthält, welche per Rechnung Ihren Mitgliedsbeitrag bezahlen wollen. Diese kann dann mit einem Textverarbeitungsprogramm für einen Serienbrief herangezogen werden. | * Eine csv Datei, die nur die Daten der Mitglieder enthält, welche per Rechnung Ihren Mitgliedsbeitrag bezahlen wollen. Diese kann dann mit einem Textverarbeitungsprogramm für einen Serienbrief herangezogen werden. | ||
- | * Eine Kontrolldatei für das **dtaus** Programm, mit dem in einem weiteren Schritt eine dtaus0.txt für den automatischen Bankeinzug erstellt werden kann. | + | * Eine Kontrolldatei für das **dtaus** Programm, mit dem in einem weiteren Schritt eine dtaus0.txt |
+ | ==== Algorithmus zur Bestimmung der Beiträge ==== | ||
+ | - Für alle Mitglieder werden die persönlichen Daten abgefragt und temporär in einem array gespeichert. | ||
+ | - Es werden alle Familien abgefragt. Das sind Rollen, die innerhalb der Kategorie **Familien** abgelegt sind, wie es oben bereits beschrieben wurde. | ||
+ | - Die Mitglieder der einzelnen Familien werden hierbei aus dem array aus Punkt 1 gelöscht und befinden sich jetzt nur noch innerhalb der Familienzuordnung. | ||
+ | - Die Ehrenmitglieder, | ||
+ | - Beginn der Beitragsberechnung: | ||
+ | - Für jede Familie wird der Familienbeitrag bestimmt. Dabei wird zufällig ein Mitglied aus der Familie ausgewählt, | ||
+ | - Die Mitgliedsbeiträge werden anhand der Altersstaffelung aus dem erstellten array bestimmt | ||
+ | - Die Entscheidung ob Rechnung oder Bankeinzug erfolgt danach ob für ein Mitglied Kontodaten hinterlegt sind oder nicht. | ||
+ | - Die erstellten Beitragsdateien können heruntergeladen werden | ||
+ | |||
+ | Wer näheres über die genaue Funktionsweise des Plugins erfahren möchte kann sich den Quellcode dazu innerhalb der Datei **mitgliedsbeitrag.php** ansehen. Die einzelnen Schritte sind in Kommentaren zum Quelltext aufgeführt. | ||
+ | |||
+ | ===== Installation des Plugins ===== | ||
+ | Wie allgemein für Plugins üblich muss die [[http:// | ||
+ | <code php> | ||
+ | if($g_current_user-> | ||
+ | { | ||
+ | include(SERVER_PATH."/ | ||
+ | } | ||
+ | </ | ||
+ | Auf **keinen Fall** sollte das Plugin so eingebunden werden, dass es bei jedem Benutzer angezeigt wird. | ||
===== Konfiguration des Plugins ===== | ===== Konfiguration des Plugins ===== | ||
- | tbd | + | Innerhalb des Verzeichnis **adm_plugins/ |
+ | * Mitglieder von 0 - 14 Jahren: 10 € | ||
+ | * Mitglieder von 15 - 18 Jahren: 15 € | ||
+ | * Mitglieder ab 19 Jahren: 30 € | ||
+ | |||
+ | <code php> | ||
+ | $beitrag_beitraege_einzel[0][' | ||
+ | $beitrag_beitraege_einzel[0][' | ||
+ | $beitrag_beitraege_einzel[1][' | ||
+ | $beitrag_beitraege_einzel[1][' | ||
+ | $beitrag_beitraege_einzel[2][' | ||
+ | $beitrag_beitraege_einzel[2][' | ||
+ | </ | ||
+ | |||
+ | Der Familienbeitrag wird über die Variable '' | ||
+ | |||
+ | <code php> | ||
+ | $beitrag_familie = 650000; | ||
+ | </ | ||
+ | |||
+ | Weitere wichtige Felder für den Beitragseinzug sind das Konto auf das eingezogen werden soll, der Verwendungszweck, | ||
+ | |||
+ | <code php> | ||
+ | $beitrag_filename_list = SERVER_PATH."/ | ||
+ | $beitrag_filename_csvrechnung = SERVER_PATH."/ | ||
+ | $beitrag_filename_dtaus_ctl = SERVER_PATH."/ | ||
+ | $beitrag_einzugstext = " | ||
+ | $beitrag_ktonr_target = " | ||
+ | $beitrag_blz_target = " | ||
+ | $beitrag_inhaber_target = " | ||
+ | </ | ||
===== Erzeugen der dtaus0.txt mit dtaus ===== | ===== Erzeugen der dtaus0.txt mit dtaus ===== | ||
- | tbd | + | Um aus der vom Plugin zur Verfügung gestellten Kontrolldatei eine dtaus0.txt Datei zu erzeugen, wird das Programm [[http:// |
+ | <code bash> | ||
+ | dtaus -d dtaus0.txt -c dtaus0.ctl -b begleit.txt -o dtaus0.sik -dtaus | ||
+ | </ | ||
+ | Hierbei werden aus der Datei **dtaus0.ctl**, | ||
+ | * **dtaus0.txt**: | ||
+ | * **begleit.txt**: | ||
+ | * **dtaus0.sik**: |