mirror of
https://github.com/pretix/pretix.git
synced 2026-05-03 14:54:04 +00:00
Provide support for manipulting order status
This commit is contained in:
24
src/pretix/base/migrations/0022_auto_20150320_2239.py
Normal file
24
src/pretix/base/migrations/0022_auto_20150320_2239.py
Normal file
@@ -0,0 +1,24 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import models, migrations
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('pretixbase', '0021_auto_20150320_1622'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='order',
|
||||
name='payment_manual',
|
||||
field=models.BooleanField(verbose_name='Payment state was manually modified', default=False),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='order',
|
||||
name='status',
|
||||
field=models.CharField(verbose_name='Status', max_length=3, choices=[('n', 'pending'), ('p', 'paid'), ('e', 'expired'), ('c', 'cancelled'), ('r', 'refunded')]),
|
||||
),
|
||||
]
|
||||
@@ -1537,6 +1537,10 @@ class Order(Versionable):
|
||||
verbose_name=_("Payment information"),
|
||||
null=True, blank=True
|
||||
)
|
||||
payment_manual = models.BooleanField(
|
||||
verbose_name=_("Payment state was manually modified"),
|
||||
default=False
|
||||
)
|
||||
total = models.DecimalField(
|
||||
decimal_places=2, max_digits=10,
|
||||
verbose_name=_("Total amount")
|
||||
@@ -1590,7 +1594,7 @@ class Order(Versionable):
|
||||
return True
|
||||
return False # nothing there to modify
|
||||
|
||||
def mark_paid(self, provider, info, date=None):
|
||||
def mark_paid(self, provider=None, info=None, date=None, manual=None):
|
||||
"""
|
||||
Mark this order as paid. This clones the order object, sets the payment provider,
|
||||
info and date and returns the cloned order object.
|
||||
@@ -1604,9 +1608,11 @@ class Order(Versionable):
|
||||
:type date: datetime
|
||||
"""
|
||||
order = self.clone()
|
||||
order.payment_provider = provider
|
||||
order.payment_info = info
|
||||
order.payment_provider = provider or order.payment_provider
|
||||
order.payment_info = info or order.payment_info
|
||||
order.payment_date = date or now()
|
||||
if manual is not None:
|
||||
order.payment_manual = manual
|
||||
order.status = Order.STATUS_PAID
|
||||
order.save()
|
||||
return order
|
||||
|
||||
Reference in New Issue
Block a user