Commit 08607277 authored by Praibait's avatar Praibait
Browse files

Possibilité d'ouverture et de fermeture d'un activité.

parent 17189e4c
......@@ -68,6 +68,8 @@ SUCCMSG_DELACT = _(u"Activité supprimée avec succès.")
SUCCMSG_ADDACT = _(u"Activité ajoutée avec succès.")
SUCCMSG_VALIDACT = _(u"Activité validée avec succès.")
SUCCMSG_DEVALIDACT = _(u"Activité dévalidée avec succès.")
SUCCMSG_OUVRACT = _(u"Activité ouverte avec succès.")
SUCCMSG_FERMACT = _(u"Activité fermée avec succès.")
SUCCMSG_DELINV = _(u"Invité supprimé avec succès.")
SUCCMSG_ADDINV = _(u"Invité ajouté avec succès.")
......
......@@ -56,7 +56,7 @@ def render_activite(activite, isadmin=False, isgestion=False, ismine=False, invi
"""Affiche le tableau d'une activité"""
Link = namedtuple('Link', ['label', 'target', 'style'])
boutons = []
if isadmin:
if not isgestion:
boutons.append(Link(
......@@ -69,35 +69,48 @@ def render_activite(activite, isadmin=False, isgestion=False, ismine=False, invi
'Dévalider',
'%sactivites/%s/gestion/invalidate/' % (settings.NOTE_ROOT_URL, activite["id"]),
'warning'))
if activite["liste"]:
if activite["ouvert"]:
boutons.append(Link(
'Fermer',
'%sactivites/%s/gestion/close' % (settings.NOTE_ROOT_URL, activite["id"]),
'warning'))
else:
boutons.append(Link(
'Ouvrir',
'%sactivites/%s/gestion/open' % (settings.NOTE_ROOT_URL, activite["id"]),
'success'))
else:
boutons.append(Link(
'Valider',
'%sactivites/%s/gestion/validate/' % (settings.NOTE_ROOT_URL, activite["id"]),
'success'))
if invites:
if invites and activite["ouvert"]:
boutons.append(Link(
"Accéder à la page d'entrée",
"%spot/entree/%s/" % (settings.NOTE_ROOT_URL, activite["id"]),
"success"))
if activite["liste"] and (isadmin or "caninvite" in activite and activite["caninvite"]):
boutons.append(Link(
'Inviter',
'%sactivites/%s/%s' % (settings.NOTE_ROOT_URL, activite["id"], "" if not isadmin else "admin"),
'warning' if (isadmin and activite["fails"]) else 'primary'))
if (ismine and activite["validepar"] is None) or isgestion:
boutons.append(Link(
'Modifier',
'%s%sactivites/%s/%s' % (settings.NOTE_ROOT_URL, "mes_" if ismine else "", activite["id"], "gestion/modifier/" if not ismine else ""),
'primary'))
if "candelete" in activite and activite["candelete"]:
boutons.append(Link(
'Supprimer',
'%s%sactivites/%s/%sdelete/' % (settings.NOTE_ROOT_URL, "mes_" if ismine else "", activite["id"], "gestion/" if isgestion else ""),
'danger'))
return {
'NOTE_ROOT_URL' : settings.NOTE_ROOT_URL,
'activite': activite,
......
......@@ -25,7 +25,7 @@ urlpatterns = [
url(ur'^/(?:virements|dons)/*', note.views.dons,name='dons'),
# les activités et invitations
url(ur'^/(?:activite|invitation)s?(?P<admin>/admin)?(?P<old>/old)?/*$', note.views.activites,name='activites'),
url(ur'^/(?:activite|invitation)s?/(?P<idact>[^/]*)/gestion(?P<validation>/validate|/invalidate|/delete)?/*$', note.views.activite_gestion,name='activite_gestion'),
url(ur'^/(?:activite|invitation)s?/(?P<idact>[^/]*)/gestion(?P<validation>/validate|/invalidate|/delete|/open|/close)?/*$', note.views.activite_gestion,name='activite_gestion'),
url(ur'^/(?:activite|invitation)s?/(?P<idact>[^/]*)/gestion/modifier/*$', note.views.activite_gestion_modifier,name='activite_gestion_modifier'),
url(ur'^/(?:activite|invitation)s?/(?P<idact>[^/]*)(?P<admin>/admin)?/*$', note.views.activite,name='activite'),
url(ur'^/(?:activite|invitation)s?/(?P<idact>[^/]*)/del_invite/(?P<idinv>[^/]*)(?P<admin>/admin)?/*$', note.views.del_invite,name='del_invite'),
......
......@@ -205,7 +205,7 @@ def dons(request, sock, kwargs):
@standard_page
def activites(request, sock, kwargs):
"""Affichage des activités
Dans ``kwargs`` :
* ``admin`` qui vaut ``"/admin"`` si on a demandé le mode admin
* ̀ `old`` qui vaut ``"/old"`` si on a demandé le mode old
......@@ -234,7 +234,7 @@ def activites(request, sock, kwargs):
@standard_page
def activite(request, sock, kwargs):
"""Affichage d'une activité pour y inviter
Dans ``kwargs`` :
* ``idact``
* ``admin`` qui vaut ``"/admin"`` si on a demandé le mode admin
......@@ -285,7 +285,7 @@ def activite(request, sock, kwargs):
@standard_page
def activite_gestion(request, sock, kwargs):
"""Page de gestion d'une activité.
Dans ``kwargs`` :
* ``idact`` : n° de l'activité à gérer
* ``validation`` : fin de l'url, peut être ``"/validate"``, ``"/invalidate"`` ou ``/delete``
......@@ -300,17 +300,19 @@ def activite_gestion(request, sock, kwargs):
variables = {}
variables["activite"] = activite
if validation == "/validate":
action = "valider_activite"
action, data, succmsg = "valider_activite", idact, messages.SUCCMSG_VALIDACT
elif validation == "/invalidate":
action = "devalider_activite"
action, data, succmsg = "devalider_activite", idact, messages.SUCCMSG_DEVALIDACT
elif validation in ["/open", "/close"]:
action, data = "openclose_activite", [(validation == "/open"), idact]
succmsg = messages.SUCCMSG_OUVRACT if data[0] else messages.SUCCMSG_FERMACT
else:
action = None
if action:
sock.write(json.dumps([action, idact]))
sock.write(json.dumps([action, data]))
out = nk.full_read(sock)
if nk._is_success_code(out["retcode"]):
if out["retcode"] == 0:
succmsg = messages.SUCCMSG_VALIDACT if (validation == "/validate") else messages.SUCCMSG_DEVALIDACT
messages.add_success(request, succmsg)
else:
messages.add_warning(request, out["errmsg"])
......@@ -322,7 +324,7 @@ def activite_gestion(request, sock, kwargs):
@standard_page
def activite_gestion_modifier(request, sock, kwargs):
"""Page pour voir/éditer une activité, en tant qu'admin
Dans ``kwargs`` :
* ``idact`` : n° de l'activité à modifier
"""
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment