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
|
||||
import managers
|
||||
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):
|
||||
|
@ -160,9 +160,8 @@ class Annotation(models.Model):
|
|||
if layer.get('type') == 'event' or layer.get('hasEvents'):
|
||||
update_matching_events(self.id)
|
||||
|
||||
#update facets if needed
|
||||
if filter(lambda f: f['id'] == self.layer, settings.CONFIG['filters']):
|
||||
self.item.update_layer_facet(self.layer)
|
||||
#update sort/find tables async
|
||||
update_item.delay(self.id)
|
||||
|
||||
def cleanup_undefined_relations(self):
|
||||
layer = self.get_layer()
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# vi:si:et:sw=4:sts=4:ts=4
|
||||
from django.conf import settings
|
||||
from celery.task import task
|
||||
|
||||
import models
|
||||
|
@ -44,3 +45,15 @@ def update_matching_places(id):
|
|||
if name.lower() in a.value.lower():
|
||||
e.update_matches()
|
||||
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