From 3dddbdc142bc4a7fed8a0dec25a2bc26c6a89a5a Mon Sep 17 00:00:00 2001 From: Serghei Mihai Date: Tue, 8 Dec 2015 15:30:41 +0100 Subject: [PATCH] lingo: store items total amount in transaction (#9259) --- .../migrations/0013_transaction_amount.py | 20 +++++++++++++++++++ combo/apps/lingo/models.py | 1 + combo/apps/lingo/views.py | 3 ++- 3 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 combo/apps/lingo/migrations/0013_transaction_amount.py diff --git a/combo/apps/lingo/migrations/0013_transaction_amount.py b/combo/apps/lingo/migrations/0013_transaction_amount.py new file mode 100644 index 00000000..f1afda8c --- /dev/null +++ b/combo/apps/lingo/migrations/0013_transaction_amount.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import models, migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('lingo', '0012_auto_20151130_1047'), + ] + + operations = [ + migrations.AddField( + model_name='transaction', + name='amount', + field=models.DecimalField(default=0, max_digits=7, decimal_places=2), + preserve_default=True, + ), + ] diff --git a/combo/apps/lingo/models.py b/combo/apps/lingo/models.py index 56a8dba6..47e4fb74 100644 --- a/combo/apps/lingo/models.py +++ b/combo/apps/lingo/models.py @@ -205,6 +205,7 @@ class Transaction(models.Model): order_id = models.CharField(max_length=200) user = models.ForeignKey(settings.AUTH_USER_MODEL, null=True) status = models.IntegerField(null=True) + amount = models.DecimalField(default=0, max_digits=7, decimal_places=2) def is_remote(self): return self.remote_items != '' diff --git a/combo/apps/lingo/views.py b/combo/apps/lingo/views.py index 5e85166a..52a73d53 100644 --- a/combo/apps/lingo/views.py +++ b/combo/apps/lingo/views.py @@ -126,12 +126,13 @@ class PayView(View): transaction.items = items transaction.remote_items = remote_items transaction.status = 0 - transaction.save() if remote_items: total_amount = sum([x.amount for x in remote_items_data]) else: total_amount = sum([x.amount for x in items]) + transaction.amount = total_amount + transaction.save() if total_amount < regie.payment_min_amount: return HttpResponseForbidden()