Files
mayan-edms/mayan/apps/document_indexing/managers.py
Roberto Rosario 3dc8df46b9 Initial audit of the document index app
Add keyword arguments to calls. Sort methods and parameters.

Signed-off-by: Roberto Rosario <Roberto.Rosario.Gonzalez@gmail.com>
2019-01-02 19:16:32 -04:00

36 lines
1.1 KiB
Python

from __future__ import unicode_literals
from django.db import models
from mptt.managers import TreeManager
class DocumentIndexInstanceNodeManager(models.Manager):
def get_for(self, document):
return self.filter(documents=document)
class IndexManager(models.Manager):
def get_by_natural_key(self, slug):
return self.get(slug=slug)
def index_document(self, document):
for index in self.filter(document_types=document.document_type, enabled=True):
index.index_document(document=document)
def rebuild(self):
for index in self.all():
index.rebuild()
class IndexInstanceNodeManager(TreeManager):
def delete_empty(self):
# Select leaf nodes only because .delete_empty() bubbles up
for root_nodes in self.filter(parent=None):
for index_instance_node in root_nodes.get_leafnodes():
index_instance_node.delete_empty()
def remove_document(self, document):
for index_instance_node in self.filter(documents=document):
index_instance_node.remove_document(document=document)