Commit 329a9f82 authored by PkSM3's avatar PkSM3

[BUGFIX] explorer sharing

parent 47f6061a
...@@ -58,7 +58,7 @@ from ngram.lists import listIds, listNgramIds, ngramList , doList ...@@ -58,7 +58,7 @@ from ngram.lists import listIds, listNgramIds, ngramList , doList
def test_page(request , project_id , corpus_id): def test_page(request , project_id , corpus_id):
if not request.user.is_authenticated(): if not request.user.is_authenticated():
return redirect('/login/?next=%s' % request.path) return redirect('/auth/?next=%s' % request.path)
try: try:
offset = int(project_id) offset = int(project_id)
...@@ -96,7 +96,7 @@ def test_page(request , project_id , corpus_id): ...@@ -96,7 +96,7 @@ def test_page(request , project_id , corpus_id):
def get_ngrams(request , project_id , corpus_id ): def get_ngrams(request , project_id , corpus_id ):
if not request.user.is_authenticated(): if not request.user.is_authenticated():
return redirect('/login/?next=%s' % request.path) return redirect('/auth/?next=%s' % request.path)
try: try:
offset = int(project_id) offset = int(project_id)
...@@ -170,7 +170,7 @@ def test_test(request , corpus_id , doc_id): ...@@ -170,7 +170,7 @@ def test_test(request , corpus_id , doc_id):
def get_journals(request , project_id , corpus_id ): def get_journals(request , project_id , corpus_id ):
if not request.user.is_authenticated(): if not request.user.is_authenticated():
return redirect('/login/?next=%s' % request.path) return redirect('/auth/?next=%s' % request.path)
try: try:
offset = int(project_id) offset = int(project_id)
......
...@@ -51,9 +51,25 @@ from gargantext_web.db import session, cache, NodeNgram, NodeNgramNgram ...@@ -51,9 +51,25 @@ from gargantext_web.db import session, cache, NodeNgram, NodeNgramNgram
def login_user(request): def login_user(request):
logout(request) logout(request)
username = password = '' username = password = ''
print(request)
if request.POST: next_page = ""
if request.method == "GET":
additional_context = {}
# if for exemple: auth/?next=/project/5/corpus/554/document/556/
# => we'll forward ?next="..." into template with form
if ('next' in request.GET):
additional_context = {'next_page':request.GET['next']}
return render_to_response('authentication.html',
additional_context,
context_instance=RequestContext(request)
)
elif request.method == "POST":
username = request.POST['username'] username = request.POST['username']
# /!\ pass is sent clear in POST data
password = request.POST['password'] password = request.POST['password']
user = authenticate(username=username, password=password) user = authenticate(username=username, password=password)
...@@ -61,8 +77,13 @@ def login_user(request): ...@@ -61,8 +77,13 @@ def login_user(request):
if user.is_active: if user.is_active:
login(request, user) login(request, user)
# if "next" forwarded from the GET via the template form
if ('the_next_page' in request.POST):
return HttpResponseRedirect(request.POST['the_next_page'])
else:
return HttpResponseRedirect('/projects/') return HttpResponseRedirect('/projects/')
return render_to_response('authentication.html', context_instance=RequestContext(request))
def logout_user(request): def logout_user(request):
logout(request) logout(request)
...@@ -297,7 +318,7 @@ def update_nodes(request, project_id, corpus_id, view=None): ...@@ -297,7 +318,7 @@ def update_nodes(request, project_id, corpus_id, view=None):
''' '''
if not request.user.is_authenticated(): if not request.user.is_authenticated():
return redirect('/login/?next=%s' % request.path) return redirect('/auth/?next=%s' % request.path)
try: try:
offset = int(project_id) offset = int(project_id)
...@@ -360,7 +381,7 @@ def update_nodes(request, project_id, corpus_id, view=None): ...@@ -360,7 +381,7 @@ def update_nodes(request, project_id, corpus_id, view=None):
def corpus(request, project_id, corpus_id): def corpus(request, project_id, corpus_id):
if not request.user.is_authenticated(): if not request.user.is_authenticated():
return redirect('/login/?next=%s' % request.path) return redirect('/auth/?next=%s' % request.path)
try: try:
offset = int(project_id) offset = int(project_id)
...@@ -488,7 +509,7 @@ def move_to_trash_multiple(request): ...@@ -488,7 +509,7 @@ def move_to_trash_multiple(request):
user = request.user user = request.user
if not user.is_authenticated(): if not user.is_authenticated():
return redirect('/login/?next=%s' % request.path) return redirect('/auth/?next=%s' % request.path)
results = ["operation","failed"] results = ["operation","failed"]
...@@ -516,7 +537,7 @@ def delete_node(request, node_id): ...@@ -516,7 +537,7 @@ def delete_node(request, node_id):
node = session.query(Node).filter(Node.id == node_id).first() node = session.query(Node).filter(Node.id == node_id).first()
if not user.is_authenticated(): if not user.is_authenticated():
return redirect('/login/?next=%s' % request.path) return redirect('/auth/?next=%s' % request.path)
if node.user_id != user.id: if node.user_id != user.id:
return HttpResponseForbidden() return HttpResponseForbidden()
...@@ -618,7 +639,7 @@ def graph(request, project_id, corpus_id, generic=100, specific=100): ...@@ -618,7 +639,7 @@ def graph(request, project_id, corpus_id, generic=100, specific=100):
corpus_type_id = cache.NodeType['Corpus'].id corpus_type_id = cache.NodeType['Corpus'].id
miamlist_type_id = cache.NodeType['MiamList'].id miamlist_type_id = cache.NodeType['MiamList'].id
miamlist = session.query(Node).filter(Node.user_id == request.user.id , Node.parent_id==corpus_id , Node.type_id == cache.NodeType['MiamList'].id ).first() miamlist = session.query(Node).filter(Node.parent_id==corpus_id , Node.type_id == cache.NodeType['MiamList'].id ).first()
graphurl = "corpus/"+str(corpus_id)+"/node_link.json" graphurl = "corpus/"+str(corpus_id)+"/node_link.json"
......
...@@ -52,7 +52,7 @@ def project(request, project_id): ...@@ -52,7 +52,7 @@ def project(request, project_id):
# do we have a valid user? # do we have a valid user?
user = request.user user = request.user
if not user.is_authenticated(): if not user.is_authenticated():
return redirect('/login/?next=%s' % request.path) return redirect('/auth/?next=%s' % request.path)
if project.user_id != user.id: if project.user_id != user.id:
in_group = """ SELECT user_parent FROM node_user_user WHERE user_id=%d""" % ( int(user.id) ) in_group = """ SELECT user_parent FROM node_user_user WHERE user_id=%d""" % ( int(user.id) )
cursor = connection.cursor() cursor = connection.cursor()
......
...@@ -399,12 +399,20 @@ class Group(APIView): ...@@ -399,12 +399,20 @@ class Group(APIView):
max_deg = -1 max_deg = -1
mainNode = -1 mainNode = -1
mainNode_sinonims = [] mainNode_sinonims = []
if len(clique) > 1:
for node in clique: for node in clique:
# just a lookup hash with *both*
# the mainNode and the subnodes
groups["nodes"][node] = False groups["nodes"][node] = False
# choosing mainNode
node_outdeg = DG.out_degree(node) node_outdeg = DG.out_degree(node)
if node_outdeg>max_deg: if node_outdeg>max_deg:
max_deg = node_outdeg max_deg = node_outdeg
mainNode = node mainNode = node
# the links themselves main => [subs]
for node in clique: for node in clique:
if mainNode!=node: if mainNode!=node:
mainNode_sinonims.append( node ) mainNode_sinonims.append( node )
......
...@@ -104,7 +104,7 @@ def doTheQuery(request , project_id): ...@@ -104,7 +104,7 @@ def doTheQuery(request , project_id):
# do we have a valid user? # do we have a valid user?
user = request.user user = request.user
if not user.is_authenticated(): if not user.is_authenticated():
return redirect('/login/?next=%s' % request.path) return redirect('/auth/?next=%s' % request.path)
if project.user_id != user.id: if project.user_id != user.id:
return HttpResponseForbidden() return HttpResponseForbidden()
...@@ -208,7 +208,7 @@ def testISTEX(request , project_id): ...@@ -208,7 +208,7 @@ def testISTEX(request , project_id):
# do we have a valid user? # do we have a valid user?
user = request.user user = request.user
if not user.is_authenticated(): if not user.is_authenticated():
return redirect('/login/?next=%s' % request.path) return redirect('/auth/?next=%s' % request.path)
if project.user_id != user.id: if project.user_id != user.id:
return HttpResponseForbidden() return HttpResponseForbidden()
......
This diff is collapsed.
...@@ -62,8 +62,8 @@ ...@@ -62,8 +62,8 @@
<div id="login"> <div id="login">
<form class="form-horizontal" name="LoginForm" action="/auth/" method="post"> <form class="form-horizontal" name="LoginForm" action="/auth/" method="post">
{% csrf_token %} {% csrf_token %}
{% if next %} {% if next_page %}
<input type="hidden" name="next" value="{{ next }}" /> <input type="hidden" name="the_next_page" value="{{ next_page }}" />
{% endif %} {% endif %}
<div class="grp-row"> <div class="grp-row">
<label class="control-label" for="username">Username</label> <label class="control-label" for="username">Username</label>
......
...@@ -50,7 +50,7 @@ from rest_v1_0.api import JsonHttpResponse ...@@ -50,7 +50,7 @@ from rest_v1_0.api import JsonHttpResponse
def get_ngrams(request , project_id , corpus_id ): def get_ngrams(request , project_id , corpus_id ):
if not request.user.is_authenticated(): if not request.user.is_authenticated():
return redirect('/login/?next=%s' % request.path) return redirect('/auth/?next=%s' % request.path)
try: try:
offset = int(project_id) offset = int(project_id)
...@@ -108,7 +108,7 @@ def get_ngrams(request , project_id , corpus_id ): ...@@ -108,7 +108,7 @@ def get_ngrams(request , project_id , corpus_id ):
def get_journals(request , project_id , corpus_id ): def get_journals(request , project_id , corpus_id ):
if not request.user.is_authenticated(): if not request.user.is_authenticated():
return redirect('/login/?next=%s' % request.path) return redirect('/auth/?next=%s' % request.path)
try: try:
offset = int(project_id) offset = int(project_id)
......
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