def cancel_subscription(request, subscription_id): subscription = get_object_or_404(Subscription, id=subscription_id) now = timezone.now().date() if now <= cancelation_date(): end_date = end_of_business_year() else: end_date = end_of_next_business_year() if request.method == 'POST': for extra in subscription.extra_subscription_set.all(): if extra.active is True: extra.canceled = True extra.save() elif extra.active is False and extra.deactivation_date is None: extra.delete() if subscription.active is True and subscription.canceled is False: subscription.canceled = True subscription.end_date = request.POST.get('end_date') subscription.save() message = request.POST.get('message') send_subscription_canceled(subscription, message) elif subscription.active is False and subscription.deactivation_date is None: subscription.delete() return redirect('sub-detail') renderdict = get_menu_dict(request) renderdict.update({ 'end_date': end_date, }) return render(request, 'cancelsubscription.html', renderdict)
def subscription_change(request, subscription_id): ''' change an subscription ''' subscription = get_object_or_404(Subscription, id=subscription_id) now = timezone.now().date() can_change = not (temporal.cancelation_date() <= now < temporal.start_of_next_business_year()) renderdict = get_menu_dict(request) renderdict.update({ 'subscription': subscription, 'member': request.user.member, 'change_size': can_change, 'next_cancel_date': temporal.next_cancelation_date(), 'next_extra_subscription_date': Subscription.next_extra_change_date(), 'next_business_year': temporal.start_of_next_business_year(), 'sub_change_addons': addons.config.get_sub_changes(), }) return render(request, 'subscription_change.html', renderdict)
def cancel_subscription(request, subscription_id): subscription = get_object_or_404(Subscription, id=subscription_id) now = timezone.now().date() end_date = end_of_business_year( ) if now <= cancelation_date() else end_of_next_business_year() if request.method == 'POST': cancel_sub(subscription, request.POST.get('end_date'), request.POST.get('message')) return redirect('sub-detail') renderdict = get_menu_dict(request) renderdict.update({ 'end_date': end_date, }) return render(request, 'cancelsubscription.html', renderdict)
def cancel_subscription(request, subscription_id): subscription = get_object_or_404(Subscription, id=subscription_id) now = timezone.now().date() end_date = end_of_business_year( ) if now <= cancelation_date() else end_of_next_business_year() if request.method == 'POST': for extra in subscription.extra_subscription_set.all(): cancel_extra_sub(extra) for part in subscription.active_parts.all(): part.cancel() for part in subscription.future_parts.all(): part.delete() cancel_sub(subscription, request.POST.get('end_date'), request.POST.get('message')) return redirect('sub-detail') renderdict = get_menu_dict(request) renderdict.update({ 'end_date': end_date, }) return render(request, 'cancelsubscription.html', renderdict)