forked from CGM_Public/pretix_original
List of orders
This commit is contained in:
@@ -238,13 +238,14 @@ class User(AbstractBaseUser, PermissionsMixin):
|
|||||||
* Given name
|
* Given name
|
||||||
* Family name
|
* Family name
|
||||||
* User name
|
* User name
|
||||||
|
* E-mail address
|
||||||
"""
|
"""
|
||||||
if self.givenname:
|
if self.givenname:
|
||||||
return self.givenname
|
return self.givenname
|
||||||
elif self.familyname:
|
elif self.familyname:
|
||||||
return self.familyname
|
return self.familyname
|
||||||
else:
|
else:
|
||||||
return self.username
|
return self.get_local_name()
|
||||||
|
|
||||||
def get_full_name(self) -> str:
|
def get_full_name(self) -> str:
|
||||||
"""
|
"""
|
||||||
@@ -254,6 +255,7 @@ class User(AbstractBaseUser, PermissionsMixin):
|
|||||||
* Given name
|
* Given name
|
||||||
* Family name
|
* Family name
|
||||||
* User name
|
* User name
|
||||||
|
* E-mail address
|
||||||
"""
|
"""
|
||||||
if self.givenname and not self.familyname:
|
if self.givenname and not self.familyname:
|
||||||
return self.givenname
|
return self.givenname
|
||||||
@@ -265,7 +267,18 @@ class User(AbstractBaseUser, PermissionsMixin):
|
|||||||
'given': self.givenname
|
'given': self.givenname
|
||||||
}
|
}
|
||||||
else:
|
else:
|
||||||
|
return self.get_local_name()
|
||||||
|
|
||||||
|
def get_local_name(self) -> str:
|
||||||
|
"""
|
||||||
|
Returns the username for local users and the e-mail address for global
|
||||||
|
users.
|
||||||
|
"""
|
||||||
|
if self.username:
|
||||||
return self.username
|
return self.username
|
||||||
|
if self.email:
|
||||||
|
return self.email
|
||||||
|
return self.identifier
|
||||||
|
|
||||||
|
|
||||||
class Organizer(Versionable):
|
class Organizer(Versionable):
|
||||||
|
|||||||
@@ -75,7 +75,8 @@
|
|||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="#">
|
<a href="{% url 'control:event.orders' organizer=request.event.organizer.slug event=request.event.slug %}"
|
||||||
|
{% if "event.orders" in url_name %}class="active"{% endif %}>
|
||||||
<i class="fa fa-shopping-cart fa-fw"></i>
|
<i class="fa fa-shopping-cart fa-fw"></i>
|
||||||
{% trans "Orders" %}
|
{% trans "Orders" %}
|
||||||
</a>
|
</a>
|
||||||
|
|||||||
@@ -0,0 +1,13 @@
|
|||||||
|
{% load i18n %}
|
||||||
|
{% load bootstrap3 %}
|
||||||
|
{% if order.status == "n" %}
|
||||||
|
<span class="label label-warning {{ class }}">{% trans "Payment pending" %}</span>
|
||||||
|
{% elif order.status == "p" %}
|
||||||
|
<span class="label label-success {{ class }}">{% trans "Paid" %}</span>
|
||||||
|
{% elif order.status == "e" %}
|
||||||
|
<span class="label label-danger {{ class }}">{% trans "Payment pending" %}</span>
|
||||||
|
{% elif order.status == "c" %}
|
||||||
|
<span class="label label-danger {{ class }}">{% trans "Cancelled" %}</span>
|
||||||
|
{% elif order.status == "r" %}
|
||||||
|
<span class="label label-danger {{ class }}">{% trans "Refunded" %}</span>
|
||||||
|
{% endif %}
|
||||||
53
src/pretix/control/templates/pretixcontrol/orders/index.html
Normal file
53
src/pretix/control/templates/pretixcontrol/orders/index.html
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
{% extends "pretixcontrol/event/base.html" %}
|
||||||
|
{% load i18n %}
|
||||||
|
{% block title %}{% trans "Orders" %}{% endblock %}
|
||||||
|
{% block content %}
|
||||||
|
<h1>{% trans "Orders" %}</h1>
|
||||||
|
<table class="table table-condensed table-hover">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>{% trans "Order code" %}</th>
|
||||||
|
<th>{% trans "User" %}</th>
|
||||||
|
<th>{% trans "Order total" %}</th>
|
||||||
|
<th>{% trans "Order date" %}</th>
|
||||||
|
<th>{% trans "Status" %}</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
{% for o in orders %}
|
||||||
|
<tr>
|
||||||
|
<td><strong><a href="">{{ o.code }}</a></strong></td>
|
||||||
|
<td>{{ o.user.get_short_name }}</td>
|
||||||
|
<td>{{ o.total|floatformat:2 }} {{ request.event.currency }}</td>
|
||||||
|
<td>{{ o.datetime|date }}</td>
|
||||||
|
<td>{% include "pretixcontrol/orders/fragment_order_status.html" with order=o %}</td>
|
||||||
|
</tr>
|
||||||
|
{% endfor %}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
{% if is_paginated %}
|
||||||
|
<nav class="text-center">
|
||||||
|
<ul class="pagination">
|
||||||
|
{% if page_obj.has_previous %}
|
||||||
|
<li>
|
||||||
|
<a href="?page={{ page_obj.previous_page_number }}">
|
||||||
|
<span>«</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
{% endif %}
|
||||||
|
<li class="page-current"><a>
|
||||||
|
{% blocktrans trimmed with page=page_obj.number of=page_obj.paginator.num_pages %}
|
||||||
|
Page {{ page }} of {{ of }}
|
||||||
|
{% endblocktrans %}
|
||||||
|
</a></li>
|
||||||
|
{% if page_obj.has_next %}
|
||||||
|
<li>
|
||||||
|
<a href="?page={{ page_obj.next_page_number }}">
|
||||||
|
<span>»</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
{% endif %}
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
{% endif %}
|
||||||
|
{% endblock %}
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
from django.conf.urls import url, include
|
from django.conf.urls import url, include
|
||||||
|
|
||||||
|
|
||||||
from pretix.control.views import main, event, item, auth
|
from pretix.control.views import main, event, item, auth, orders
|
||||||
|
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
url(r'^logout$', auth.logout, name='auth.logout'),
|
url(r'^logout$', auth.logout, name='auth.logout'),
|
||||||
@@ -46,5 +46,6 @@ urlpatterns = [
|
|||||||
url(r'^quotas/(?P<quota>[0-9a-f-]+)/delete$', item.QuotaDelete.as_view(),
|
url(r'^quotas/(?P<quota>[0-9a-f-]+)/delete$', item.QuotaDelete.as_view(),
|
||||||
name='event.items.quotas.delete'),
|
name='event.items.quotas.delete'),
|
||||||
url(r'^quotas/add$', item.QuotaCreate.as_view(), name='event.items.quotas.add'),
|
url(r'^quotas/add$', item.QuotaCreate.as_view(), name='event.items.quotas.add'),
|
||||||
|
url(r'^orders/$', orders.OrderList.as_view(), name='event.orders'),
|
||||||
])),
|
])),
|
||||||
]
|
]
|
||||||
|
|||||||
15
src/pretix/control/views/orders.py
Normal file
15
src/pretix/control/views/orders.py
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
from django.views.generic import ListView
|
||||||
|
|
||||||
|
from pretix.base.models import Order
|
||||||
|
|
||||||
|
|
||||||
|
class OrderList(ListView):
|
||||||
|
model = Order
|
||||||
|
context_object_name = 'orders'
|
||||||
|
template_name = 'pretixcontrol/orders/index.html'
|
||||||
|
paginate_by = 30
|
||||||
|
|
||||||
|
def get_queryset(self):
|
||||||
|
return Order.objects.current.filter(
|
||||||
|
event=self.request.event
|
||||||
|
).select_related("user")
|
||||||
Reference in New Issue
Block a user