diff --git a/epc_qr.png b/epc_qr.png deleted file mode 100644 index 50e49c8..0000000 Binary files a/epc_qr.png and /dev/null differ 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