From eff67682cf8e222c428d7acb3587911f2e656ed1 Mon Sep 17 00:00:00 2001 From: erichard <elliot.richard@lal.in2p3.fr> Date: Thu, 24 Oct 2019 10:19:22 +0200 Subject: [PATCH] Modification du mot tutorial(s) en element(s) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit S'affranchir des spécificités de CodingPool --- app/codingPool.py | 12 ++++++------ app/static/js/tmp.js | 34 +++++++++++++++++----------------- app/templates/browse.html | 14 +++++++------- 3 files changed, 30 insertions(+), 30 deletions(-) diff --git a/app/codingPool.py b/app/codingPool.py index 9b642ff..17305af 100644 --- a/app/codingPool.py +++ b/app/codingPool.py @@ -56,15 +56,15 @@ def search_tuto(): return render_template('browse.html', txt=text_component) #--------------------------------------------------------------------------DEBUT DE MES ROUTES -@app.route('/selected_tutorials_wt_mandatory_label/<string:id_mandatory_labels>/<string:number_of_mandatory_labels>/', defaults={'id_forbiden_labels':' '}) -@app.route('/selected_tutorials_wt_mandatory_label/<string:id_mandatory_labels>/<string:number_of_mandatory_labels>/<string:id_forbiden_labels>') -def get_selected_tutorials_wt_mandatory_label(id_mandatory_labels, number_of_mandatory_labels, id_forbiden_labels): +@app.route('/selected_elements_wt_mandatory_label/<string:id_mandatory_labels>/<string:number_of_mandatory_labels>/', defaults={'id_forbiden_labels':' '}) +@app.route('/selected_elements_wt_mandatory_label/<string:id_mandatory_labels>/<string:number_of_mandatory_labels>/<string:id_forbiden_labels>') +def get_selected_elements_wt_mandatory_label(id_mandatory_labels, number_of_mandatory_labels, id_forbiden_labels): return jsonify(send_sql('SELECT id_element, element_name FROM ELEMENT INNER JOIN ELEMENT_LABEL ON ELEMENT.id=ELEMENT_LABEL.id_element INNER JOIN LABEL ON ELEMENT_LABEL.id_label=LABEL.id WHERE id_label IN ('+id_mandatory_labels+") AND id_element NOT IN (SELECT id_element FROM ELEMENT INNER JOIN ELEMENT_LABEL ON ELEMENT.id=ELEMENT_LABEL.id_element INNER JOIN LABEL ON ELEMENT_LABEL.id_label=LABEL.id WHERE id_label IN ("+id_forbiden_labels+")) GROUP BY id_element HAVING COUNT(*) = "+number_of_mandatory_labels+" Order BY element_name")) -@app.route('/selected_tutorials_wtout_mandatory_label/', defaults={'id_forbiden_labels':' '}) -@app.route('/selected_tutorials_wtout_mandatory_label/<string:id_forbiden_labels>/') -def get_selected_tutorials_wtout_mandatory_label(id_forbiden_labels): +@app.route('/selected_elements_wtout_mandatory_label/', defaults={'id_forbiden_labels':' '}) +@app.route('/selected_elements_wtout_mandatory_label/<string:id_forbiden_labels>/') +def get_selected_elements_wtout_mandatory_label(id_forbiden_labels): return jsonify(send_sql('SELECT DISTINCT id_element, element_name FROM ELEMENT INNER JOIN ELEMENT_LABEL ON ELEMENT.id = ELEMENT_LABEL.id_element INNER JOIN label ON ELEMENT_LABEL.id_label=label.id WHERE element_name NOT IN ( SELECT element_name FROM ELEMENT INNER JOIN ELEMENT_LABEL ON ELEMENT.id = ELEMENT_LABEL.id_element INNER JOIN label ON ELEMENT_LABEL.id_label = label.id WHERE id_label IN ('+id_forbiden_labels+') ) ORDER BY element_name ASC')) diff --git a/app/static/js/tmp.js b/app/static/js/tmp.js index 56ad76d..b86317b 100644 --- a/app/static/js/tmp.js +++ b/app/static/js/tmp.js @@ -14,28 +14,28 @@ varaiable : column : chaine de caratère return chaine; } -function update_tutorials_and_labels(){ +function update_elements_and_labels(){ /* -Procedure update_tutorials_and_labels() -{Update the vues #result (result.selected_tutorials) +Procedure update_elements_and_labels() +{Update the vues #result (result.selected_elements) and #hierarchy (hierarchy.high_discriminating_labels, hierarchy.language_label) depending on which labels are forbiden and mandatory} */ - update_high_discrimanating_labels(update_selected_tutorials()); + update_high_discrimanating_labels(update_selected_elements()); } -function update_selected_tutorials(){ +function update_selected_elements(){ /* -Function update_selected_tutorials() -{Return all id of selected tutorials and Update the vue #result (result.selected_tutorials) +Function update_selected_elements() +{Return all id of selected elements and Update the vue #result (result.selected_elements) depending on which labels are forbiden and mandatory} */ var number_of_mandatory_labels = hierarchy.mandatory_labels.length; if( number_of_mandatory_labels == 0 ){ var id_forbiden_labels = format_json_to_string(hierarchy.forbiden_labels, 'id'); - url = '/selected_tutorials_wtout_mandatory_label/'; + url = '/selected_elements_wtout_mandatory_label/'; url+=id_forbiden_labels; result.selected_elements = JSON.parse(send_simple_request(url)); @@ -43,29 +43,29 @@ Function update_selected_tutorials() var id_forbiden_labels = format_json_to_string(hierarchy.forbiden_labels, 'id'); var id_mandatory_labels = format_json_to_string(hierarchy.mandatory_labels, 'id'); - url = '/selected_tutorials_wt_mandatory_label/'; + url = '/selected_elements_wt_mandatory_label/'; url+=id_mandatory_labels; url+='/'+number_of_mandatory_labels; url+='/'+id_forbiden_labels; result.selected_elements = JSON.parse(send_simple_request(url)); } - var id_tutorials_selected = format_json_to_string(result.selected_elements,'id_element'); + var id_selected_elements = format_json_to_string(result.selected_elements,'id_element'); - return id_tutorials_selected; + return id_selected_elements; } -function update_high_discrimanating_labels(id_tutorials_selected){ +function update_high_discrimanating_labels(id_selected_elements){ /* -Procedure update_high_discrimanating_labels(id_tutorials_selected:string){ -Prameter : (D) id_tutorials_selected : string +Procedure update_high_discrimanating_labels(id_selected_elements:string){ +Prameter : (D) id_selected_elements : string { Update the vue #hierarchy (hierarchy.high_discriminating_labels, hierarchy.language_label) depending on which labels are forbiden and mandatory } */ - var number_of_selected_tutorials = result.selected_elements.length; + var number_of_selected_elements = result.selected_elements.length; url='/discriminating_labels/'; - url+=number_of_selected_tutorials+'/'; - url+=id_tutorials_selected; + url+=number_of_selected_elements+'/'; + url+=id_selected_elements; var discrimanating_labels = JSON.parse(send_simple_request(url)); var id_discrimanating_labels = format_json_to_string(discrimanating_labels,'id'); diff --git a/app/templates/browse.html b/app/templates/browse.html index 4df0290..74bdd41 100644 --- a/app/templates/browse.html +++ b/app/templates/browse.html @@ -97,7 +97,7 @@ <div class="panel panel-primary"> <div class="panel-heading title"> <span id="result-title"> - <span >{{ selected_elements.length }} {{ (selected_elements.length > 1) ? "Tutorials" : "Tutorial" }}</span> + <span >{{ selected_elements.length }} {{ (selected_elements.length > 1) ? "Elements" : "Element" }}</span> </span> </div> @@ -132,7 +132,7 @@ */ setup = setup_session(); if (setup == 0) { - update_tutorials_and_labels(); + update_elements_and_labels(); } } @@ -179,7 +179,7 @@ hierarchy.forbiden_labels = []; result.selected_elements = []; update_loading(0); - update_tutorials_and_labels(); + update_elements_and_labels(); save_session(); update_loading(1); }, @@ -197,7 +197,7 @@ hierarchy.mandatory_labels.push(hierarchy.high_discriminating_labels[index]); hierarchy.high_discriminating_labels.splice(index, 1); } - update_tutorials_and_labels(); + update_elements_and_labels(); save_session(); update_loading(1); }, @@ -209,7 +209,7 @@ */ update_loading(0); hierarchy.mandatory_labels.splice(hierarchy.mandatory_labels.indexOf(hierarchy.mandatory_labels[index]), 1); - update_tutorials_and_labels(); + update_elements_and_labels(); save_session(); update_loading(1); }, @@ -227,7 +227,7 @@ hierarchy.forbiden_labels.push(hierarchy.high_discriminating_labels[index]); hierarchy.high_discriminating_labels.splice(index, 1); } - update_tutorials_and_labels(); + update_elements_and_labels(); save_session(); update_loading(1); }, @@ -238,7 +238,7 @@ */ update_loading(0); hierarchy.forbiden_labels.splice(index, 1); - update_tutorials_and_labels(); + update_elements_and_labels(); save_session(); update_loading(1); }, -- GitLab