GithubHelp home page GithubHelp logo

sw.allotmentclub.backend's Introduction

sw.allotmentclub.backend's People

Stargazers

 avatar

Watchers

 avatar

sw.allotmentclub.backend's Issues

WYSIWYG Editor Bugfixes

  • Preview tut nicht
  • Beim ersten Klick auf Buttons wird gespeichert, was (nur) bei Andreas zu Verwirrungen führt.

Grundstücke erweitern

  • Hochladen von Dokumenten
  • Typ: Auflassungsvormerkung, Grundbuchauszug, Kaufvertrag, Sonstiges

Mitgliederwechsel

könntest Du dem Bungalow 134 (ehemals Sandy Thomas) bitte Christine Kurtz zuordnen? Von ihr sind auch schon Beitritt und Beitrag eingegangen (bitte auch noch die Soll-Beträge dazu schreiben, danke schön). Sandy Thomas ist ganz weg und raus und schuldenfrei.

Kalender

neue Kategorie Kalender

  • für Eintragung Termine Mitgliederversammlung, Einzug Lastschriften, Elektroanlesung

  • für Eintragungen Vorstandssitzungen, Arbeitseinsätze

  • für div. anderer Termine

  • Unterscheidung Relevanz Vorstand/Mitglied

  • Bei Anlage Vorstandssitzung/Arbeitseinsatz Auswahl des Termins aus Kalender

  • Generierung Termin-Übersicht Infoschreiben

  • Generierung ICS Datei Vorstand/Mitglieder

Parkplatzpacht

bitte bei Wustmann noch die Soll-Beträge für die Parkplatzpacht eintragen. Der Betrag 1-6 2020 ist schon da (60 €), den ab Juli ziehe ich dann zum 1.7..

Mitgliedsbeitrag nach Grundstücksgröße

  • Neue Spalte bei Flurstücke „Fläche“, in der ich einmalig die Flächen aus einer vom Vorstand bereitgestellten Excel-Liste importiere (Excel enthält eine Spalte Flurstück-Nummer und eine Spalte Fläche in qm)
  • Unter Finanzen neuer Punkt „Mitgliedsbeitrag“, in dem die qm-Grenzen des Mitgliedsbeitrags gepflegt werden können (Tabelle mit Spalte „bis qm“ und „Mitgliedsbeitrag“)
  • Verschieben der Funktion „Mitgliedsbeiträge generieren“ aus „Mitglieder“ nach „Finanzen“ -> „Mitgliedsbeiträge“
  • Anpassung der Funktion „Mitgliedsbeiträge generieren“ an Beitragsgrenzen

TAN-Eingabe bei FinTS-Anbindung unterstützen

Neuerdings erwartet die Sparkasse ab und zu eine TAN. Der Import-Prozess muss nun auf einen Manuellen Import umgebaut werden:

  • Knopf auf Vereinskonto-Seite vorsehen
  • Client initialisieren
  • Wenn TAN erforderlich, Client und Dialog in Datenbank speichern
  • TAN im UI anfordern (Challenge anzeigen)
  • Nach TAN-Eingabe Client und Dialog aus Datenbank wiederherstellen
  • TAN eingeben und Import fortsetzen

Speichern und Wiederherstellen des client state:

client = FinTS3PinTanClient(..., from_data=None) with client:
challenge = client.sepa_transfer(...) dialog_data = client.pause_dialog()
    # dialog is now frozen, no new commands may be issued
    # exiting the context does not end the dialog
client_data = client.deconstruct()
# Store dialog_data and client_data out-of-band somewhere
# ... Some time passes ...
# Later, possibly in a different process, restore the state
client = FinTS3PinTanClient(..., from_data=client_data) with client.resume_dialog(dialog_data):
client.send_tan(...)

Prüfen, ob TAN erforderlich:

from fints.client import FinTS3PinTanClient, FinTSClientMode, NeedTANResponse

def ask_for_tan(client, response):
    print(response.challenge)
    tan = '123456'
    client.send_tan(response, tan)

client = FinTS3PinTanClient(
    settings.get('banking.blz'),
    settings.get('banking.kto'),
    settings.get('banking.pin'),
    settings.get('banking.url'),
    mode=FinTSClientMode.INTERACTIVE,
    product_id=settings.get('banking.product_id'))

with client:
    if client.init_tan_response:
            ask_for_tan(client, client.init_tan_response)
    accounts = client.get_sepa_accounts()
    if isinstance(accounts, NeedTANResponse):
        accounts = ask_for_tan(client, accounts)
    for account in accounts:
       statements = client.get_transactions(
           account, date.today() - timedelta(days=50), date.today())
       while isinstance(statements, NeedTANResponse):
           statements = ask_for_tan(client, statements)

Aktive/Passive Mitglieder

  • Datenbank Flag
  • UI bauen, um Aktiv/Passiv zu wechseln
  • Wenn ein Mitglied aktiviert wird, werden alle anderen auf dem Grundstück auf passiv gesetzt
  • Das letzte aktive Mitglied darf nicht deaktiviert werden
  • Bankverbindung und Postversand bei aktiven Mitgliedern ist Pflicht
  • Passive Mitglieder bekommen keine Post

Mitglieder erweitern

⁃ Freitextfeld für Notizen
⁃ Hinterlegung von Dokumenten am Mitglied (Typen: Mitgliedsantrag, Lasteinzugsermächtigung)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.