Пример #1
0
 def payment_status_changed(cls, instance, **kwargs):
     if instance.status == PaymentStatus.CONFIRMED:
         user = instance.order.user
         days = instance.order.pricing.period
         user.userplan.expire = date.today() + timedelta(days=days)
         user.userplan.active = True
         user.userplan.save()
         # complete order (skip django-plans logic)
         order = instance.order
         order.completed = now()
         order.status = Order.STATUS.COMPLETED
         order.full_clean()
         order.save()
         order_completed.send(order)
         org = instance.organization
         from .utils import (get_or_create_paid_plan_radius_group,
                             get_or_create_temporary_radius_group)
         paid_group = get_or_create_paid_plan_radius_group(
             org, user.userplan.plan)
         temp_group = get_or_create_temporary_radius_group(org)
         RadiusUserGroup = user.radiususergroup_set.model
         try:
             rug = user.radiususergroup_set.get(group=temp_group)
         except RadiusUserGroup.DoesNotExist:
             user.radiususergroup_set.all().delete()
             RadiusUserGroup.objects.create(user=user, group=paid_group)
         else:
             rug.group = paid_group
             rug.full_clean()
             rug.save()
Пример #2
0
 def complete_order(self):
     if self.completed is None:
         status = self.user.userplan.extend_account(self.plan, self.pricing)
         self.completed = now()
         if status:
             self.status = Order.STATUS.COMPLETED
         else:
             self.status = Order.STATUS.NOT_VALID
         self.save()
         order_completed.send(self)
         return True
     else:
         return False
Пример #3
0
 def complete_order(self):
     if self.completed is None:
         status = self.user.userplan.extend_account(self.plan, self.pricing)
         self.completed = now()
         if status:
             self.status = Order.STATUS.COMPLETED
         else:
             self.status = Order.STATUS.NOT_VALID
         self.save()
         order_completed.send(self)
         return True
     else:
         return False
Пример #4
0
 def complete_order(self):
     if self.completed is None:
         self.plan_extended_from = self.get_plan_extended_from()
         status = self.customer.customerplan.extend_account(
             self.plan, self.pricing)
         self.plan_extended_until = self.customer.customerplan.expire
         self.completed = now()
         if status:
             self.status = Order.STATUS.COMPLETED
         else:
             self.status = Order.STATUS.NOT_VALID
         self.save()
         order_completed.send(self)
         return True
     else:
         return False
Пример #5
0
 def complete_order(self):
     if self.completed is None:
         if self.user.userplan.expire and self.user.userplan.expire > date.today():
             self.plan_extended_from = self.user.userplan.expire
         else:
             self.plan_extended_from = date.today()
         status = self.user.userplan.extend_account(self.plan, self.pricing)
         self.plan_extended_until = self.user.userplan.expire
         self.completed = now()
         if status:
             self.status = Order.STATUS.COMPLETED
         else:
             self.status = Order.STATUS.NOT_VALID
         self.save()
         order_completed.send(self)
         return True
     else:
         return False
Пример #6
0
    def complete_order(self):
        if self.completed is None:
            if self.plan:
                # Normal plan
                status = self.user.userplan.extend_account(self.plan, self.pricing)
            else:
                # Credits plan <- TODO: add credits here
                status = True

            self.completed = now()
            if status:
                self.status = Order.STATUS.COMPLETED
            else:
                self.status = Order.STATUS.NOT_VALID
            self.save()
            order_completed.send(self)
            return True
        else:
            return False