Add OCR, history, tags, folders, recent search, gpg keyring to the list of cleared data on database nuke
This commit is contained in:
@@ -10,43 +10,95 @@ from metadata.models import MetadataType, MetadataSet
|
|||||||
from metadata.api import save_metadata_list
|
from metadata.api import save_metadata_list
|
||||||
from document_indexing.models import Index, IndexTemplateNode
|
from document_indexing.models import Index, IndexTemplateNode
|
||||||
from sources.models import WebForm, StagingFolder
|
from sources.models import WebForm, StagingFolder
|
||||||
|
from ocr.models import QueueDocument, QueueTransformation, DocumentQueue
|
||||||
|
from history.models import History
|
||||||
|
from taggit.models import Tag
|
||||||
|
from tags.models import TagProperties
|
||||||
|
from folders.models import Folder
|
||||||
|
from dynamic_search.models import RecentSearch
|
||||||
|
from django_gpg.runtime import gpg
|
||||||
|
|
||||||
bootstrap_options = {}
|
bootstrap_options = {}
|
||||||
|
|
||||||
|
|
||||||
def nuke_database():
|
def nuke_database():
|
||||||
|
# Delete all document types
|
||||||
for obj in DocumentType.objects.all():
|
for obj in DocumentType.objects.all():
|
||||||
obj.delete()
|
obj.delete()
|
||||||
|
|
||||||
|
# Delete all documents one by one to trigger the document file delete method
|
||||||
|
# Should also get rid of document metadata
|
||||||
for obj in Document.objects.all():
|
for obj in Document.objects.all():
|
||||||
obj.delete()
|
obj.delete()
|
||||||
|
|
||||||
|
# Delete all metadata types
|
||||||
for obj in MetadataType.objects.all():
|
for obj in MetadataType.objects.all():
|
||||||
obj.delete()
|
obj.delete()
|
||||||
|
|
||||||
|
# Delete all metadata sets
|
||||||
for obj in MetadataSet.objects.all():
|
for obj in MetadataSet.objects.all():
|
||||||
obj.delete()
|
obj.delete()
|
||||||
|
|
||||||
|
# Delete all indexes types, should also delete index nodes
|
||||||
for obj in Index.objects.all():
|
for obj in Index.objects.all():
|
||||||
obj.delete()
|
obj.delete()
|
||||||
|
|
||||||
|
# Delete all webforms sources
|
||||||
for obj in WebForm.objects.all():
|
for obj in WebForm.objects.all():
|
||||||
obj.delete()
|
obj.delete()
|
||||||
|
|
||||||
|
# Delete all staging folder sources
|
||||||
for obj in StagingFolder.objects.all():
|
for obj in StagingFolder.objects.all():
|
||||||
obj.delete()
|
obj.delete()
|
||||||
|
|
||||||
|
# Delete all user groups
|
||||||
for obj in Group.objects.all():
|
for obj in Group.objects.all():
|
||||||
obj.delete()
|
obj.delete()
|
||||||
|
|
||||||
|
# Delete all users except superadmins and staff
|
||||||
for obj in User.objects.all():
|
for obj in User.objects.all():
|
||||||
if not obj.is_superuser and not obj.is_staff:
|
if not obj.is_superuser and not obj.is_staff:
|
||||||
obj.delete()
|
obj.delete()
|
||||||
|
|
||||||
|
# Delete all user roles
|
||||||
for obj in Role.objects.all():
|
for obj in Role.objects.all():
|
||||||
obj.delete()
|
obj.delete()
|
||||||
|
|
||||||
# TODO: Add history, ocr logs
|
# Delete all document in the ocr queue
|
||||||
|
for obj in QueueDocument.objects.all():
|
||||||
|
obj.delete()
|
||||||
|
|
||||||
|
# Delete all the transformations for a queue
|
||||||
|
for obj in QueueTransformation.objects.all():
|
||||||
|
obj.delete()
|
||||||
|
|
||||||
|
# Delete all the ocr document queues
|
||||||
|
for obj in DocumentQueue.objects.all():
|
||||||
|
obj.delete()
|
||||||
|
|
||||||
|
# Delete all the remaining history events
|
||||||
|
for obj in History.objects.all():
|
||||||
|
obj.delete()
|
||||||
|
|
||||||
|
# Delete all tags
|
||||||
|
for obj in Tag.objects.all():
|
||||||
|
obj.delete()
|
||||||
|
|
||||||
|
# Delete any remaining tag property
|
||||||
|
for obj in TagProperties.objects.all():
|
||||||
|
obj.delete()
|
||||||
|
|
||||||
|
# Delete all foders
|
||||||
|
for obj in Folder.objects.all():
|
||||||
|
obj.delete()
|
||||||
|
|
||||||
|
# Delete all recent searches
|
||||||
|
for obj in RecentSearch.objects.all():
|
||||||
|
obj.delete()
|
||||||
|
|
||||||
|
# Clear the entire key ring (public and private keys)
|
||||||
|
gpg.delete_all_keys()
|
||||||
|
|
||||||
|
|
||||||
class BootstrapBase(object):
|
class BootstrapBase(object):
|
||||||
name = None
|
name = None
|
||||||
|
|||||||
Reference in New Issue
Block a user