Commit 18caaeba authored by c24b's avatar c24b

FIX help Js

parent f763eaa1
......@@ -31,7 +31,7 @@ class UserParameters(APIView):
node_user.hyperdata[k] = v
# setattr(node_user.hyperdata, k, v)
# print(node_user.hyperdata)
# node_user.save_hyperdata()
node_user.save_hyperdata()
session.add(node_user)
session.commit()
node_user = session.query(Node).filter(Node.user_id == user.id, Node.typename== "USER").first()
......
......@@ -25,10 +25,6 @@ class LoginView(FormView):
login(self.request, user)
node_user = session.query(Node).filter(Node.user_id == user.id, Node.typename== "USER").first()
if "language" not in node_user["hyperdata"].keys():
node_user.hyperdata["language"] = "fr"
session.add(node_user)
session.commit()
#user hasn't been found inside Node table
#create it from auth table => node table
if node_user is None:
......@@ -42,6 +38,8 @@ class LoginView(FormView):
node_user.hyperdata = {"language":"fr"}
session.add(node_user)
session.commit()
return super(LoginView, self).form_valid(form)
else:
return self.form_invalid(form)
......
......@@ -28,7 +28,6 @@ def docs_by_titles(request, project_id, corpus_id):
authorized, user, project, corpus = _get_user_project_corpus(request, project_id, corpus_id)
if not authorized:
return HttpResponseForbidden()
node_user = get_node_user(user)
source_type = corpus.resources()[0]['type']
# response!
return render(
......@@ -42,7 +41,7 @@ def docs_by_titles(request, project_id, corpus_id):
'resourcename' : get_resource(source_type)['name'],
'view': 'titles',
'user': request.user,
'user_parameters': node_user.hyperdata,
'user_parameters': get_user_params(user),
'languages': USER_LANG
},
)
......@@ -61,9 +60,8 @@ def docs_by_sources(request, project_id, corpus_id):
project = cache.Node[project_id]
user = cache.User[request.user.id]
source_type = corpus.resources()[0]['type']
node_user = get_node_user(user)
# rendered page : sources.html
print(node_user)
return render(
template_name = 'pages/corpora/sources.html',
request = request,
......@@ -74,7 +72,7 @@ def docs_by_sources(request, project_id, corpus_id):
'corpus' : corpus,
'resourcename' : get_resource(source_type)['name'],
'user': request.user,
'user_parameters': node_user,
'user_parameters': get_user_params(user),
'view': 'sources',
'languages': USER_LANG
},
......@@ -120,7 +118,6 @@ def analytics(request, project_id, corpus_id):
return HttpResponseForbidden()
source_type = corpus.resources()[0]['type']
node_user = get_node_user(user)
# response!
return render(
template_name = 'pages/analytics/histories.html',
......@@ -133,7 +130,7 @@ def analytics(request, project_id, corpus_id):
'resourcename' : get_resource(source_type)['name'],
'view': 'analytics',
'user': request.user,
'user_parameters': node_user.hyperdata,
'user_parameters': get_user_params(user),
'languages': USER_LANG
},
)
......@@ -6,7 +6,7 @@ from gargantext.util.generators import paragraphs, credits
from gargantext.constants import USER_LANG
def get_user_node(user):
if user.is_authenticated:
if user is not None:
node_user = session.query(Node).filter(Node.user_id == user.id, Node.typename== "USER").first()
return node_user
else:
......
......@@ -174,57 +174,59 @@ help = {"#project":{
"position":"after",
}
};
//define lang
//current lang
lang = $("a#lang").data("lang")
//load help
loadHelp(lang)
//change lang
loadHelp(lang);
//change lang on click and load corresponding Help
$("a.new_lang").on("click", function(){
//close all popover while changing lang
$('.popover').popover('hide');
old_lang = $("a#lang").data("lang")
new_lang = $(this).data("lang")
loadHelp(new_lang);
//current lang in tab
$("a#lang").attr("data-lang", new_lang);
updateLang(lang, new_lang)
loadHelp(new_lang)
});
function updateLang(old_lang, new_lang){
console.log("Old", old_lang)
console.log("Updating to", new_lang)
image = $("a#lang > img")
image.attr({"value":new_lang, "src":"/static/img/"+new_lang+".png"})
label = $("a#lang > span")
label.text(new_lang)
//console.log(label)
//$('a#lang').text(new_lang)
//$("img[value=]").attr("value", new_lang)
//$("img").attr("src", "/static/img/"+new_lang+."png")
$("a.new_lang").attr("data-lang", lang);
image = $("a.new_lang > img")
image.attr({"value":lang, "src":"/static/img/"+lang+".png"})
label = $("a.new_lang > span")
label.text(lang)
// console.log("AJAX")
$.ajax({
url: '/api/user/parameters/',
type: 'PUT',
data: {"language":new_lang},
beforeSend: function(xhr) {
xhr.setRequestHeader("X-CSRFToken", getCookie("csrftoken"));
//update lang in db
$.ajax({
url: '/api/user/parameters/',
type: 'PUT',
data: {"language":new_lang},
beforeSend: function(xhr) {
xhr.setRequestHeader("X-CSRFToken", getCookie("csrftoken"));
},
success: function(response, data) {
console.log(data)
var old_lang = $("a#lang").data("lang")
//var new_lang = data["language"]
//change active langue
$("a#lang").attr("data-lang", new_lang);
$("a#lang > img").attr({"value":new_lang, "src":"/static/img/"+new_lang+".png"})
$("a#lang > span").text(new_lang)
//switch lang to option
$("a.new_lang").attr("data-lang", old_lang);
$("a.new_lang > img").attr({"value":old_lang, "src":"/static/img/"+lang+".png"})
$("a.new_lang > span").text(old_lang)
console.log(response, data)
},
success: function(response) {
console.log(response);
console.log("EDIT SUCCESS!");
//$("a#lang").attr("data-lang", new_lang);
// console.log("a#lang")
// //$("a#lang").next("img").attr({"value": new_lang, "src":"/static/img/"+new_lang+".png")
// //$("a.new_lang").attr("data-lang", new_lang);
// //$("a.new_lang").next("img").attr({"value": lang, "src":"/static/img/"+lang+".png")
// //window.location.reload()
},
error: function(xhr) {
console.log("EDIT FAIL!")
error: function(xhr) {
console.log("EDIT FAIL!")
},
});
console.log("defaut lang is now", $("a#lang").data("lang"))
};
},
});
});
function loadHelp(lang){
$("span.help-btn").remove()
......@@ -270,6 +272,10 @@ function loadHelp(lang){
});
}
$(document).on('click', function (e) {
$('[data-toggle="popover"],[data-original-title]').each(function () {
//the 'is' for buttons that trigger popups
......@@ -280,3 +286,20 @@ $(document).on('click', function (e) {
});
});
function getCookie(name) {
var cookieValue = null;
if (document.cookie && document.cookie != '') {
var cookies = document.cookie.split(';');
for (var i = 0; i < cookies.length; i++) {
var cookie = jQuery.trim(cookies[i]);
// Does this cookie string begin with the name we want?
if (cookie.substring(0, name.length + 1) == (name + '=')) {
cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
break;
}
}
}
return cookieValue;
};
......@@ -107,6 +107,9 @@
{% if user.is_authenticated %}
<li class="nav-item dropdown lang">
<a class="nav-link dropdown-toggle" id="lang" data-lang="{{user_parameters.language}}" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<img value="{{user_parameters.language}}" src="/static/img/{{user_parameters.language}}.png" width="25%"/>
<span class="label">{{user_parameters.language}}</span>
......
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