forked from CGM_Public/pretix_original
.
This commit is contained in:
@@ -149,7 +149,9 @@ class SearchIndexModelMixin:
|
||||
|
||||
def get_search_index_content(self):
|
||||
for f in self.search_index_fields:
|
||||
yield str(getattr(self, f))
|
||||
val = getattr(self, f)
|
||||
if val is not None:
|
||||
yield str(val)
|
||||
|
||||
def _update_search_index(self):
|
||||
from .search import OrderSearchIndex
|
||||
|
||||
@@ -111,19 +111,30 @@ class OrderSearchIndex(models.Model):
|
||||
order = obj
|
||||
else:
|
||||
order = obj.order
|
||||
OrderSearchIndex.objects.update_or_create(
|
||||
|
||||
kwargs = dict(
|
||||
order=order,
|
||||
orderpayment=obj if isinstance(obj, OrderPayment) else None,
|
||||
orderrefund=obj if isinstance(obj, OrderRefund) else None,
|
||||
orderposition=obj if isinstance(obj, OrderPosition) else None,
|
||||
defaults=dict(
|
||||
search_vector=SearchVector(
|
||||
Value(index_text),
|
||||
config="pretix_search"
|
||||
),
|
||||
),
|
||||
create_defaults=dict(
|
||||
event_id=order.event_id,
|
||||
organizer_id=order.organizer_id,
|
||||
),
|
||||
)
|
||||
|
||||
if not index_text.strip():
|
||||
OrderSearchIndex.objects.filter(**kwargs).delete()
|
||||
else:
|
||||
OrderSearchIndex.objects.update_or_create(
|
||||
order=order,
|
||||
orderpayment=obj if isinstance(obj, OrderPayment) else None,
|
||||
orderrefund=obj if isinstance(obj, OrderRefund) else None,
|
||||
orderposition=obj if isinstance(obj, OrderPosition) else None,
|
||||
defaults=dict(
|
||||
search_vector=SearchVector(
|
||||
Value(index_text),
|
||||
config="pretix_search"
|
||||
),
|
||||
),
|
||||
create_defaults=dict(
|
||||
event_id=order.event_id,
|
||||
organizer_id=order.organizer_id,
|
||||
),
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user