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