forked from CGM_Public/pretix_original
Do not show a price if there are mandatory non-free addons
This commit is contained in:
@@ -58,9 +58,9 @@
|
|||||||
{% endblocktrans %}
|
{% endblocktrans %}
|
||||||
</span>
|
</span>
|
||||||
<span aria-hidden="true">{{ item.min_price|money:event.currency }} – {{ item.max_price|money:event.currency }}</span>
|
<span aria-hidden="true">{{ item.min_price|money:event.currency }} – {{ item.max_price|money:event.currency }}</span>
|
||||||
{% elif not item.min_price and not item.max_price %}
|
{% elif not item.min_price and not item.max_price and not item.mandatory_priced_addons %}
|
||||||
<span class="text-uppercase">{% trans "free" context "price" %}</span>
|
<span class="text-uppercase">{% trans "free" context "price" %}</span>
|
||||||
{% else %}
|
{% elif not item.mandatory_priced_addons %}
|
||||||
{{ item.min_price|money:event.currency }}
|
{{ item.min_price|money:event.currency }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
@@ -144,7 +144,9 @@
|
|||||||
</div>
|
</div>
|
||||||
<p>
|
<p>
|
||||||
{% elif not var.display_price.gross %}
|
{% elif not var.display_price.gross %}
|
||||||
<span class="text-uppercase">{% trans "free" context "price" %}</span>
|
{% if not item.mandatory_priced_addons %}
|
||||||
|
<span class="text-uppercase">{% trans "free" context "price" %}</span>
|
||||||
|
{% endif %}
|
||||||
{% elif event.settings.display_net_prices %}
|
{% elif event.settings.display_net_prices %}
|
||||||
{{ var.display_price.net|money:event.currency }}
|
{{ var.display_price.net|money:event.currency }}
|
||||||
{% else %}
|
{% else %}
|
||||||
@@ -276,7 +278,9 @@
|
|||||||
</div>
|
</div>
|
||||||
<p>
|
<p>
|
||||||
{% elif not item.display_price.gross %}
|
{% elif not item.display_price.gross %}
|
||||||
<span class="text-uppercase">{% trans "free" context "price" %}</span>
|
{% if not item.mandatory_priced_addons %}
|
||||||
|
<span class="text-uppercase">{% trans "free" context "price" %}</span>
|
||||||
|
{% endif %}
|
||||||
{% elif event.settings.display_net_prices %}
|
{% elif event.settings.display_net_prices %}
|
||||||
{{ item.display_price.net|money:event.currency }}
|
{{ item.display_price.net|money:event.currency }}
|
||||||
{% else %}
|
{% else %}
|
||||||
|
|||||||
@@ -65,7 +65,7 @@ from pretix.base.models import (
|
|||||||
)
|
)
|
||||||
from pretix.base.models.event import SubEvent
|
from pretix.base.models.event import SubEvent
|
||||||
from pretix.base.models.items import (
|
from pretix.base.models.items import (
|
||||||
ItemBundle, SubEventItem, SubEventItemVariation,
|
ItemAddOn, ItemBundle, SubEventItem, SubEventItemVariation,
|
||||||
)
|
)
|
||||||
from pretix.base.services.quotas import QuotaAvailability
|
from pretix.base.services.quotas import QuotaAvailability
|
||||||
from pretix.helpers.compat import date_fromisocalendar
|
from pretix.helpers.compat import date_fromisocalendar
|
||||||
@@ -183,6 +183,13 @@ def get_grouped_items(event, subevent=None, voucher=None, channel='web', require
|
|||||||
subevent=subevent,
|
subevent=subevent,
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
|
mandatory_priced_addons=Exists(
|
||||||
|
ItemAddOn.objects.filter(
|
||||||
|
base_item_id=OuterRef('pk'),
|
||||||
|
min_count__gte=1,
|
||||||
|
price_included=False
|
||||||
|
)
|
||||||
|
),
|
||||||
requires_seat=requires_seat,
|
requires_seat=requires_seat,
|
||||||
).filter(
|
).filter(
|
||||||
quotac__gt=0, subevent_disabled=False,
|
quotac__gt=0, subevent_disabled=False,
|
||||||
|
|||||||
Reference in New Issue
Block a user