lingo: add a new manager page to list recent transactions (#9252)
This commit is contained in:
parent
e177ce4946
commit
5bbd0193cf
|
@ -15,9 +15,13 @@
|
|||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
from django.core.urlresolvers import reverse_lazy
|
||||
from django.views.generic import CreateView, UpdateView, ListView, DeleteView
|
||||
from django.http import HttpResponseRedirect
|
||||
from django.views.generic import (CreateView, UpdateView, ListView,
|
||||
DeleteView, TemplateView)
|
||||
|
||||
from .models import Regie
|
||||
import eopayment
|
||||
|
||||
from .models import Regie, Transaction
|
||||
|
||||
class RegieListView(ListView):
|
||||
model = Regie
|
||||
|
@ -25,14 +29,26 @@ class RegieListView(ListView):
|
|||
|
||||
class RegieCreateView(CreateView):
|
||||
model = Regie
|
||||
success_url = reverse_lazy('lingo-manager-homepage')
|
||||
success_url = reverse_lazy('lingo-manager-regie-list')
|
||||
|
||||
|
||||
class RegieUpdateView(UpdateView):
|
||||
model = Regie
|
||||
success_url = reverse_lazy('lingo-manager-homepage')
|
||||
success_url = reverse_lazy('lingo-manager-regie-list')
|
||||
|
||||
|
||||
class RegieDeleteView(DeleteView):
|
||||
model = Regie
|
||||
success_url = reverse_lazy('lingo-manager-homepage')
|
||||
success_url = reverse_lazy('lingo-manager-regie-list')
|
||||
|
||||
|
||||
class TransactionListView(ListView):
|
||||
model = Transaction
|
||||
paginate_by = 10
|
||||
|
||||
def get_queryset(self):
|
||||
return Transaction.objects.filter(status=eopayment.PAID).order_by('-start_date')
|
||||
|
||||
|
||||
class ManagerHomeView(TemplateView):
|
||||
template_name = 'lingo/manager_home.html'
|
||||
|
|
|
@ -220,7 +220,6 @@ class Transaction(models.Model):
|
|||
eopayment.CANCELLED: _('Cancelled'),
|
||||
}.get(self.status) or _('Unknown')
|
||||
|
||||
|
||||
@register_cell_class
|
||||
class LingoBasketCell(CellBase):
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
{% load i18n %}
|
||||
|
||||
{% block appbar %}
|
||||
<h2>{% trans 'Regies' %}</h2>
|
||||
<h2>{% trans 'Online Payment' %}</h2>
|
||||
{% endblock %}
|
||||
|
||||
{% block breadcrumb %}
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
{% extends "lingo/manager_base.html" %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block content %}
|
||||
<ul class="apps">
|
||||
<li><a class="button" href="{% url 'lingo-manager-transactions-list' %}">{% trans 'Transactions' %}</a></li>
|
||||
<li><a class="button" href="{% url 'lingo-manager-regie-list' %}">{% trans 'Regies' %}</a></li>
|
||||
</ul>
|
||||
{% endblock %}
|
|
@ -1,4 +1,4 @@
|
|||
{% extends "lingo/manager_base.html" %}
|
||||
{% extends "lingo/regie_list.html" %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block appbar %}
|
||||
|
|
|
@ -6,6 +6,11 @@
|
|||
<a rel="popup" href="{% url 'lingo-manager-regie-add' %}">{% trans 'New' %}</a>
|
||||
{% endblock %}
|
||||
|
||||
{% block breadcrumb %}
|
||||
{{ block.super }}
|
||||
<a href="{% url 'lingo-manager-regie-list' %}">{% trans 'Regies' %}</a>
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
{% if object_list %}
|
||||
|
|
|
@ -0,0 +1,74 @@
|
|||
{% extends "lingo/manager_base.html" %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block appbar %}
|
||||
<h2>{% trans 'Transactions' %}</h2>
|
||||
{% endblock %}
|
||||
|
||||
{% block breadcrumb %}
|
||||
{{ block.super }}
|
||||
<a href="{% url 'lingo-manager-transactions-list' %}">{% trans 'Transactions' %}</a>
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
{% if object_list %}
|
||||
<table class="main">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{% trans 'Transaction Identifier' %}</th>
|
||||
<th>{% trans 'Date' %}</th>
|
||||
<th>{% trans 'User' %}</th>
|
||||
<th>{% trans 'Amount' %}</th>
|
||||
<th colspan="2">{% trans 'Items' %}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for object in object_list %}
|
||||
<tr>
|
||||
<td rowspan="{{object.items.all.count}}">{{object.order_id}}</td>
|
||||
<td rowspan="{{object.items.all.count}}">{{object.start_date}}</td>
|
||||
<td rowspan="{{object.items.all.count}}">{{object.user.first_name}} {{object.user.last_name}}</td>
|
||||
<td rowspan="{{object.items.all.count}}">{{object.amount}} €</td>
|
||||
{% for item in object.items.all %}
|
||||
{% if not forloop.first %}<tr>{% endif %}
|
||||
<td style="font-size: smaller">{{item.subject}}</td> <td style="font-size: smaller" class="price">{{item.amount}} €</td></tr>
|
||||
{% endfor %}
|
||||
{% if not object.items.all %}</tr>{% endif %}
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
{% if is_paginated %}
|
||||
<p class="paginator">
|
||||
{% if page_obj.has_previous %}
|
||||
<a href="?page={{ page_obj.previous_page_number }}"><<</a>
|
||||
{% else %}
|
||||
<span><<</span>
|
||||
{% endif %}
|
||||
|
||||
|
||||
<span class="current">
|
||||
{{ page_obj.number }} / {{ page_obj.paginator.num_pages }}
|
||||
</span>
|
||||
|
||||
|
||||
{% if page_obj.has_next %}
|
||||
<a href="?page={{ page_obj.next_page_number }}">>></a>
|
||||
{% else %}
|
||||
<span>>></span>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
|
||||
</div>
|
||||
{% else %}
|
||||
<div class="big-msg-info">
|
||||
{% blocktrans %}
|
||||
This site doesn't have any transaction yet.
|
||||
{% endblocktrans %}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% endblock %}
|
|
@ -21,10 +21,12 @@ from combo.urls_utils import decorated_includes, manager_required
|
|||
from .views import (RegiesApiView, AddBasketItemApiView, PayView, CallbackView,
|
||||
ReturnView, ItemDownloadView, ItemView)
|
||||
from .manager_views import (RegieListView, RegieCreateView, RegieUpdateView,
|
||||
RegieDeleteView)
|
||||
RegieDeleteView, TransactionListView, ManagerHomeView)
|
||||
|
||||
lingo_manager_urls = patterns('lingo.manager_views',
|
||||
url('^$', RegieListView.as_view(), name='lingo-manager-homepage'),
|
||||
url('^$', ManagerHomeView.as_view(), name='lingo-manager-homepage'),
|
||||
url('^transactions/$', TransactionListView.as_view(), name='lingo-manager-transactions-list'),
|
||||
url('^regies/$', RegieListView.as_view(), name='lingo-manager-regie-list'),
|
||||
url('^regies/add/$', RegieCreateView.as_view(), name='lingo-manager-regie-add'),
|
||||
url('^regies/(?P<pk>\w+)/edit$', RegieUpdateView.as_view(),
|
||||
name='lingo-manager-regie-edit'),
|
||||
|
|
Loading…
Reference in New Issue