Commit a0273fce authored by c24b's avatar c24b

FIX help Js

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