From bd128102c298da073f81e28ecb443f738488c828 Mon Sep 17 00:00:00 2001 From: Phuoc CAO Date: Sat, 22 Jul 2017 15:05:54 +0200 Subject: [PATCH] =?UTF-8?q?ajouter=20la=20possibilit=C3=A9=20d'activer=20o?= =?UTF-8?q?u=20de=20d=C3=A9sactiver=20=20un=20membre?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- caotek_mesavoirs/models/members.py | 6 ++ .../templates/members/user_edit.pt | 57 +++++++------------ caotek_mesavoirs/views/members.py | 52 ++++++++--------- 3 files changed, 51 insertions(+), 64 deletions(-) diff --git a/caotek_mesavoirs/models/members.py b/caotek_mesavoirs/models/members.py index 98cf23e..abcd258 100644 --- a/caotek_mesavoirs/models/members.py +++ b/caotek_mesavoirs/models/members.py @@ -81,3 +81,9 @@ def delete_membre(request, email): query = "DELETE FROM members WHERE email = :email ;" execute_query(request, query, {'email': email}) +def update_membre_statut(request, email, action): + if action == 'on': + query = "UPDATE members SET expire_le = NULL WHERE email = :email ;" + else: + query = "UPDATE members SET expire_le = now() WHERE email = :email ;" + execute_query(request, query, {'email': email}) diff --git a/caotek_mesavoirs/templates/members/user_edit.pt b/caotek_mesavoirs/templates/members/user_edit.pt index e443da3..9828e60 100644 --- a/caotek_mesavoirs/templates/members/user_edit.pt +++ b/caotek_mesavoirs/templates/members/user_edit.pt @@ -4,7 +4,7 @@

-
Email
@@ -22,7 +22,7 @@
-
- -
- -
-
-
- +
- +
+ +
-
- -
-
-
-
- -
-
-
- +
-

${individu.modif_le.strftime('%d/%m/%Y - %H:%M')}

+

${membre.modif_le.strftime('%d/%m/%Y - %H:%M')}

-
-

La fiche est active

+ +
+
+

Désactivé le ${membre.modif_le.strftime('%d/%m/%Y')}

+
+

Actif


@@ -83,8 +64,12 @@ + +
diff --git a/caotek_mesavoirs/views/members.py b/caotek_mesavoirs/views/members.py index ceeab7f..8e81784 100644 --- a/caotek_mesavoirs/views/members.py +++ b/caotek_mesavoirs/views/members.py @@ -195,43 +195,29 @@ def user_edit(request): email = request.matchdict['email'] url = request.route_url('user_edit', email=email) message = '' - access = ["0 | Production", "5 | Gestion", u"8 | Comptabilité", "9 | Administration"] - + acces_list = ["ADMIN", "MEMBRE"] + if email == '0': # nouveau - individu = {} - individu['email'] = '' - individu['nom'] = '' - individu['email'] = '' - individu['access'] = '0 | Production' - individu['actif'] = 1 - individu['agenda'] = 0 - page_title= 'Nouvelle Fiche' + membre = {} + membre['email'] = '' + membre['nom'] = '' + membre['acces'] = 'MEMBRE' + page_title= 'Nouveau membre' else: - # lire la fiche de l'individu - individu = get_member_by_email(request, email) - if not individu: + # lire la fiche de l'membre + membre = get_member_by_email(request, email) + if not membre: request.session.flash(u"Utilisateur non trouvé : %s" % email, 'warning') return HTTPFound(location=request.route_url('users_list')) - page_title= u"Fiche de %s" %(individu.nom) + page_title= u"Fiche de %s" %(membre.nom) if 'form.submitted' in request.params: new_values = {} - for param, db_value in individu.items(): + for param, db_value in membre.items(): if param in request.params and request.params[param] != db_value: new_values[param] = request.params[param] - # actif coché ? - if 'actif' in request.params: - new_values['actif'] = 1 - else: - new_values['actif'] = 0 - # agenda coché ? - if 'agenda' in request.params: - new_values['agenda'] = 1 - else: - new_values['agenda'] = 0 - if new_values: update_membre(request, email, new_values) request.session.flash(u"La fiche a été mise à jour avec succès.", 'success') @@ -241,11 +227,21 @@ def user_edit(request): delete_membre(request, email) request.session.flash(u"La fiche a été supprimée avec succès.", 'success') return HTTPFound(location=request.route_url('users_list')) + + if 'form.activated' in request.params: + update_membre_statut(request, email, 'on') + # lire la fiche de l'membre + membre = get_member_by_email(request, email) + + if 'form.desactivated' in request.params: + update_membre_statut(request, email, 'off') + # lire la fiche de l'membre + membre = get_member_by_email(request, email) return { 'page_title': page_title, 'url': url, - 'individu': individu, - 'access': access, + 'membre': membre, + 'acces_list': acces_list, 'message': message, }