Skip to content
Snippets Groups Projects
Commit eff67682 authored by erichard's avatar erichard
Browse files

Modification du mot tutorial(s) en element(s)

S'affranchir des spécificités de CodingPool
parent 62bfacc6
No related branches found
No related tags found
2 merge requests!61Packager labelstower,!60WIP: Implement sqlalchemy
......@@ -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'))
......
......@@ -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');
......
......@@ -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);
},
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment