Commit 23b22270 authored by Administrator's avatar Administrator

[FEATURE] Adding corpus and delete it, ok (need to add parser on save).

parent 24101cf4
......@@ -3,7 +3,7 @@ from django.conf.urls import patterns, include, url
from django.contrib import admin
from gargantext_web.views import home, projects, project, corpus
from gargantext_web.views import add_corpus, delete_project
from gargantext_web.views import add_corpus, delete_project, delete_corpus
admin.autodiscover()
......@@ -21,9 +21,9 @@ urlpatterns = patterns('',
url(r'^project/(\d+)/$', project),
url(r'^project/(\d+)/add/$', add_corpus),
url(r'^add/corpus/$', add_corpus), # removed soon
url(r'^project/(\d+)/corpus/(\d+)/$', corpus),
url(r'^project/(\d+)/corpus/(\d+)/delete$$', delete_corpus),
)
from django.conf import settings
......
......@@ -9,7 +9,7 @@ from django.template import Context
from node.models import Language, DatabaseType, Resource
from node.models import Node, NodeType, Project, Corpus
from node.admin import CorpusForm, ProjectForm
from node.admin import CorpusForm, ProjectForm, ResourceForm
from django.contrib.auth.models import User
......@@ -133,7 +133,6 @@ def project(request, project_id):
board.append(dashboard)
form = CorpusForm(request=request)
if request.method == 'POST':
#form = CorpusForm(request.POST, request.FILES)
name = str(request.POST['name'])
......@@ -141,11 +140,24 @@ def project(request, project_id):
language = Language.objects.get(id=str(request.POST['language']))
except:
language = None
try:
bdd_type = DatabaseType.objects.get(id=str(request.POST['bdd_type']))
except:
bdd_type = None
if language is not None and name != "" :
try:
file = request.FILES['file']
except:
file = None
if language is not None and name != "" and bdd_type != None and file != None :
resource = Resource(user=request.user, guid=str(date), bdd_type=bdd_type, file=file)
resource.save()
node_type = NodeType.objects.get(name='Corpus')
parent = Node.objects.get(id=project_id)
Node(parent=parent, type=node_type, name=name, user=request.user, language=language).save()
#Node(parent=parent, type=node_type, name=name, user=request.user, language=language, resource=[resource,]).save()
# try:
# for resource in node.resource.all():
# fileparser = PubmedFileParser.PubmedFileParser(file='/var/www/gargantext/media/' + str(resource.file))
......@@ -155,12 +167,17 @@ def project(request, project_id):
# print(error)
return HttpResponseRedirect('/project/' + str(project_id))
else:
form = CorpusForm(request=request)
formResource = ResourceForm()
else:
form = CorpusForm(request=request)
formResource = ResourceForm()
return render(request, 'project.html', {
'form': form,
'formResource': formResource,
'user': user,
'date': date,
'project': project,
......@@ -302,4 +319,8 @@ def delete_project(request, node_id):
Node.objects.filter(id=node_id).all().delete()
return HttpResponseRedirect('/projects/')
def delete_corpus(request, project_id, corpus_id):
Node.objects.filter(id=corpus_id).all().delete()
return HttpResponseRedirect('/project/' + project_id)
......@@ -80,6 +80,11 @@ class ProjectForm(ModelForm):
model = Project
exclude = ['ngrams', 'metadata', 'resource', 'parent', 'user', 'type', 'language', 'date']
class ResourceForm(ModelForm):
class Meta:
model = Resource
exclude = ['user', 'guid']
class CorpusForm(ModelForm):
#parent = ModelChoiceField(EmptyQuerySet)
def __init__(self, *args, **kwargs):
......
......@@ -28,6 +28,9 @@
{% csrf_token %}
{{ form.non_field_errors }}
{{ form.as_p}}
{{ formResource.non_field_errors }}
{{ formResource.as_p}}
<input type="submit" value="Add Corpus" />
</form>
......@@ -35,14 +38,19 @@
</div>
</div>
</div>
<!-- Add jumbotron container for each type of coprus (presse, science etc.) --!>
<!-- Add jumbotron container for each type of corpus (presse, science etc.) --!>
<div class="container">
<div class="row">
{% if board %}
{% for corpus in board %}
<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>
<button type="button" class="btn btn-xs btn-default" data-container="body" data-toggle="popover" data-placement="bottom" data-content='<a href="/project/{{ project.id }}/corpus/{{ corpus.id}}/delete">Delete it!</a>'>Manage</button>
</h3>
<h4>{{ corpus.count }} Documents </h4>
<p>{{ corpus.language }} {{ corpus.database}}</p>
<h5>Activity:</h5>
......
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