diff --git a/registrasion/controllers/conditions.py b/registrasion/controllers/conditions.py index 72e592a2e88592ae075d10490b62b085fca1435f..831faa78a36605887dd2323b74b182fd1c8f6daa 100644 --- a/registrasion/controllers/conditions.py +++ b/registrasion/controllers/conditions.py @@ -25,6 +25,8 @@ class ConditionController(object): conditions.CategoryFlag: CategoryConditionController, conditions.IncludedProductDiscount: ProductConditionController, conditions.ProductFlag: ProductConditionController, + conditions.SpeakerFlag: SpeakerConditionController, + conditions.SpeakerDiscount: SpeakerConditionController, conditions.TimeOrStockLimitDiscount: TimeOrStockLimitDiscountController, conditions.TimeOrStockLimitFlag: @@ -299,3 +301,13 @@ class VoucherConditionController(IsMetByFilter, ConditionController): a voucher that invokes that item's condition in one of their carts. ''' return queryset.filter(voucher__cart__user=user) + + +class SpeakerConditionController(IsMetByFilter, ConditionController): + + @classmethod + def pre_filter(self, queryset, user): + ''' Returns all of the items from queryset which are enabled by a user + being a presenter or copresenter of a proposal. ''' + + return queryset