Commit aff2cf43 authored by Maxime Bombar's avatar Maxime Bombar

Merge branch 'invites_pot' into 'master'

Invites pot

See merge request !6
parents 4a7d99de 24a13ad1
...@@ -285,6 +285,7 @@ class Server(object): ...@@ -285,6 +285,7 @@ class Server(object):
retrait = retirer retrait = retirer
historique_transactions = ServeurFonctions.historique_transactions historique_transactions = ServeurFonctions.historique_transactions
historique2csv = ServeurFonctions.historique2csv
valider_transaction = ServeurFonctions.valider_transaction valider_transaction = ServeurFonctions.valider_transaction
devalider_transaction = ServeurFonctions.devalider_transaction devalider_transaction = ServeurFonctions.devalider_transaction
...@@ -322,6 +323,8 @@ class Server(object): ...@@ -322,6 +323,8 @@ class Server(object):
stats_entree_pot = ServeurFonctions.stats_entree_pot stats_entree_pot = ServeurFonctions.stats_entree_pot
liste_invites_entres = ServeurFonctions.liste_invites_entres
### Fonctions pour l'application WEI ### Fonctions pour l'application WEI
wei_get_info = WeiFonctions.wei_get_info wei_get_info = WeiFonctions.wei_get_info
......
...@@ -3673,6 +3673,48 @@ def liste_invites(self, data): ...@@ -3673,6 +3673,48 @@ def liste_invites(self, data):
else: else:
_pasledroit(self, "invites_admin") _pasledroit(self, "invites_admin")
def liste_invites_entres(self, data):
"""``data = [<id de l'activité>]``
Transmet la liste des invités entrés dans une activité.
Nécessite des droits d'administration.
"""
if not (type(data) == list and len(data) == 1 and type(data[0]) == int):
_badparam(self, u"liste_entrees")
return
[idact] = data
if self._has_acl("activites_admin"):
con, cur = BaseFonctions.getcursor()
# D'abord on teste si l'activité existe
cur.execute("SELECT * FROM activites WHERE id = %s;", (idact,))
activite = cur.fetchall()
if not activite:
self._debug(3, u"liste_invites failed : activités %s inexistante" % (idact))
self._send(None, 404, u"Cette activité n'existe pas.")
return
else:
# Liste des invités entrés
cur.execute("""SELECT e.heure_entree,
i.nom AS nom_invite, i.prenom AS prenom_invite,
c.pseudo AS inviteur
FROM entree_activites AS e,
invites AS i,
comptes AS c
WHERE e.idbde = i.id
AND e.activite=%s
AND e.est_invite
AND c.idbde = e.responsable
ORDER BY heure_entree desc;""", (idact,))
resultats = cur.fetchall()
invites_entres = [dict(r) for r in resultats]
self._send(invites_entres, 0, u"")
self._debug(4, u"liste_invites_entres par %s pour l'activité %s" % (self.userid, idact))
return
else:
_pasledroit(self, "activites_admin")
def search_pot(self, data): def search_pot(self, data):
"""Fonction de recherche pour les entrées d'un [Pot] """Fonction de recherche pour les entrées d'un [Pot]
...@@ -3814,6 +3856,9 @@ def stats_entree_pot(self, idpot): ...@@ -3814,6 +3856,9 @@ def stats_entree_pot(self, idpot):
self._debug(4, u"Graphe des entrée du pot {} envoyé".format(idpot)) self._debug(4, u"Graphe des entrée du pot {} envoyé".format(idpot))
def mayi(self, data): # May I def mayi(self, data): # May I
"""Permet de demander si on a tel ou tel droit. (Par exemple utile aux client pour """Permet de demander si on a tel ou tel droit. (Par exemple utile aux client pour
afficher/masquer certaines fonctions dont l'utilisation ne serait pas autorisée.) afficher/masquer certaines fonctions dont l'utilisation ne serait pas autorisée.)
...@@ -4126,6 +4171,23 @@ def historique_activite(self, data): ...@@ -4126,6 +4171,23 @@ def historique_activite(self, data):
self._send(l) self._send(l)
self._debug(4, u"envoi de l'historique de l'activite %s" % (activite,)) self._debug(4, u"envoi de l'historique de l'activite %s" % (activite,))
def historique2csv(self, idbde):
# On vérifie qu'on a le droits de regarder l'historique de ``idbde``
if self._has_acl("adherents_weak") or self._myself(idbde):
con, cur = BaseFonctions.getcursor()
cur.execute("""SELECT t.*, cem.pseudo AS emetteurpseudo, cdest.pseudo AS destinatairepseudo
FROM transactions AS t, comptes AS cem, comptes AS cdest
WHERE t.emetteur = cem.idbde
AND t.destinataire = cdest.idbde
AND %s IN (t.emetteur, t.destinataire)
ORDER BY date DESC;""", (idbde,))
historique = cur.fetchall()
l = {'h' : historique}
self._send(l)
self._debug(4, u"Génération du .csv de l'historique de %s" % (idbde,))
else:
_pasledroit(self, "adherents_weak")
################################################################# #################################################################
## Fonctions spéciales client Django ## ## Fonctions spéciales client Django ##
################################################################# #################################################################
......
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