Commit de230aa8 authored by Praibait's avatar Praibait

Fusion complète des onglets Activites et [Pot]

Adieu petit onglet [Pot] je ne t'oublierais jamais ! <3
parent 2a2f2030
......@@ -289,7 +289,6 @@ EXISTING_PAGES = [("Index", "index", "login"),
("Trésorerie","tresorerie","tresorerie"),
("WEI", "wei", "wei"),
("Droits", "listedroits", "liste_droits"),
("[Pot]", "pot", "note"),
]
def dummy():
......@@ -307,7 +306,6 @@ def dummy():
_(u"Trésorerie")
_(u"Wei")
_(u"Droits")
_(u"[Pot]")
# Les noms des catégories des boutons
_(u"Alcool")
......
......@@ -9,6 +9,7 @@
{% if hasadmin %}
<li role="presentation"{% if isadmin and not isold %} class="active"{% endif %}><a href="{{ NOTE_ROOT_URL }}activites/admin/">{% trans "Administration" %}</a></li>
<li role="presentation"{% if isadmin 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 %}
......
......@@ -9,6 +9,7 @@
{% if hasadmin %}
<li role="presentation"><a href="{{ NOTE_ROOT_URL }}activites/admin/">{% trans "Administration" %}</a></li>
<li role="presentation"{% if isadmin %} 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 %}
......
{% extends "note/base.html" %}
{% load note_templatetags %}
{% load i18n %}
{% block title %}Accueil [Pot]{% endblock %}
{% block applets %}
<li role="presentation" class="active"><a href="{{ NOTE_ROOT_URL }}pot/">Accueil</a></li>
{% if isadmin %}
<li role="presentation"><a href="{{ NOTE_ROOT_URL }}pot/admin/">Administration</a></li>
{% endif %}
{% endblock %}
{% block content %}
<h2>Bienvenue sur la page d'accueil de l'application [Pot]</h2>
<div class="form">
{% if activites %}
<h3> Les prochains [Pot]s</h3>
<div class="liste_activites">
{% for act in activites %}
{% if act.liste %}
{% render_activite act hasnote=hasnote %}
{% endif %}
{% endfor %}
</div>
{% else %}
<br><p class="text-danger">Il n'y a pour le moment, aucun [Pot] de prévu prochainement.</p><br>
{% endif %}
</div>
{% if isadmin %}
<div style="text-align:left">
<p><h4 style="color:red"> BUGS : </h4></p>
<ul>
</ul>
<br>
<p><h4 style="color:orange"> TODO : </h4></p>
<ol>
<li>Fusion de l'application [Pot] avec l'application Activité : pot_accueil est inclut dans activité_accueil, pot_entree reste une page à part et pot_admin devient soit un onglet de plus dans la page des activités est accessible par un bouton sur l'activité concernée.</li>
<li>Possibilité d'avoir le droit de noter et de rechercher des non-à-jour par les même champs que les adhérents</li>
<li>Onglet d'administration des [Pot] (cf l'onglet correspondant)</li>
</ol>
<p><h4 style="color:green"> DONE : </h4></p>
<ul>
<li>Affichage des activités avec invités à venir </li>
<li>Page d'entrée d'un pot : <br>
<ul>
<li>Onglet de notage des entrées</li>
<ul>
<li>Recherche par quicksearch des adhérents (à jour) et des clubs sur : pseudo, alias, ancien pseudo, idbde (idbde renvoie aussi les non à jour)</li>
<li>Recherche des invités par nom, prénom et pseudo de l'inviteur (début du mot) (no regexp)</li>
<li>Affichage du type, nom, prénom, pseudo et si juste alias (or whatever) match sous la forme alias (pseudo)</li>
<li>Note des entrées par un clic sur la ligne dans la table entree_activites</li>
<li>Impossible de rentrer si (par ordre de vérification) : activité fermée, déjà rentrée, club, plus adhérent, ou négatif. Vérification systématique (et uniquement) côté serveur (pas de hack)</li>
<li>Affichage du retour serveur</li>
<li>Panneau d'entrée d'un invité : info inviteur + paiement par note inviteur (bouton entrée pot) ou par l'invité (crédit inviteur + bouton entrée pot)</li>
</ul>
<li>Onglet de crédit</li>
<li>Onglet de transfert</li>
<li>Permutation dynamique entre les onglets</li>
</ul>
</li>
</ul>
</div>
<br><br>
{% endif %}
<!-- <p>
<h3> Structure Envisagée : </h3>
L'onglet "pot" est accessible à tout ceux qui ont le droit "activites", en gros, tout le monde,
sauf les Hackers :p ! A terme, il ressemblerait beaucoup à la page "Activites", mais ne permettrait de voir que les "pots"
Il faudrait donc créer un booléen dans la table activites qui permettent de dire si telle ou telle activité est un pot
</br>
Ensuite, il existerait deux onglets "Entree" et "Admin"
<ul>
<li> Entree : Il ne serait accessiblee que pour les personnes ayant le droit "entree_pot".
Il permettrait de gérer l'entrée des pots en tenant compte de tous les problèmes que
l'on rencontre actuellement
</li>
<li> Admin : Idem, accessible aux personnes ayant les droit "admin_pot".
Celui la permettrait de gérer le pot, exporter la liste des présents, accéder à l'historique
de la note de l'organisateur et bien d'autres choses.
</li>
</ul>
</p>-->
{% endblock %}
......@@ -5,28 +5,65 @@
{% block title %}Administration des [Pot]s{% endblock %}
{% block applets %}
<li role="presentation"><a href="{{ NOTE_ROOT_URL }}pot/">Accueil</a></li>
<li role="presentation" class="active"><a href="{{ NOTE_ROOT_URL }}pot/admin/">Administration</a></li>
<li role="presentation"><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"><a href="{{ NOTE_ROOT_URL }}activites/admin/">{% trans "Administration" %}</a></li>
<li role="presentation"><a href="{{ NOTE_ROOT_URL }}activites/admin/old">{% trans "Activités passées" %}</a></li>
<li role="presentation" class="active"><a href="{{ NOTE_ROOT_URL }}pot_gestion/">{% trans "Gestion des pots" %}</a></li>
{% endif %}
{% endblock %}
{% block content %}
<h2>Bienvenue sur l'interface d'administration des [Pot]s</h2>
<br>
<h3>Zone de test des graphiques d'entrées</h3>
<div id="container" style="width:50%; height:400px;"></div>
<br>
<h2>Todo de l'interface [Pot]</h2>
<div style="text-align:left">
<p>Le but de cette page est de fournir une interface permettant aux res[Pot] (entres autres) de gérer les pots de la manière suivante :
<p><h4 style="color:red"> BUGS </h4></p>
<ul>
</ul>
<br>
<p><h4 style="color:orange"> TODO : </h4></p>
<ol>
<li>Possibilité d'avoir le droit de noter et de rechercher des non-à-jour par les même champs que les adhérents</li>
<li>Onglet d'administration des [Pot] (cf l'onglet correspondant)</li>
<li> Page d'aministration des [Pot]s :
<ul>
<li> Possiblement pouvoir gérer les activités Pot : ouverture/fermeture (selon le choix éditorial)</li>
<li> Afficher des statistiques sur les [Pot]s : nombre d'entrées, nombre d'invités, graphique de l'affluence, etc..</li>
<li> Affichage et exportation de la liste des personnes rentrées : possibilité de ne voir que les invités, impression pdf, ...</li>
<li> Compte de l'argent liquide entré au cours de la soirée : possibilité de savoir combien y'a dans les caisses (mise à zéro quand remisage dans le coffre), savoir si quelqu'un va manquer de liquide, etc...</li>
</ul>
À voir par la suite comment fusionner ça avec l'administration des activités...--> bouton qui redirige vers la page ?</li>
</ol>
<p><h4 style="color:green"> DONE : </h4></p>
<ul>
<li> Possiblement pouvoir gérer les activités Pot : ouverture/fermeture (selon le choix éditorial)</li>
<li> Afficher des statistiques sur les [Pot]s : nombre d'entrées, nombre d'invités, graphique de l'affluence, etc..</li>
<li> Affichage et exportation de la liste des personnes rentrées : possibilité de ne voir que les invités, impression pdf, ...</li>
<li> Compte de l'argent liquide entré au cours de la soirée : possibilité de savoir combien y'a dans les caisses (mise à zéro quand remisage dans le coffre), savoir si quelqu'un va manquer de liquide, etc...</li>
<li>Affichage des activités avec invités à venir </li>
<li>Page d'entrée d'un pot : <br>
<ul>
<li>Onglet de notage des entrées</li>
<ul>
<li>Recherche par quicksearch des adhérents (à jour) et des clubs sur : pseudo, alias, ancien pseudo, idbde (idbde renvoie aussi $
<li>Recherche des invités par nom, prénom et pseudo de l'inviteur (début du mot) (no regexp ?)</li>
<li>Affichage du type, nom, prénom, pseudo et si juste alias (or whatever) match sous la forme alias (pseudo)</li>
<li>Note des entrées par un clic sur la ligne dans la table entree_activites</li>
<li>Impossible de rentrer si (par ordre de vérification) : activité fermée, déjà rentrée, club, plus adhérent, ou négatif. Vérifi$
<li>Affichage du retour serveur</li>
<li>Panneau d'entrée d'un invité : info inviteur + paiement par note inviteur (bouton entrée pot) ou par l'invité (crédit invite$
</ul>
<li>Onglet de crédit</li>
<li>Onglet de transfert</li>
</ul>
</li>
</ul>
À voir par la suite comment fusionner ça avec l'administration des activités...--> bouton qui redirige vers la page ?
</p>
</div>
<div id="container" style="width:50%; height:400px;"></div>
{% endblock %}
{% block additional_javascript %}
<script src="https://code.highcharts.com/highcharts.src.js"></script>
<script src="https://code.highcharts.com/modules/series-label.js"></script>
......
......@@ -28,10 +28,12 @@ urlpatterns = [
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>[^/]*)/entree/*$', note.views.pot_entree, name='pot_entree'),
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'),
# 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
url(ur'^/pot_gestion/*$',note.views.pot_gestion, name='pot_gestion'),
# la recherche et gestion des comptes
url(ur'^/comptes_advanced/*$', note.views.comptes_advanced,name='comptes_advanced'),
url(ur'^/search_historique_pseudo/*$', note.views.search_historique_pseudo,name='search_historique_pseudo'),
......@@ -77,11 +79,6 @@ urlpatterns = [
url(ur'^/regen_pw/(?P<token>[^/]*)/*$', note.views.regen_pw,name='regen_pw'),
# easter egg
url(ur'^/(?:teapot|the|tea|coffee|cafe)/*$', note.views.teapot,name='teapot'),
# Interface Pot
url(ur'^/pot/*$', note.views.pot_accueil, name='pot_accueil'),
url(ur'^/pot/admin/*$',note.views.pot_admin, name='pot_admin'),
# Page de liste des droits
url(ur'^/listedroits/*$',note.views.liste_droits, name='liste_droits')
]
......
......@@ -2140,34 +2140,7 @@ def render_tex(data, template, supreme = False):
return pdf, True, filename
@standard_page
def pot_accueil(request,sock,kwargs):
""" Affiche la page d'accueil de l'interface pot"""
variables = {}
#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("%sindex/" % settings.NOTE_ROOT_URL)
else:
droits = out["msg"]["droits"]
note, isadmin = "note" in droits, "activites_admin" in droits
if not note:
messages.add_error(request, _(u"Tu n'as pas le droit note !"))
return HttpResponseRedirect("%sindex/" % settings.NOTE_ROOT_URL)
liste_activites = utilities._get_activites(sock, isadmin, request)
variables["hasnote"] = note
variables["isadmin"] = isadmin
variables["activites"] = liste_activites
return (variables, "note/pot_accueil.html")
@standard_page
def pot_entree(request, sock, kwargs):
def activite_entree(request, sock, kwargs):
""" Affiche la page Entrée de l'interface Pot
Dans kwargs :
* idact : id de l'activité qui correspond au pot
......@@ -2204,11 +2177,11 @@ def pot_entree(request, sock, kwargs):
variables["retrait_form"] = forms.CreditRetraitForm(prefix="retrait_form", label_suffix=" :")
variables["transfert_form"] = forms.TransfertForm(prefix="transfert_form", label_suffix=" :")
return (variables, "note/pot_entree.html")
return (variables, "note/activite_entree.html")
@standard_page
def pot_admin(request, sock, kwargs):
""" Affiche la page administration de l'interface pot """
def pot_gestion(request, sock, kwargs):
""" Affiche la page de gestion des pots """
variables = {}
#On récupère l'ensemble des droits dont dispose l'utilisateur
......@@ -2220,12 +2193,14 @@ def pot_admin(request, sock, kwargs):
return HttpResponseRedirect("%sindex/" % settings.NOTE_ROOT_URL)
else:
droits = out["msg"]["droits"]
isadmin = "activites_admin" in droits
hasadmin = "activites_admin" in droits
if not isadmin:
if not hasadmin:
messages.add_error(request, _(u"Tu n'as pas le droit activites_admin !"))
return HttpResponseRedirect("%sindex/" % settings.NOTE_ROOT_URL)
variables["hasadmin"] = hasadmin
sock.write(json.dumps(["stats_entree_pot", 1790]))
out = nk.full_read(sock)
temp = out["msg"]
......@@ -2239,7 +2214,7 @@ def pot_admin(request, sock, kwargs):
variables["liste1"] = temp
return (variables, "note/pot_admin.html")
return (variables, "note/pot_gestion.html")
@standard_page
def liste_droits(request, sock, kwargs):
......
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