Commit ae23856c authored by PkSM3's avatar PkSM3

merge conflict fixed?

parents d0003ef9 eec56527
...@@ -10,6 +10,8 @@ NodeType = models.NodeType.sa ...@@ -10,6 +10,8 @@ NodeType = models.NodeType.sa
NodeNgram = models.Node_Ngram.sa NodeNgram = models.Node_Ngram.sa
NodeNodeNgram = models.NodeNgramNgram.sa NodeNodeNgram = models.NodeNgramNgram.sa
Ngram = models.Ngram.sa Ngram = models.Ngram.sa
Node_Metadata = models.Node_Metadata.sa
Metadata = models.Metadata.sa
Node = models.Node.sa Node = models.Node.sa
Corpus = models.Corpus.sa Corpus = models.Corpus.sa
...@@ -36,7 +38,7 @@ def result2dict(query): ...@@ -36,7 +38,7 @@ def result2dict(query):
return(results) return(results)
def diachronic_specificity(corpus_id, string, order=True): def diachronic_specificity(corpus_id, terms, order=True):
''' '''
Take as parameter Corpus primary key and text of ngrams. Take as parameter Corpus primary key and text of ngrams.
Result is a dictionnary. Result is a dictionnary.
...@@ -44,33 +46,44 @@ def diachronic_specificity(corpus_id, string, order=True): ...@@ -44,33 +46,44 @@ def diachronic_specificity(corpus_id, string, order=True):
Values are measure to indicate diachronic specificity. Values are measure to indicate diachronic specificity.
Nowadays, the measure is rather simple: distance of frequency of period from mean of frequency of all corpus. Nowadays, the measure is rather simple: distance of frequency of period from mean of frequency of all corpus.
''' '''
corpus = session.query(Node).get(int(corpus_id)) ngram_frequency_query = (session
ngram = session.query(Ngram).filter(Ngram.terms == string).first() .query(Node.metadata['publication_year'], func.count('*'))
.join(NodeNgram, Node.id == NodeNgram.node_id)
ngram_frequency_query = session.query(Node.metadata['publication_year'], func.count('*')) .join(NodeNgram, Node.id == NodeNgram.node_id) .filter( NodeNgram.ngram == ngram) .filter(Node.parent_id == corpus.id) .group_by(Node.metadata['publication_year']).all() .join(Ngram, Ngram.id == NodeNgram.ngram_id)
.filter(Ngram.terms == terms)
.filter(Node.parent_id == corpus_id)
.group_by(Node.metadata['publication_year'])
)
document_year_sum_query = session.query(Node.metadata['publication_year'], func.count('*')) .filter(Node.parent_id == corpus.id) .group_by(Node.metadata['publication_year']).all() document_year_sum_query = (session
.query(Node.metadata['publication_year'], func.count('*'))
.filter(Node.parent_id == corpus_id)
.group_by(Node.metadata['publication_year'])
)
document_filterByngram_year = result2dict(ngram_frequency_query) document_filterByngram_year = dict(ngram_frequency_query.all())
document_all_year = result2dict(document_year_sum_query) document_all_year = dict(document_year_sum_query.all())
#print(document_all_year) #print(document_all_year)
data = dict()
for year in document_all_year.keys(): relative_terms_count = dict()
data[year] = document_filterByngram_year.get(year, 0) / document_all_year[year] for year, total in document_all_year.items():
terms_count = document_filterByngram_year.get(year, 0)
relative_terms_count[year] = terms_count / total
mean = np.mean(list(data.values())) mean = np.mean(list(relative_terms_count.values()))
data_dict = dict(zip(data.keys(), list(map(lambda x: x - mean, data.values())))) relative_terms_count = {
key: (value - mean)
for key, value in relative_terms_count.items()
}
if order == True: if order == True:
return collections.OrderedDict(sorted(data_dict.items())) return collections.OrderedDict(sorted(relative_terms_count.items()))
else: else:
return data_dict return relative_terms_count
# For tests # For tests
#diachronic_specificity(102750, "bayer", order=True) # diachronic_specificity(102750, "bayer", order=True)
# diachronic_specificity(26128, "bee", order=True)
...@@ -18,7 +18,7 @@ def get_team(): ...@@ -18,7 +18,7 @@ def get_team():
''' '''
team = [ team = [
{ 'first_name' : 'Alexandre', 'last_name' : 'Delanoë', 'mail' : 'alexandre+gargantextATdelanoe.org', 'website' : 'http://alexandre.delanoe.org', 'picture' : 'alexandre.jpg'}, { 'first_name' : 'Alexandre', 'last_name' : 'Delanoë', 'mail' : 'alexandre+gargantextATdelanoe.org', 'website' : 'http://alexandre.delanoe.org', 'picture' : 'alexandre.jpg'},
{ 'first_name' : 'David', 'last_name' : 'Chavalarias', 'mail' : '', 'website' : 'http://chavalarias.com', 'picture' : 'david.jpg'}, { 'first_name' : 'David', 'last_name' : 'Chavalarias', 'mail' : 'david.chavalariasATiscpif.fr', 'website' : 'http://chavalarias.com', 'picture' : 'david.jpg'},
{ 'first_name' : 'Mathieu', 'last_name' : 'Rodic', 'mail' : '', 'website' : 'http://rodic.fr', 'picture' : 'mathieu.jpg'}, { 'first_name' : 'Mathieu', 'last_name' : 'Rodic', 'mail' : '', 'website' : 'http://rodic.fr', 'picture' : 'mathieu.jpg'},
{ 'first_name' : 'Samuel', 'last_name' : 'Castillo J.', 'mail' : 'kaisleanATgmail.com', 'website' : 'http://www.pksm3.droppages.com', 'picture' : 'samuel.jpg'}, { 'first_name' : 'Samuel', 'last_name' : 'Castillo J.', 'mail' : 'kaisleanATgmail.com', 'website' : 'http://www.pksm3.droppages.com', 'picture' : 'samuel.jpg'},
{ 'first_name' : 'Elias', 'last_name' : 'Showk', 'mail' : '', 'website' : 'https://github.com/elishowk', 'picture' : ''}, { 'first_name' : 'Elias', 'last_name' : 'Showk', 'mail' : '', 'website' : 'https://github.com/elishowk', 'picture' : ''},
...@@ -35,7 +35,12 @@ def get_sponsors(): ...@@ -35,7 +35,12 @@ def get_sponsors():
''' '''
sponsors = [ sponsors = [
{ 'name' : 'Mines ParisTech', 'website' : 'http://mines-paristech.fr', 'picture' : 'logo.png'}, { 'name' : 'Mines ParisTech', 'website' : 'http://mines-paristech.fr', 'picture' : 'mines.png', 'funds':''},
{ 'name' : 'Institut Pasteur', 'website' : 'http://www.pasteur.fr', 'picture' : 'pasteur.png', 'funds':''},
{ 'name' : 'Forccast', 'website' : 'http://forccast.hypotheses.org/', 'picture' : 'forccast.png', 'funds':''},
{ 'name' : 'ADEME', 'website' : 'http://www.ademe.fr', 'picture' : 'ademe.png', 'funds':''},
{ 'name' : 'EHESS', 'website' : 'http://www.ehess.fr', 'picture' : 'ehess.png', 'funds':''},
#{ 'name' : '', 'website' : '', 'picture' : '', 'funds':''},
# copy paste the line above and write your informations please # copy paste the line above and write your informations please
] ]
......
...@@ -20,6 +20,8 @@ urlpatterns = patterns('', ...@@ -20,6 +20,8 @@ urlpatterns = patterns('',
url(r'^auth/$', views.login_user), url(r'^auth/$', views.login_user),
url(r'^auth/logout/$', views.logout_user), url(r'^auth/logout/$', views.logout_user),
url(r'^img/logo.svg$', views.logo),
url(r'^css/bootstrap.css$', views.css),
# User Home view # User Home view
url(r'^$', views.home), url(r'^$', views.home),
......
...@@ -27,7 +27,7 @@ from parsing.FileParsers import * ...@@ -27,7 +27,7 @@ from parsing.FileParsers import *
# SOME FUNCTIONS # SOME FUNCTIONS
from gargantext_web.settings import DEBUG from gargantext_web.settings import DEBUG, STATIC_ROOT
from django.http import * from django.http import *
from django.shortcuts import render_to_response,redirect from django.shortcuts import render_to_response,redirect
from django.template import RequestContext from django.template import RequestContext
...@@ -56,6 +56,51 @@ def logout_user(request): ...@@ -56,6 +56,51 @@ def logout_user(request):
return HttpResponseRedirect('/') return HttpResponseRedirect('/')
# Redirect to a success page. # Redirect to a success page.
def logo(request):
template = get_template('logo.svg')
group = "mines"
#group = "cnrs"
if group == "cnrs":
color = "#093558"
else:
color = "#ff8080"
svg_data = template.render(Context({\
'color': color,\
}))
return HttpResponse(svg_data, mimetype="image/svg+xml")
def css(request):
template = get_template('bootstrap.css')
css = dict()
group = "mines"
#group = "cnrs"
if group == "mines":
css['color'] = '#666666'
css['background'] = '#f8f8f7'
css['a'] = '#bd2525'
css['focus'] = '#7d1818'
css['hr'] = '#eaafae'
css['text'] = '#a2a3a2'
css['form'] = '#a5817f'
css['help'] = '#a6a6a6'
else:
css['color'] = '#E2E7EB'
css['background'] = '#8C9DAD' #container background
css['a'] = '#093558'
css['focus'] = '#556F86'
css['hr'] = '#426A8A'
css['text'] = '#214A6D'
css['form'] = '#093558'
css['help'] = '#093558'
css_data = template.render(Context({\
'css': css,\
}))
return HttpResponse(css_data, mimetype="text/css")
def query_to_dicts(query_string, *query_args): def query_to_dicts(query_string, *query_args):
"""Run a simple query and produce a generator """Run a simple query and produce a generator
that returns the results as a bunch of dictionaries that returns the results as a bunch of dictionaries
...@@ -102,15 +147,18 @@ def about(request): ...@@ -102,15 +147,18 @@ def about(request):
''' '''
About Gargantext, the team and sponsors About Gargantext, the team and sponsors
''' '''
template = get_template('about.html') template = get_template('about.html')
user = request.user user = request.user
date = datetime.datetime.now() date = datetime.datetime.now()
members = team.get_team()
members = team.get_team()
sponsors = team.get_sponsors()
html = template.render(Context({\ html = template.render(Context({\
'user': user,\ 'user': user,\
'date': date,\ 'date': date,\
'team': members,\ 'team': members,\
'sponsors':sponsors,\
})) }))
return HttpResponse(html) return HttpResponse(html)
...@@ -435,12 +483,18 @@ def corpus(request, project_id, corpus_id): ...@@ -435,12 +483,18 @@ def corpus(request, project_id, corpus_id):
print(chart) print(chart)
except Exception as error: except Exception as error:
print(error) print(error)
try:
processing = corpus.metadata['Processing']
except:
processing = 0
html = t.render(Context({\ html = t.render(Context({\
'user': user,\ 'user': user,\
'date': date,\ 'date': date,\
'project': project,\ 'project': project,\
'corpus' : corpus,\ 'corpus' : corpus,\
'processing' : processing,\
# 'documents': documents,\ # 'documents': documents,\
'number' : number,\ 'number' : number,\
'dates' : chart,\ 'dates' : chart,\
......
...@@ -153,4 +153,10 @@ $ sudo aptitude install tmux ...@@ -153,4 +153,10 @@ $ sudo aptitude install tmux
$ tmux -c ./manage.py celery worker --loglevel=info $ tmux -c ./manage.py celery worker --loglevel=info
$ python manage.py runserver $ python manage.py runserver
Versions on git
---------------
stable branch : current version for production server with nginx config (and tina branch for tina/apache server)
testing branch : current version for users' tests
unstable branch : current version for developers
# Without this, we couldn't use the Django environment
import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "gargantext_web.settings")
os.environ.setdefault("DJANGO_HSTORE_GLOBAL_REGISTER", "False")
# We're gonna use all the models!
from node.models import User, NodeType, Node
user = User.objects.get(username = 'contro2015.lait')
# Reset: all data
try:
typeDoc = NodeType.objects.get(name='Cooccurrence')
except Exception as error:
print(error)
Node.objects.filter(user=user, type=typeDoc).all().delete()
exit()
...@@ -243,6 +243,8 @@ class Node(CTENode): ...@@ -243,6 +243,8 @@ class Node(CTENode):
print("LOG::TIME: In workflow() parse_resources()") print("LOG::TIME: In workflow() parse_resources()")
start = time.time() start = time.time()
self.metadata['Processing'] = 1
self.save()
self.parse_resources() self.parse_resources()
end = time.time() end = time.time()
print ("LOG::TIME: parse_resources() [s]",(end - start)) print ("LOG::TIME: parse_resources() [s]",(end - start))
...@@ -266,6 +268,8 @@ class Node(CTENode): ...@@ -266,6 +268,8 @@ class Node(CTENode):
print("LOG::TIME: In workflow() / do_tfidf()") print("LOG::TIME: In workflow() / do_tfidf()")
print("In workflow() END") print("In workflow() END")
self.metadata['Processing'] = 0
self.save()
class Node_Metadata(models.Model): class Node_Metadata(models.Model):
node = models.ForeignKey(Node, on_delete=models.CASCADE) node = models.ForeignKey(Node, on_delete=models.CASCADE)
......
This diff is collapsed.
...@@ -381,7 +381,7 @@ gargantext.controller("GraphController", function($scope, $http, $element) { ...@@ -381,7 +381,7 @@ gargantext.controller("GraphController", function($scope, $http, $element) {
y: {key: 'y', type: 'linear', type: 'numeric'}, y: {key: 'y', type: 'linear', type: 'numeric'},
}, },
tension: 1.0, tension: 1.0,
lineMode: 'bundle', lineMode: 'linear',
tooltip: {mode: 'scrubber', formatter: function(x, y, series) { tooltip: {mode: 'scrubber', formatter: function(x, y, series) {
var grouping = groupings.datetime[$scope.groupingKey]; var grouping = groupings.datetime[$scope.groupingKey];
return grouping.representation(x) + ' → ' + y; return grouping.representation(x) + ' → ' + y;
...@@ -442,6 +442,13 @@ gargantext.controller("GraphController", function($scope, $http, $element) { ...@@ -442,6 +442,13 @@ gargantext.controller("GraphController", function($scope, $http, $element) {
angular.forEach(results, function(result, r){ angular.forEach(results, function(result, r){
var x = grouping.truncate(result[0]); var x = grouping.truncate(result[0]);
var y = parseFloat(result[1]); var y = parseFloat(result[1]);
if (dataObject[x] === undefined) {
var row = [];
angular.forEach($scope.datasets, function(){
row.push(0);
});
dataObject[x] = row;
}
dataObject[x][datasetIndex] += y; dataObject[x][datasetIndex] += y;
}); });
}); });
......
...@@ -25,7 +25,9 @@ ...@@ -25,7 +25,9 @@
<div class="panel-heading"> <div class="panel-heading">
<h2 class="panel-title"> <h2 class="panel-title">
<a data-toggle="collapse" data-parent="#accordion" href="#collapseVersions"> <a data-toggle="collapse" data-parent="#accordion" href="#collapseVersions">
<center>
<h2>Versions</h2> <h2>Versions</h2>
</center>
</a> </a>
</h2> </h2>
</div> </div>
...@@ -35,15 +37,20 @@ ...@@ -35,15 +37,20 @@
<ul> <ul>
<li>Version 1.0</li> <li>Version 1.0</li>
<ul> <ul>
<li>Beta Version </li> <li>[Start] Beta Version </li>
<li>Licence of Gargantext is GPL v3+ </li> <li>[Law] Licence of Gargantext is GPL v3+ </li>
</ul> </ul>
<li>Version 1.0.5</li> <li>Version 1.0.5</li>
<ul> <ul>
<li>Bug resolution: xml zipped from Mac</li> <li>Bug resolution: [Import] xml zipped from Mac</li>
<li>Bug resolution: french accents in filenames</li> <li>Bug resolution: [Import] french accents in filenames</li>
<li>New features: [Advanced chart] ngrams completion</li> <li>New features: [Advanced chart] ngrams completion</li>
<li>New features: button to delete all duplicates</li> <li>New features: [Duplicates management] button to delete all duplicates</li>
</ul>
<li>Version 1.0.6</li>
<ul>
<li>Bug resolution: [Advanced chart] one can make comparisons with different corpora at different scales</li>
<li>Bug resolution: [Graph] Graph link can not be executed until workflow is finished.</li>
</ul> </ul>
</ul> </ul>
</div> </div>
...@@ -56,7 +63,9 @@ ...@@ -56,7 +63,9 @@
<div class="panel-heading"> <div class="panel-heading">
<h2 class="panel-title"> <h2 class="panel-title">
<a data-toggle="collapse" data-parent="#accordion" href="#collapseCommunity"> <a data-toggle="collapse" data-parent="#accordion" href="#collapseCommunity">
<center>
<h2>Community</h2> <h2>Community</h2>
</center>
</a> </a>
</h2> </h2>
</div> </div>
...@@ -94,7 +103,9 @@ ...@@ -94,7 +103,9 @@
<div class="panel-heading"> <div class="panel-heading">
<h2 class="panel-title"> <h2 class="panel-title">
<a data-toggle="collapse" data-parent="#accordion" href="#collapseTeam"> <a data-toggle="collapse" data-parent="#accordion" href="#collapseTeam">
<center>
<h2>Core team</h2> <h2>Core team</h2>
</center>
</a> </a>
</h2> </h2>
</div> </div>
...@@ -130,12 +141,34 @@ ...@@ -130,12 +141,34 @@
</div> </div>
</div> </div>
</div> </div>
{% endif %} {% endif %}
</div> </div>
</div> </div>
{% if sponsors %}
<div class="panel panel-default">
<div class="panel-heading">
<h2 class="panel-title">
<center>
<h2>Sponsors</h2>
<a href="http://www.cnrs.fr" target="_blank" >
<img src="{% static "img/sponsors/cnrs.png"%}" alt="CNRS" style="height:100px">
</a>
<a href="http://www.iscpif.fr" target="_blank" >
<img src="{% static "img/sponsors/iscpif.svg"%}" style="height:100px">
</a>
{% for sponsor in sponsors %}
<a href="{{ sponsor.website }}" target="_blank" >
<img src="{% static "img/sponsors/"%}{{ sponsor.picture }}" style="height:100px">
</a>
{% endfor %}
</center>
</div>
</div>
</div>
{% endif %}
</div> </div>
......
This diff is collapsed.
...@@ -294,7 +294,7 @@ ...@@ -294,7 +294,7 @@
<br/> <br/>
Interpolation: Interpolation:
<select ng-model="graph.options.lineMode"> <select ng-model="graph.options.lineMode">
<option ng-repeat="mode in ['bundle', 'linear']" value="{{ mode }}">{{ mode }}</option> <option ng-repeat="mode in ['linear', 'bundle']" value="{{ mode }}">{{ mode }}</option>
</select> </select>
<span ng-if="graph.options.lineMode != 'linear'"> <span ng-if="graph.options.lineMode != 'linear'">
with a tension of with a tension of
......
...@@ -131,7 +131,11 @@ ...@@ -131,7 +131,11 @@
<div class="col-md-4"> <div class="col-md-4">
<div class="jumbotron"> <div class="jumbotron">
<h3><a href="/project/{{project.id}}/corpus/{{ corpus.id }}/explorer">Graph</a></h3> {% if processing == "1" %}
<h3> <img width="20px" src="{% static "js/libs/img2/loading-bar.gif" %}"></img> Graph (later)</h3>
{% else %}
<h3><a href="/project/{{project.id}}/corpus/{{ corpus.id }}/explorer">Graph</a></h3>
{% endif %}
<ol> <ol>
<li>Visualize</li> <li>Visualize</li>
<li>Explore</li> <li>Explore</li>
......
...@@ -66,7 +66,7 @@ ...@@ -66,7 +66,7 @@
inkscape:export-ydpi="454.50735" inkscape:export-ydpi="454.50735"
inkscape:export-xdpi="454.50735" inkscape:export-xdpi="454.50735"
inkscape:export-filename="/srv/gargantext/static/img/logo.png" inkscape:export-filename="/srv/gargantext/static/img/logo.png"
style="fill:#ff8080;fill-opacity:0.82014388" style="fill:{{color}};fill-opacity:0.82014388"
id="g3835" id="g3835"
transform="matrix(0.2422549,0,0,0.23374214,-49.789462,-7.9055988)"> transform="matrix(0.2422549,0,0,0.23374214,-49.789462,-7.9055988)">
<path <path
...@@ -75,7 +75,7 @@ ...@@ -75,7 +75,7 @@
inkscape:export-filename="/home/alexandre/projets/gargantext.py/gargantext_core/shared/LogoSimple.png" inkscape:export-filename="/home/alexandre/projets/gargantext.py/gargantext_core/shared/LogoSimple.png"
id="path3837" id="path3837"
d="m 206.24721,35.28586 0,129.5 67.78125,0 0,-8.625 c -9.86526,-0.47262 -18.57934,-2.63259 -25.5625,-6.28125 -18.65918,-9.74237 -29.875,-28.26535 -29.875,-49.1875 0,-31.71741 21.11877,-52.8149 55.4375,-55.1875 l 0,-10.21875 -67.78125,0 z m 67.78125,10.21875 0,8.5 c 1.74191,-0.16369 3.53543,-0.28125 5.37499,-0.28125 6.91081,0 13.295,1.44116 19.6875,4.15625 l 2.40625,2.875 2.59375,14.53125 9.6875,0 0,-25.375 c -11.40283,-3.03451 -22.61727,-4.65625 -33.15625,-4.65625 -2.24526,0 -4.44959,0.10177 -6.59374,0.25 z m 0,8.5 c -23.28864,2.18852 -37.65625,18.81513 -37.65625,45.562503 0,27.600037 14.44681,45.025437 37.65625,47.812497 l 0,-93.375 z m 0,93.375 0,8.78125 c 1.36224,0.0653 2.75177,0.0937 4.15624,0.0937 10.19344,0 22.1324,-1.88915 35.78125,-5.5625 l 0,-38.1875 2.9375,-2.21875 9.5,-0.8125 0,-6.5625 -43.21875,0 0,6.5625 12.28125,0.8125 2.9375,2.21875 0,33.21875 c -6.73804,1.4374 -12.61466,2.09375 -17.625,2.09375 -2.32322,0 -4.57592,-0.17643 -6.74999,-0.4375 z" d="m 206.24721,35.28586 0,129.5 67.78125,0 0,-8.625 c -9.86526,-0.47262 -18.57934,-2.63259 -25.5625,-6.28125 -18.65918,-9.74237 -29.875,-28.26535 -29.875,-49.1875 0,-31.71741 21.11877,-52.8149 55.4375,-55.1875 l 0,-10.21875 -67.78125,0 z m 67.78125,10.21875 0,8.5 c 1.74191,-0.16369 3.53543,-0.28125 5.37499,-0.28125 6.91081,0 13.295,1.44116 19.6875,4.15625 l 2.40625,2.875 2.59375,14.53125 9.6875,0 0,-25.375 c -11.40283,-3.03451 -22.61727,-4.65625 -33.15625,-4.65625 -2.24526,0 -4.44959,0.10177 -6.59374,0.25 z m 0,8.5 c -23.28864,2.18852 -37.65625,18.81513 -37.65625,45.562503 0,27.600037 14.44681,45.025437 37.65625,47.812497 l 0,-93.375 z m 0,93.375 0,8.78125 c 1.36224,0.0653 2.75177,0.0937 4.15624,0.0937 10.19344,0 22.1324,-1.88915 35.78125,-5.5625 l 0,-38.1875 2.9375,-2.21875 9.5,-0.8125 0,-6.5625 -43.21875,0 0,6.5625 12.28125,0.8125 2.9375,2.21875 0,33.21875 c -6.73804,1.4374 -12.61466,2.09375 -17.625,2.09375 -2.32322,0 -4.57592,-0.17643 -6.74999,-0.4375 z"
style="font-size:166.11251831px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#ff8080;fill-opacity:0.82014388;stroke:none;font-family:Bitstream Charter;-inkscape-font-specification:Bitstream Charter" style="font-size:166.11251831px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:{{color}};fill-opacity:0.82014388;stroke:none;font-family:Bitstream Charter;-inkscape-font-specification:Bitstream Charter"
inkscape:connector-curvature="0" /> inkscape:connector-curvature="0" />
<path <path
inkscape:export-ydpi="100" inkscape:export-ydpi="100"
...@@ -90,7 +90,7 @@ ...@@ -90,7 +90,7 @@
sodipodi:cy="480.17926" sodipodi:cy="480.17926"
sodipodi:cx="-321.88605" sodipodi:cx="-321.88605"
id="path3839" id="path3839"
style="fill:#ff8080;fill-opacity:0.82014388;stroke:none" style="fill:{{color}};fill-opacity:0.82014388;stroke:none"
sodipodi:type="arc" /> sodipodi:type="arc" />
</g> </g>
</g> </g>
......
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
<span class="icon-bar"></span> <span class="icon-bar"></span>
<span class="icon-bar"></span> <span class="icon-bar"></span>
</button> </button>
<a class="navbar-brand" style="line-height:15px; height:10px; padding: 10px 10px;" href="/"><img src="{% static "img/logo.svg" %}"></a> <a class="navbar-brand" style="line-height:15px; height:10px; padding: 10px 10px;" href="/"><img src="/img/logo.svg"></a>
</div> </div>
<div class="navbar-collapse collapse"> <div class="navbar-collapse collapse">
...@@ -40,19 +40,20 @@ ...@@ -40,19 +40,20 @@
<ul class="nav pull-right"> <ul class="nav pull-right">
<li class="dropdown"> <li class="dropdown">
<a href="#" role="button" class="dropdown-toggle" data-toggle="dropdown">:<i class="icon-user"></i> {{ user }}<i class="caret"></i> <a href="#" role="button" class="dropdown-toggle" data-toggle="dropdown"><i class="icon-user"></i> {{ user }}<i class="caret"></i>
</a> </a>
<ul class="dropdown-menu"> <ul class="dropdown-menu">
<li><a tabindex="-1" href="/auth/">Login</a></li> <li><a tabindex="-1" href="http://www.iscpif.fr/tiki-index.php?page=gargantext_feedback">Report Feedback</a></li>
<li><a tabindex="-1" href="#">Profile</a></li>
<li class="divider"></li> <li class="divider"></li>
{% if user.is_authenticated %}
<li><a tabindex="-1" href="/auth/logout">Logout</a></li> <li><a tabindex="-1" href="/auth/logout">Logout</a></li>
{% else %}
<li><a tabindex="-1" href="/auth/">Login</a></li>
{% endif %}
</ul> </ul>
</li> </li>
</ul> </ul>
</div> </div>
</div> </div>
</div> </div>
...@@ -65,7 +66,8 @@ ...@@ -65,7 +66,8 @@
<hr> <hr>
<footer> <footer>
<p>Gargantext, version 1.0.5, Copyrights CNRS {{ date.year }}.</p> <p>Gargantext, version 1.0.6, <a href="http://www.cnrs.fr" target="blank">Copyrights CNRS {{ date.year }}</a>,
<a href="http://www.gnu.org/licenses/agpl-3.0.html" target="blank">Licence aGPLCV3</a>.</p>
</footer> </footer>
......
...@@ -295,7 +295,7 @@ ...@@ -295,7 +295,7 @@
<br/> <br/>
Interpolation: Interpolation:
<select ng-model="graph.options.lineMode"> <select ng-model="graph.options.lineMode">
<option ng-repeat="mode in ['bundle', 'linear']" value="{{ mode }}">{{ mode }}</option> <option ng-repeat="mode in ['linear', 'bundle']" value="{{ mode }}">{{ mode }}</option>
</select> </select>
<span ng-if="graph.options.lineMode != 'linear'"> <span ng-if="graph.options.lineMode != 'linear'">
with a tension of with a tension of
......
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