Commit 568ffe5c authored by Administrator's avatar Administrator

adding dashboard for each project (number of documents)

parent 3d76dc07
...@@ -109,43 +109,53 @@ def project(request, project_id): ...@@ -109,43 +109,53 @@ def project(request, project_id):
corpora = project.get_children() corpora = project.get_children()
number = len(corpora) number = len(corpora)
board = list()
for corpus in corpora:
dashboard = dict()
dashboard['id'] = corpus.pk
dashboard['name'] = corpus.name
dashboard['count'] = len(corpus.get_children())
board.append(dashboard)
html = t.render(Context({\ html = t.render(Context({\
'user': user,\ 'user': user,\
'date': date,\ 'date': date,\
'project': project,\ 'project': project,\
'corpora' : corpora,\ 'board' : board,\
'number': number,\ 'number': number,\
})) }))
return HttpResponse(html) return HttpResponse(html)
def corpus(request, p_id, c_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('/login/?next=%s' % request.path)
try: try:
offset = str(p_id) offset = str(project_id)
offset = str(corpus_id)
except ValueError: except ValueError:
raise Http404() raise Http404()
t = get_template('corpus.html') t = get_template('corpus.html')
user = request.user user = request.user
date = datetime.datetime.now() date = datetime.datetime.now()
project = Project.objects.get(pk=p_id, user=request.user.pk) project = Node.objects.get(id=project_id)
corpus = Corpus.objects.get(pk=c_id, user=request.user.pk) corpus = Node.objects.get(id=corpus_id)
print(Document.objects.filter(corpus=c_id, user=request.user.pk).query)
documents = Document.objects.filter(user=request.user.pk,corpus=c_id).order_by("-date") #print(Document.objects.filter(corpus=c_id, user=request.user.pk).query)
documents = corpus.get_children()
number = len(documents) number = len(documents)
sources = query_to_dicts('''select count(*), source sources = query_to_dicts('''select count(*), source
from documents_document as t1 from node_node as t1
INNER JOIN documents_document_corpus as t2 INNER JOIN documents_document_corpus as t2
ON ( t1.id = t2.document_id ) ON ( t1.id = t2.document_id )
WHERE ( t1.user_id = %d AND t2.corpus_id = %d ) WHERE ( t1.user_id = %d AND t2.corpus_id = %d )
GROUP BY source GROUP BY source
order by 1 DESC limit %d;''' % (request.user.pk, int(c_id), int(15))) order by 1 DESC limit %d;''' % (request.user.pk, int(corpus_id), int(15)))
sources_donut = [] sources_donut = []
for s in sources: for s in sources:
...@@ -181,7 +191,7 @@ def corpus(request, p_id, c_id): ...@@ -181,7 +191,7 @@ def corpus(request, p_id, c_id):
ON ( t1.id = t2.document_id ) ON ( t1.id = t2.document_id )
WHERE ( t1.user_id = %d AND t2.corpus_id = %d ) WHERE ( t1.user_id = %d AND t2.corpus_id = %d )
group by to_char(t1.date, '%s') group by to_char(t1.date, '%s')
order by 1 DESC;''' % (date_format, request.user.pk, int(c_id), date_format)) order by 1 DESC;''' % (date_format, request.user.pk, int(corpus_id), date_format))
histo = [] histo = []
......
...@@ -28,11 +28,11 @@ ...@@ -28,11 +28,11 @@
<div class="container"> <div class="container">
<div class="row"> <div class="row">
{% if corpora %} {% if board %}
{% for corpus in corpora %} {% for corpus in board %}
<div class="col-md-4"> <div class="col-md-4">
<h3><a href="/project/{{ project.id }}/corpus/{{corpus.id}}">{{ corpus.name }}</a></h3> <h3><a href="/project/{{project.id}}/corpus/{{corpus.id}}">{{corpus.name}}</a></h3>
<h4>{{ corpus.subtitle }}</h4> <h4>{{ corpus.count }} Documents </h4>
<p>{{ corpus.language }} {{ corpus.database}}</p> <p>{{ corpus.language }} {{ corpus.database}}</p>
<h5>Activity:</h5> <h5>Activity:</h5>
<div class="chart" data-percent="73">73%</div> <div class="chart" data-percent="73">73%</div>
......
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