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()
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
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
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
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