forked from 0x2620/pandora
sync find/sort table saving annotations, fixes #401
This commit is contained in:
parent
8ac6779bb1
commit
8520c06680
2 changed files with 16 additions and 4 deletions
|
@ -18,7 +18,7 @@ from changelog.models import Changelog
|
||||||
from item.utils import sort_string
|
from item.utils import sort_string
|
||||||
import managers
|
import managers
|
||||||
import utils
|
import utils
|
||||||
from tasks import update_matching_events, update_matching_places
|
from tasks import update_matching_events, update_matching_places, update_item
|
||||||
|
|
||||||
|
|
||||||
def get_matches(obj, model, layer_type):
|
def get_matches(obj, model, layer_type):
|
||||||
|
@ -160,9 +160,8 @@ class Annotation(models.Model):
|
||||||
if layer.get('type') == 'event' or layer.get('hasEvents'):
|
if layer.get('type') == 'event' or layer.get('hasEvents'):
|
||||||
update_matching_events(self.id)
|
update_matching_events(self.id)
|
||||||
|
|
||||||
#update facets if needed
|
#update sort/find tables async
|
||||||
if filter(lambda f: f['id'] == self.layer, settings.CONFIG['filters']):
|
update_item.delay(self.id)
|
||||||
self.item.update_layer_facet(self.layer)
|
|
||||||
|
|
||||||
def cleanup_undefined_relations(self):
|
def cleanup_undefined_relations(self):
|
||||||
layer = self.get_layer()
|
layer = self.get_layer()
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# vi:si:et:sw=4:sts=4:ts=4
|
# vi:si:et:sw=4:sts=4:ts=4
|
||||||
|
from django.conf import settings
|
||||||
from celery.task import task
|
from celery.task import task
|
||||||
|
|
||||||
import models
|
import models
|
||||||
|
@ -44,3 +45,15 @@ def update_matching_places(id):
|
||||||
if name.lower() in a.value.lower():
|
if name.lower() in a.value.lower():
|
||||||
e.update_matches()
|
e.update_matches()
|
||||||
break
|
break
|
||||||
|
|
||||||
|
@task(ignore_resulsts=True, queue='default')
|
||||||
|
def update_item(id):
|
||||||
|
from item.models import Item
|
||||||
|
a = models.Annotation.objects.get(pk=id)
|
||||||
|
#update facets if needed
|
||||||
|
if filter(lambda f: f['id'] == a.layer, settings.CONFIG['filters']):
|
||||||
|
a.item.update_layer_facet(a.layer)
|
||||||
|
Item.objects.filter(id=a.item.id).update(modified=a.modified)
|
||||||
|
a.item.update_find()
|
||||||
|
a.item.update_sort()
|
||||||
|
a.item.update_facets()
|
||||||
|
|
Loading…
Reference in a new issue