The prolong command.
authorRadek Czajka <rczajka@rczajka.pl>
Wed, 24 Jul 2019 12:57:34 +0000 (14:57 +0200)
committerRadek Czajka <rczajka@rczajka.pl>
Wed, 24 Jul 2019 12:57:34 +0000 (14:57 +0200)
src/club/management/__init__.py [new file with mode: 0644]
src/club/management/commands/__init__.py [new file with mode: 0644]
src/club/management/commands/prolong.py [new file with mode: 0644]
src/club/payment_methods.py

diff --git a/src/club/management/__init__.py b/src/club/management/__init__.py
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/src/club/management/commands/__init__.py b/src/club/management/commands/__init__.py
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/src/club/management/commands/prolong.py b/src/club/management/commands/prolong.py
new file mode 100644 (file)
index 0000000..9bc5e68
--- /dev/null
@@ -0,0 +1,12 @@
+from datetime import timedelta
+from django.core.management.base import BaseCommand, CommandError
+from django.utils.timezone import now
+from club.models import Schedule
+
+
+class Command(BaseCommand):
+    def handle(self, *args, **options):
+        for s in Schedule.objects.filter(is_cancelled=False, expires_at__lt=now() + timedelta(1)):
+            print(s, s.email, s.expires_at)
+            s.pay(None)
+
index ca34ace..a71a67b 100644 (file)
@@ -45,9 +45,13 @@ class PayURe(PaymentMethod):
     def pay(self, request, schedule):
         # Create order, put it and see what happens next.
         from .models import PayUOrder
+        if request is not None:
+            ip = request.META['REMOTE_ADDR']
+        else:
+            ip = '127.0.0.1'
         order = PayUOrder.objects.create(
             pos_id=self.pos_id,
-            customer_ip=request.META['REMOTE_ADDR'],
+            customer_ip=ip,
             schedule=schedule,
         )
         return order.put()