Commit af369b8f authored by Administrator's avatar Administrator

[FIX] Delete Node with children ok, need to be refactored in delete_node...

[FIX] Delete Node with children ok, need to be refactored in delete_node (delete def delete_corpus).
parent fefaa23f
......@@ -11,7 +11,6 @@ from sqlalchemy import text, distinct
from sqlalchemy.sql import func
from sqlalchemy.orm import aliased
import jsonfield
from .db import *
......
......@@ -54,6 +54,7 @@ for model_name, model in models.__dict__.items():
NodeNgram = Node_Ngram
NodeResource = Node_Resource
# debugging tool, to translate SQLAlchemy queries to string
......
......@@ -63,12 +63,11 @@ INSTALLED_APPS = (
'django.contrib.messages',
'django.contrib.staticfiles',
'django_extensions',
#'south',
'django_pg',
'cte_tree',
'node',
'ngram',
'scrap_pubmed',
'django_hstore',
'djcelery',
'aldjemy',
'rest_framework',
......
......@@ -6,9 +6,9 @@ from django.template.loader import get_template
from django.template import Context
from node import models
from node.models import Language, ResourceType, Resource, \
Node, NodeType, Node_Resource, Project, Corpus, \
Ngram, Node_Ngram, NodeNgramNgram, NodeNodeNgram
#from node.models import Language, ResourceType, Resource, \
# Node, NodeType, Node_Resource, Project, Corpus, \
# Ngram, Node_Ngram, NodeNgramNgram, NodeNodeNgram
from node.admin import CorpusForm, ProjectForm, ResourceForm, CustomForm
......@@ -39,6 +39,7 @@ from django.contrib.auth import authenticate, login, logout
from scrap_pubmed.admin import Logger
from gargantext_web.db import *
from sqlalchemy import or_, func
from gargantext_web import about
......@@ -443,10 +444,27 @@ def subcorpusJSON(request, project_id, corpus_id, start , end ):
def delete_node(request, node_id):
#nodes = session.query(Node).filter(or_(Node.id == node_id, Node.parent_id == node_id)).all()
node = session.query(Node).filter(Node.id == node_id).first()
session.delete(node)
session.flush()
# try:
# resources = session.query(Node_Resource).filter(Node_Resource.node_id==node_id).all()
# if resources is not None:
# for resource in resources:
# session.delete(resource)
#
# except Exception as error:
# print(error)
#
# node = session.query(Node).filter(Node.id == node_id).first()
# if node is not None:
# session.delete(node)
# session.commit()
node = models.Node.get(id=node_id)
node.delete()
#children.all().delete()
if node.type_id == cache.NodeType['Project'].id:
return HttpResponseRedirect('/projects/')
elif node.type_id == cache.NodeType['Corpus'].id:
......@@ -454,10 +472,19 @@ def delete_node(request, node_id):
def delete_corpus(request, project_id, node_id):
node = session.query(Node).filter(Node.id == node_id).first()
session.delete(node)
session.commit()
session.flush()
# ORM Django
node = models.Node.objects.get(id=node_id)
try:
node.children.delete()
except Exception as error:
print(error)
node.delete()
# SQLA Django
# node = session.query(Node).filter(Node.id == node_id).first()
# session.delete(node)
# session.commit()
# session.flush()
return HttpResponseRedirect('/project/' + project_id)
......
from django.db import models
from django_pg import models
from django.utils import timezone
from django.contrib.auth.models import User
......
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