WIP: contrôle cotisation

This commit is contained in:
Adrien Bourmault 2022-09-15 00:18:16 +02:00
parent 5d721e2783
commit e9f7236da3
No known key found for this signature in database
GPG Key ID: 6EB408FE0ACEC664
3 changed files with 27 additions and 2 deletions

View File

@ -2,7 +2,7 @@ Bonjour NOM_COTISANT,
Je reviens vers vous pour vous informer des modalités de règlement de votre Je reviens vers vous pour vous informer des modalités de règlement de votre
cotisation pour l'année civile ANNEE_CIVILE. Votre numéro de membre est le cotisation pour l'année civile ANNEE_CIVILE. Votre numéro de membre est le
NUMERO_MEMBRE et le montant de votre cotisation est MONTANT_COTISATION €. NUMERO_MEMBRE et le montant de votre cotisation est de MONTANT_COTISATION €.
Les moyens de paiement acceptés sont: espèces, chèques et virement bancaire. Les moyens de paiement acceptés sont: espèces, chèques et virement bancaire.
Vous avez normalement déjà formulé une préférence. Si toutefois vous souhaitez Vous avez normalement déjà formulé une préférence. Si toutefois vous souhaitez

View File

@ -1,6 +1,7 @@
Content-Language: fr Content-Language: fr
From: =?UTF-8?Q?Tr=c3=a9sorier_de_Libre_en_Communs?= <tresorier@a-lec.org> From: =?UTF-8?Q?Tr=c3=a9sorier_de_Libre_en_Communs?= <tresorier@a-lec.org>
To: <COURRIEL_COTISANT> To: <COURRIEL_COTISANT>
Bcc: <tresorier@a-lec.org>
Subject: =?UTF-8?Q?=5bTr=c3=a9sorerie=5d_-_modalit=c3=a9s_de_r=c3=a8glement_de_vo?= Subject: =?UTF-8?Q?=5bTr=c3=a9sorerie=5d_-_modalit=c3=a9s_de_r=c3=a8glement_de_vo?=
=?UTF-8?Q?tre_cotisation_ANNEE_CIVILE?= =?UTF-8?Q?tre_cotisation_ANNEE_CIVILE?=
Content-Type: text/plain; charset="UTF-8" Content-Type: text/plain; charset="UTF-8"

View File

@ -166,6 +166,20 @@ def gestion_get_amount(member):
return gestion_read(request_unpaid)["results"][-1]["amount"] return gestion_read(request_unpaid)["results"][-1]["amount"]
def gestion_get_date(member):
request_unpaid = "SELECT date FROM services_users su " +\
"INNER JOIN membres m ON m.id = su.id_user " +\
"INNER JOIN services s ON s.id = su.id_service " +\
"LEFT JOIN services_fees sf ON sf.id = su.id_fee " +\
"INNER JOIN (SELECT id, MAX(date) " +\
"FROM services_users " +\
"GROUP BY id_user, id_service) " +\
"AS su2 ON su2.id = su.id " +\
"WHERE id_user = {};".format(member)
return gestion_read(request_unpaid)["results"][-1]["date"]
def get_member_infos(member): def get_member_infos(member):
request = "SELECT * FROM membres " +\ request = "SELECT * FROM membres " +\
"WHERE id = '{}';".format(member) "WHERE id = '{}';".format(member)
@ -194,7 +208,7 @@ def check_email_created(member):
def notify_expired(member): def notify_expired(member):
BUF.append("* {}".format(member)) BUF.append("* {}".format(member))
BUF.append(" NOTIFICATION TRESORIER") BUF.append(" EXPIRATION ADHESION")
BUF.append("") BUF.append("")
def notify_unpaid(member): def notify_unpaid(member):
@ -205,10 +219,20 @@ def notify_unpaid(member):
name, numero, email = get_member_infos(member) name, numero, email = get_member_infos(member)
amount = "{},{}".format(str(gestion_get_amount(member))[:-2], amount = "{},{}".format(str(gestion_get_amount(member))[:-2],
str(gestion_get_amount(member))[-2:]) str(gestion_get_amount(member))[-2:])
year = gestion_get_year(member)[:4]
BUF.append("* {} (numero {}), {}, {}".format(member, numero, name, amount)) BUF.append("* {} (numero {}), {}, {}".format(member, numero, name, amount))
BUF.append(" NOTIFICATION MEMBRE") BUF.append(" NOTIFICATION MEMBRE")
BUF.append("") BUF.append("")
mailheaders = get_file_content_all(MODALITY_MAIL_HEADERS) + "\n"
mailheaders = mailheaders.replace("NOM_COTISANT", name)
mailheaders = mailheaders.replace("NUMERO_MEMBRE", numero)
mailheaders = mailheaders.replace("MONTANT_COTISATION", amount)
mailtext = get_file_content_all(MODALITY_MAIL).replace("ANNEE_CIVILE", year)
mailtext = mailtext.replace("COURRIEL-COTISANT", email)
sendmail(mailheaders, mailtext)
return True return True
def renotify_unpaid(member): def renotify_unpaid(member):