From b63f4ef3708a2642032c6a3af3c78a846586bd81 Mon Sep 17 00:00:00 2001 From: Markus Zimmerberger Date: Sun, 19 Jan 2025 17:10:56 +0100 Subject: [PATCH] Move all to subDir sustApp --- epc_qr.png | Bin 331 -> 0 bytes map.html | 7261 +++++++++------ .../Sportunion quer 4c.png | Bin sustApp/__init__.py | 4 + .../assign_payments.py | 6 +- .../convert_payment_export_csv.py | 2 +- .../coordinates_class.py | 0 .../create_payment_slip.py | 0 database.py => sustApp/database.py | 0 .../helper_scripts.sql | 16 +- .../import_transactions.py | 2 +- launch_venv.ps1 => sustApp/launch_venv.ps1 | 0 .../logging_config.py | 0 .../mail_payment_slips.py | 0 main.py => sustApp/main.py | 0 sustApp/map.html | 7959 +++++++++++++++++ member_map.py => sustApp/member_map.py | 6 +- models.py => sustApp/models.py | 2 + .../package-lock.json | 0 package.json => sustApp/package.json | 0 .../print_payment_slips.py | 0 sustApp/sust_schema.hcl | 273 + .../whatsapp_payment_slips.py | 0 23 files changed, 12875 insertions(+), 2656 deletions(-) delete mode 100644 epc_qr.png rename Sportunion quer 4c.png => sustApp/Sportunion quer 4c.png (100%) create mode 100644 sustApp/__init__.py rename assign_payments.py => sustApp/assign_payments.py (93%) rename convert_payment_export_csv.py => sustApp/convert_payment_export_csv.py (97%) rename coordinates_class.py => sustApp/coordinates_class.py (100%) rename create_payment_slip.py => sustApp/create_payment_slip.py (100%) rename database.py => sustApp/database.py (100%) rename helper_scripts.sql => sustApp/helper_scripts.sql (82%) rename import_transactions.py => sustApp/import_transactions.py (95%) rename launch_venv.ps1 => sustApp/launch_venv.ps1 (100%) rename logging_config.py => sustApp/logging_config.py (100%) rename mail_payment_slips.py => sustApp/mail_payment_slips.py (100%) rename main.py => sustApp/main.py (100%) create mode 100644 sustApp/map.html rename member_map.py => sustApp/member_map.py (96%) rename models.py => sustApp/models.py (98%) rename package-lock.json => sustApp/package-lock.json (100%) rename package.json => sustApp/package.json (100%) rename print_payment_slips.py => sustApp/print_payment_slips.py (100%) create mode 100644 sustApp/sust_schema.hcl rename whatsapp_payment_slips.py => sustApp/whatsapp_payment_slips.py (100%) diff --git a/epc_qr.png b/epc_qr.png deleted file mode 100644 index 50e49c81be86a7d7021b7323963fb031d93ac4ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 331 zcmV-R0kr;!P)t#ZcDW(Qysp?3?N#p9(bEYyl;xm|e#lA$_wxJQ$PLz^>z=Ho|AW zDOtjD0eoa<-1xrS0j!&;&HTvd-CtRrxwd<5pa+qPH0d5p-j)`*9y&%laP=NQz=JX9 dvCn_}6rT^eH+uj8002ovPDHLkV1nilkVXIi diff --git a/map.html b/map.html index b941983..2592940 100644 --- a/map.html +++ b/map.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + \ No newline at end of file diff --git a/member_map.py b/sustApp/member_map.py similarity index 96% rename from member_map.py rename to sustApp/member_map.py index 5a3d8c8..ebb2a5b 100644 --- a/member_map.py +++ b/sustApp/member_map.py @@ -17,8 +17,8 @@ def payment_slip_delivered(member: models.Members, year: int): .count() def payment_made(member: models.Members, year: int): - return db.query(models.Payments.payment_date)\ - .filter(models.Payments.member_id == member.id, extract('year', models.Deliveries.delivery_date) == year)\ + return db.query(models.Payments.payment_year)\ + .filter(models.Payments.member_id == member.id, extract('year', models.Payments.payment_year) == year)\ .count() def update_missing_locs(): @@ -53,8 +53,6 @@ def checkEmail(email): return False logger = logging.getLogger(__name__) -logger.info("An info") -logger.warning("A warning") #geolocator = Nominatim(user_agent="sust", timeout=10) geolocator = Bing(api_key='ApbTfEJ024nQCu6DC7TPIlqAcRMfZT8lPjAyMnVRcmo9rqxde5x-IS4fW-nGu0FI') diff --git a/models.py b/sustApp/models.py similarity index 98% rename from models.py rename to sustApp/models.py index e6aaa73..72bb6b2 100644 --- a/models.py +++ b/sustApp/models.py @@ -3,6 +3,7 @@ from sqlalchemy.types import TypeDecorator, VARCHAR, Integer from sqlalchemy_utils import EmailType from sqlalchemy.orm import relationship from database import Base + import datetime class NullCatchingString(TypeDecorator): @@ -41,6 +42,7 @@ class Members(Base): created_date = Column(DateTime, default=datetime.datetime.utcnow) updated_date = Column(DateTime, default=datetime.datetime.utcnow) member_died = Column(DateTime) + member_membership_start = Column(DateTime) member_printed = Column(Boolean, default=False) #member_coordinates = Column(Geometry(geometry_type='POINT')) member_geo_latitude = Column(Float, nullable=True) diff --git a/package-lock.json b/sustApp/package-lock.json similarity index 100% rename from package-lock.json rename to sustApp/package-lock.json diff --git a/package.json b/sustApp/package.json similarity index 100% rename from package.json rename to sustApp/package.json diff --git a/print_payment_slips.py b/sustApp/print_payment_slips.py similarity index 100% rename from print_payment_slips.py rename to sustApp/print_payment_slips.py diff --git a/sustApp/sust_schema.hcl b/sustApp/sust_schema.hcl new file mode 100644 index 0000000..6ef064d --- /dev/null +++ b/sustApp/sust_schema.hcl @@ -0,0 +1,273 @@ +table "deliveries" { + schema = schema.sust + column "id" { + null = false + type = serial + } + column "delivery_date" { + null = true + type = timestamp + } + column "member_id" { + null = true + type = integer + } + column "delivered_by_id" { + null = true + type = integer + } + column "delivery_year" { + null = true + type = date + } + primary_key { + columns = [column.id] + } + foreign_key "deliveries_member_id_delivered_by_fkey" { + columns = [column.delivered_by_id] + ref_columns = [table.members.column.id] + on_update = NO_ACTION + on_delete = NO_ACTION + } + foreign_key "deliveries_member_id_fkey" { + columns = [column.member_id] + ref_columns = [table.members.column.id] + on_update = NO_ACTION + on_delete = NO_ACTION + } + index "ix_deliveries_delivery_date" { + columns = [column.delivery_date] + } + index "ix_deliveries_id" { + columns = [column.id] + } + unique "deliveries_ukey_member_year" { + columns = [column.member_id, column.delivery_year] + } +} +table "members" { + schema = schema.sust + column "id" { + null = false + type = serial + } + column "member_count" { + null = true + type = integer + default = 1 + } + column "member_firstname" { + null = true + type = character_varying + } + column "member_firstname_spouse" { + null = true + type = character_varying + } + column "member_surname" { + null = true + type = character_varying + } + column "member_suffix" { + null = true + type = character_varying + } + column "member_street" { + null = true + type = character_varying + } + column "member_streetnumber" { + null = true + type = character_varying + } + column "member_email" { + null = true + type = character_varying(255) + } + column "member_zip" { + null = true + type = integer + } + column "member_city" { + null = true + type = character_varying + } + column "member_active" { + null = true + type = boolean + default = true + } + column "member_connected" { + null = true + type = integer + } + column "created_date" { + null = true + type = timestamp + default = sql("CURRENT_TIMESTAMP") + } + column "updated_date" { + null = true + type = timestamp + } + column "member_gender" { + null = true + type = enum.gender + } + column "member_died" { + null = true + type = timestamp + } + column "member_membership_start" { + null = true + type = timestamp + } + column "member_printed" { + null = true + type = boolean + } + column "member_coordinates" { + null = true + type = point + comment = "UNUSED" + } + column "member_geo_latitude" { + null = true + type = numeric + } + column "member_geo_longitude" { + null = true + type = numeric + } + primary_key { + columns = [column.id] + } + foreign_key "members_member_connected_fkey" { + columns = [column.member_connected] + ref_columns = [table.members.column.id] + on_update = NO_ACTION + on_delete = NO_ACTION + } + index "ix_members_id" { + columns = [column.id] + } + index "ix_members_member_city" { + columns = [column.member_city] + } + index "ix_members_member_email" { + columns = [column.member_email] + } + index "ix_members_member_firstname" { + columns = [column.member_firstname] + } + index "ix_members_member_street" { + columns = [column.member_street] + } + index "ix_members_member_surname" { + columns = [column.member_surname] + } + index "ix_members_member_zip" { + columns = [column.member_zip] + } +} +table "payments" { + schema = schema.sust + column "id" { + null = false + type = serial + } + column "payment_date" { + null = true + type = date + } + column "member_id" { + null = true + type = integer + } + column "payment_amount" { + null = true + type = numeric + } + column "payment_year" { + null = true + type = date + comment = "Year, for which the payment is intended for." + } + primary_key { + columns = [column.id] + } + foreign_key "payments_member_id_fkey" { + columns = [column.member_id] + ref_columns = [table.members.column.id] + on_update = NO_ACTION + on_delete = NO_ACTION + } + index "ix_payments_id" { + columns = [column.id] + } + index "ix_payments_payment_date" { + columns = [column.payment_date] + } + index "payments_ukey_member_year" { + unique = true + columns = [column.member_id, column.payment_year] + } +} +table "payments_csv" { + schema = schema.sust + column "id" { + null = false + type = serial + } + column "pc_valuta_date" { + null = true + type = date + } + column "pc_client" { + null = true + type = character_varying(50) + } + column "pc_reference" { + null = true + type = character_varying(50) + } + column "pc_intended" { + null = true + type = character_varying(100) + } + column "pc_iban" { + null = true + type = character_varying(50) + } + column "pc_entry_date" { + null = true + type = date + } + column "pc_amount" { + null = true + type = numeric + } + column "pc_currency" { + null = true + type = character_varying(3) + } + column "pc_timestamp" { + null = true + type = timestamp + } + column "pc_processed" { + null = true + type = boolean + default = false + } + primary_key { + columns = [column.id] + } +} +enum "gender" { + schema = schema.sust + values = ["male", "female", "divers"] +} +schema "sust" { + comment = "standard public schema" +} diff --git a/whatsapp_payment_slips.py b/sustApp/whatsapp_payment_slips.py similarity index 100% rename from whatsapp_payment_slips.py rename to sustApp/whatsapp_payment_slips.py