mirror of
https://github.com/pretix/pretix.git
synced 2026-05-21 17:54:08 +00:00
improve membership validity display
This commit is contained in:
@@ -169,6 +169,14 @@ class Membership(models.Model):
|
||||
def attendee_name(self):
|
||||
return build_name(self.attendee_name_parts, fallback_scheme=lambda: self.customer.organizer.settings.name_scheme)
|
||||
|
||||
@property
|
||||
def expired(self):
|
||||
return time_machine_now() > self.date_end
|
||||
|
||||
@property
|
||||
def not_yet_valid(self):
|
||||
return time_machine_now() < self.date_start
|
||||
|
||||
def is_valid(self, ev=None, ticket_valid_from=None, valid_from_not_chosen=False):
|
||||
if valid_from_not_chosen:
|
||||
return not self.canceled and self.date_end >= time_machine_now()
|
||||
|
||||
@@ -24,30 +24,53 @@
|
||||
<a href="{% abseventurl request.organizer "presale:organizer.customer.membership" id=m.id %}">
|
||||
{{ m.membership_type.name }}
|
||||
</a>
|
||||
{% if m.canceled %}</del>{% endif %}
|
||||
{% if m.membership_type.transferable %}
|
||||
<span class="text-muted fa fa-users" aria-hidden="true" title="{% trans "Membership is transferable" %}"></span>
|
||||
{% endif %}
|
||||
{% if m.canceled %}</del>
|
||||
<small>
|
||||
{% textblob "danger" icon="times" %}
|
||||
{% trans "Canceled" %}
|
||||
{% endtextblob %}
|
||||
</small>
|
||||
{% endif %}
|
||||
{% if m.testmode %}
|
||||
{% textblob "warning" %}
|
||||
{% trans "TEST MODE" %}
|
||||
{% endtextblob %}
|
||||
{% endif %}
|
||||
</dt>
|
||||
<dd class="text-muted">
|
||||
{% if not m.membership_type.transferable %}
|
||||
<span class="fa fa-id-badge" aria-hidden="true"></span>
|
||||
{% if not m.membership_type.transferable %}
|
||||
<span class="fa fa-id-badge" aria-hidden="true"></span>
|
||||
{% endif %}
|
||||
{{ m.attendee_name|default_if_none:"" }}
|
||||
</dd>
|
||||
<dd class="text-muted">
|
||||
<small>
|
||||
{% if m.canceled %}
|
||||
{% textblob "danger" icon="times" %}
|
||||
{% trans "Canceled" %}
|
||||
{% endtextblob %}
|
||||
{% elif m.expired %}
|
||||
{% icon "minus-square-o" %}
|
||||
{% trans "Expired since" %}
|
||||
<time datetime="{{ m.date_end|date:"Y-m-d H:i" }}">
|
||||
{{ m.date_end|date:"SHORT_DATETIME_FORMAT" }}
|
||||
</time>
|
||||
{% elif m.not_yet_valid %}
|
||||
{% icon "clock-o" %}
|
||||
{% trans "Valid from" %}
|
||||
<time datetime="{{ m.date_start|date:"Y-m-d H:i" }}">
|
||||
{{ m.date_start|date:"SHORT_DATETIME_FORMAT" }}
|
||||
</time>
|
||||
{% else %}
|
||||
{% icon "check" %}
|
||||
{% trans "Valid until" %}
|
||||
<time datetime="{{ m.date_end|date:"Y-m-d H:i" }}">
|
||||
{{ m.date_end|date:"SHORT_DATETIME_FORMAT" }}
|
||||
</time>
|
||||
{% endif %}
|
||||
</small>
|
||||
</dd>
|
||||
{% if m.testmode %}
|
||||
<dd>
|
||||
<small>
|
||||
{% textblob "warning" %}
|
||||
{% trans "TEST MODE" %}
|
||||
{% endtextblob %}
|
||||
</small>
|
||||
</dd>
|
||||
{% endif %}
|
||||
{{ m.attendee_name|default_if_none:"" }}</dd>
|
||||
|
||||
<dd class="text-muted"><small>{% trans "Valid from" %} {{ m.date_start|date:"SHORT_DATETIME_FORMAT" }}</small></dd>
|
||||
<dd class="text-muted"><small>{% trans "Valid until" %} {{ m.date_end|date:"SHORT_DATETIME_FORMAT" }}</small></dd>
|
||||
</div>
|
||||
<div class="col-xs-5">
|
||||
<dd>
|
||||
|
||||
Reference in New Issue
Block a user