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 @@
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,
}