Commit 3169046f authored by Maxime Bombar's avatar Maxime Bombar

Merge branch 'invites_pot' into 'master'

Invites pot

See merge request !4
parents c077047d 3eec9cf8
{% extends "note/base.html" %}
{% load i18n %}
{% block title %}{% blocktrans with id=activite.id %}Liste des invités entrés à l'activité n°{{ idact }}{% endblocktrans %}{% endblock %}
{% block applets %}
<li role="presentation"{% if not hasadmin %} class="active"{% endif %}><a href="{{ NOTE_ROOT_URL }}activites/">{% trans "Activités" %}</a></li>
<li role="presentation"><a href="{{ NOTE_ROOT_URL }}mes_activites/">{% trans "Mes activités" %}</a></li>
{% if hasadmin %}
<li role="presentation"{% if hasadmin and not isold %} class="active"{% endif %}><a href="{{ NOTE_ROOT_URL }}activites/admin/">{% trans "Administration" %}</a></li>
<li role="presentation"{% if hasadmin and isold %} class="active"{% endif %}><a href="{{ NOTE_ROOT_URL }}activites/admin/old">{% trans "Activités Passées" %}</a></li>
<li role="presentation"><a href="{{ NOTE_ROOT_URL }}pot_gestion/">{% trans "Gestion des pots" %}</a></li>
{% endif %}
{% endblock %}
{% block content %}
<div class="page-header">
<h1>{% trans "Activités" %}</h1>
<h1><small>{% blocktrans with id=activite.id %}Liste des invités entrés à l'activité n°{{ idact }}{% endblocktrans %}</small></h1>
</div>
<h2>Invités entrés : {{ nb_invites }}</h2>
<table class="table">
<thead>
<tr>
<th class="text-center">{% trans "Date d'entrée au Pot" %}</th>
<th class="text-center">{% trans "Nom de l'invité" %}</th>
<th class="text-center">{% trans "Prénom de l'invité" %}</th>
<th class="text-center">{% trans "Nom de note de l'inviteur" %}</th>
</tr>
</thead>
<tbody>
{% for entry in invites_entres %}
<tr>
<td>{{ entry.heure_entree }}</td>
<td>{{ entry.nom_invite }}</td>
<td>{{ entry.prenom_invite }}</td>
<td>{{ entry.inviteur }}</td>
</tr>
{% empty %}
<tr>
<td colspan=15>{% trans "Aucun invité n'est encore rentré" %}</td>
</tr>
{% endfor %}
</tbody>
</table>
{% endblock %}
......@@ -52,13 +52,10 @@ Template de rendering d'une activité dans un tableau
{% if activite.liste %}
<td>{% trans "Liste d'invités" %}</td>
<td>
<a class="btn btn-success btn-small" href="{{ NOTE_ROOT_URL }}activites/{{activite.id}}/admin/">{% trans "Gérer" %}</a>
<!-- {% if activite.listeimprimee %} -->
<!-- <span class="btn btn-success disabled">{% trans "Liste imprimée" %}</span> -->
<!-- {% else %} -->
<!-- <a class="btn btn-success btn-small" href="{{ NOTE_ROOT_URL }}activites/{{activite.id}}/printlist/">{% trans "Imprimer la liste" %}</a> -->
<!-- {% endif %} -->
<a class="btn btn-success" href="{{ NOTE_ROOT_URL }}activites/{{activite.id}}/admin/">{% trans "Gérer" %}</a>
<a class="btn btn-info" href="{{ NOTE_ROOT_URL }}activites/{{activite.id}}/liste_invites">{% trans "Invités entrés" %}</a>
</td>
{% else %}
<td colspan="2">
<span class="text-danger">{% trans "Pas de liste d'invités" %}</span>
......
......@@ -111,6 +111,7 @@ def render_activite(activite, isadmin=False, isgestion=False, ismine=False, hasn
'%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,
......
......@@ -30,6 +30,8 @@ urlpatterns = [
url(ur'^/(?:activite|invitation)s?/(?P<idact>[^/]*)(?P<admin>/admin)?/*$', note.views.activite,name='activite'),
url(ur'^/(?:activite|invitation)s?/(?P<idact>[^/]*)/entree/*$', note.views.activite_entree, name='activite_entree'),
url(ur'^/(?:activite|invitation)s?/(?P<idact>[^/]*)/del_invite/(?P<idinv>[^/]*)(?P<admin>/admin)?/*$', note.views.del_invite,name='del_invite'),
# Afficher la liste des invités qui sont rentrés au pot
url(ur'^/(?:activite|invitation)s?/(?P<idact>[^/]*)/liste_invites/(?P<admin>/admin)?/*$', note.views.liste_invites_entres,name='liste_invites_entres'),
# mes_activités = création d'activités
url(ur'^/mes_activites(?:/(?P<idact>[^/]*))?(?P<delete>/delete)?/*$', note.views.mes_activites,name='mes_activites'),
# gestion des pots
......
......@@ -443,6 +443,7 @@ def del_invite(request, sock, kwargs):
* ``idact`` : l'activité dont on veut retirer l'invité
* ``idinv`` : l'invité qu'on veut retirer
* ``admin="/admin"`` si on est mode administration"""
variables = {}
idact, idinv = kwargs["idact"], kwargs["idinv"]
admin = (kwargs["admin"] == "/admin")
......@@ -459,6 +460,55 @@ def del_invite(request, sock, kwargs):
messages.add_error(request, out["errmsg"])
return HttpResponseRedirect(u"{}activites/{}/{}".format(settings.NOTE_ROOT_URL, idact, "admin/" * admin))
@standard_page
def liste_invites_entres(request, sock, kwargs):
"""Affiche la liste des invités qui sont rentrés à l'activité
Dans ``kwargs`` :
* ``idact`` : l'activité dont on veut la liste des invités rentrés
"""
variables = {}
idact = kwargs["idact"]
#On récupère l'ensemble des droits dont dispose l'utilisateur
sock.write(json.dumps(["mayi", "full_rights"]))
out = nk.full_read(sock)
if not nk._is_success_code(out["retcode"]):
messages.add_error(request, out["errmsg"])
return HttpResponseRedirect("{}activites/".format(settings.NOTE_ROOT_URL))
else:
droits = out["msg"]["droits"]
hasadmin = "activites_admin" in droits
if not hasadmin:
messages.add_error(request, _(u"Tu n'as pas le droit activites_admin !"))
return HttpResponseRedirect("{}index/".format(settings.NOTE_ROOT_URL))
# On récupère la liste des invités qui sont rentrés à cette activité
sock.write(json.dumps(["liste_invites_entres", [idact,]]))
out = nk.full_read(sock)
if out["retcode"] == 404:
messages.add_error(request, messages.ERRMSG_IDACT_FAIL % (idact,))
return HttpResponseRedirect("{}activites/".format(settings.NOTE_ROOT_URL))
elif not nk._is_success_code(out["retcode"]):
messages.add_error(request, out["errmsg"])
return HttpResponseRedirect("{}activites/".format(settings.NOTE_ROOT_URL))
else:
invites_entres = out["msg"]
# On prépare les variables
variables = {"invites_entres": invites_entres,
"idact" : idact,
"hasadmin": hasadmin,
"nb_invites": len(invites_entres),
}
return (variables, "note/invites_entres.html")
@standard_page_withignores(["idbde"])
def comptes(request, sock, kwargs):
"""La page de recherche d'un compte ou qui l'affiche.
......
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