Commit 533a163e authored by Praibait's avatar Praibait

Mise en évidence des personnes déjà rentrées. Récupération des invités.

parent 89e6d8bd
......@@ -41,6 +41,30 @@ def quick_search(request, mode="basic"):
response = sock_ou_response
return HttpResponse(u'"Erreur"')
@csrf_exempt
def search_pot(request, idpot = None):
"""Renvoie l'objet JSON résultat d'une recherche pour les entrées d'un [Pot],
destiné à être chargé par javascript"""
if (request.method == "GET") or (request.session.get("logged", None) != "ok"):
return HttpResponse("Get the fuck out of here", status=444)
else:
try:
asked = request.POST["asked"]
idpot = int(idpot)
except:
return HttpResponse("")
success, sock_ou_response = nk.socket_still_alive(request)
if success:
sock = sock_ou_response
data = [asked, idpot]
sock.write(json.dumps(["search_pot", data]))
out = nk.full_read(sock)["msg"]
return HttpResponse(json.dumps(out))
else:
response = sock_ou_response
return HttpResponse(u'"Erreur"')
@csrf_exempt
def get_display_info(request):
"""Renvoie l'objet JSON résultat d'un get_display_info
......
No preview for this file type
......@@ -89,6 +89,7 @@ urlpatterns += patterns('note.ajaj',
url(ur'^/quick_search_(?P<mode>basic|dons)/*$', 'quick_search'),
url(ur'^/search/*$', 'search'),
url(ur'^/search_readhesion/*$', 'search_readhesion'),
url(ur'^/search_pot/(?P<idpot>[^/]*)/*$', 'search_pot'),
url(ur'^/get_boutons/(?P<flags>[^/]*)/*$', 'get_boutons'),
url(ur'^/get_display_info/*$', 'get_display_info'),
url(ur'^/get_photo/(?P<idbde>[^/]*)/*$', 'get_photo'),
......
No preview for this file type
No preview for this file type
/* Quelques commandes appelées au chargement de la page afin de mettre en forme correctement tout en utilisant le code préexistant sur la note. */
// Etend la fenetre sur tout la largeur de la page
/*var container = document.getElementById('idpot').parentNode
container.className = container.className.replace('col-sm-10', 'col-sm-12')*/
// Pour charger l'historique
refreshHistorique();
......
......@@ -8,7 +8,6 @@
**/
/* fonctions de hl et de cliquabilité des lignes du tableau de recherche */
var readhesion = false;
function GoTo(url)
{
......@@ -22,10 +21,11 @@ function requestCompte(asked, callback) {
xhr.onreadystatechange = function() {
if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) {
// la fonction de callback a besoin aussi de la question
console.log(JSON.parse(xhr.responseText));
callback(xhr.responseText, asked);
}
};
xhr.open("POST", NOTE_ROOT_URL + "quick_search_basic/", true);
xhr.open("POST", NOTE_ROOT_URL + "search_pot/" + document.getElementById("idpot").value , true);
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xhr.setRequestHeader("X-CSRFToken", csrftoken);
xhr.send("asked=" + encodeURIComponent(asked));
......@@ -95,7 +95,6 @@ function createField(table_line, content, type, highlight, colonne) {
else {
caze.appendChild(document.createTextNode(content.slice(0, indexes[0][0])));
indexes.push([content.length, null]);
for (var i = 0; i < indexes.length - 1; i ++) {
console.log(content)
console.log(indexes)
mark = document.createElement("mark");
......@@ -104,7 +103,6 @@ function createField(table_line, content, type, highlight, colonne) {
caze.appendChild(document.createTextNode(content.slice(indexes[i][1], indexes[i + 1][0])));
}
}
}
// On masque certaines colonnes en fonction du viewport (Bootstrap 3 requis)
hidden_xs = new Array('aliases', 'historiques', 'mail', 'section');
......@@ -132,9 +130,9 @@ function readDataNormal(oData, asked) {
/* fonction qui traite les données à leur retour */
function readDataCompte(oData, asked) {
var gotlist = JSON.parse(oData);
var [adherents, invites, dejaEntres] = JSON.parse(oData);
var liste = document.createElement("table");
liste.setAttribute("class", "table table-condensed table-hover table-bordered");
liste.setAttribute("class", "table table-condensed table-bordered");
// on crée la ligne de titre
var thead = document.createElement("thead");
......@@ -150,15 +148,15 @@ function readDataCompte(oData, asked) {
createField(first_line, content, "th", null, colonne);
}
var ligne;
var size = gotlist.length;
var size = adherents.length;
if (size>0)
{
liste.appendChild(thead);
}
var tbody = document.createElement("tbody");
var dejaAffiche = {};
var dejaAffiche = {}; // Pour ne pas afficher 2 fois le même profil (quicksearch oblige)
for (var i = 0, c = size; i<c; i++) {
profil = gotlist[i];
profil = adherents[i];
if (!(profil["idbde"] in dejaAffiche)) {
// on crée une nouvelle ligne
ligne = document.createElement("tr");
......@@ -174,7 +172,11 @@ function readDataCompte(oData, asked) {
}
dejaAffiche[profil["idbde"]] = profil["was"];
entree = {"idbde": profil["idbde"], "invite": false, "activite": document.getElementById("idpot").value };
ligne.addEventListener("click", do_entree.bind("trapped", entree));
if (profil["idbde"] in dejaEntres) {
ligne.style.backgroundColor = "#FF4949";
}
ligne.addEventListener("click", do_entree.bind("trapped", ligne, entree));
ligne.style.cursor = "default";
// on ajoute la ligne au tableau
tbody.appendChild(ligne);
}
......@@ -203,24 +205,30 @@ function readDataCompte(oData, asked) {
// on lui donne le même id qu'avant pour pouvoir recommencer
panel.setAttribute("id", "liste_comptes");
panel.setAttribute("id", "liste_comptes");
old_panel.parentNode.replaceChild(panel, old_panel);
}
function do_entree (entree) {
function do_entree (ligne,entree) {
var date = (new Date()).toLocaleString();
entree["date"] = date.replace(" à ", " ");
console.log(entree);
var xhr = getXMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) {
// la fonction de callback a besoin aussi de la question
//callback(xhr.responseText, asked);
console.log(JSON.parse(xhr.responseText));
display_error(JSON.parse(xhr.responseText));
//display_error(JSON.parse(xhr.responseText));
affiche_entre(ligne);
}
};
xhr.open("POST", NOTE_ROOT_URL + "do_entree_pot/", true);
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xhr.setRequestHeader("X-CSRFToken", csrftoken);
xhr.send("entree=" + encodeURIComponent(JSON.stringify(entree))); }
xhr.send("entree=" + encodeURIComponent(JSON.stringify(entree)));
}
function affiche_entre(ligne) {
ligne.style = "background-color:#ff4949";
}
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