Exemple #1
0
def status(request):
    if request.method == 'GET':
        return render(request, 'central/admin/enrollment/status.html')
    elif request.method == 'POST':
        settings = Settings.objects.get()
        settings.enrollment_is_active = request.POST.get('enrollment_is_active') == 'on'
        if 'enrollment_title' in request.POST:
            settings.enrollment_title = request.POST['enrollment_title']
        settings.enrollment_accept_card = request.POST.get('enrollment_accept_card') == 'on'
        settings.enrollment_accept_invoice = request.POST.get('enrollment_accept_invoice') == 'on'
        settings.enrollment_message_show = request.POST.get('enrollment_message_show') == 'on'
        settings.renew_membership_foreign = request.POST.get('renew_membership_foreign') == 'on'
        settings.renew_membership_norwegian = request.POST.get('renew_membership_norwegian') == 'on'
        if 'enrollment_message' in request.POST:
            settings.enrollment_message = request.POST['enrollment_message']
        settings.focus_writes = request.POST.get('focus_writes') == 'on'
        if 'focus_writes_message' in request.POST:
            settings.focus_writes_message = request.POST['focus_writes_message']
        try:
            settings.arskrav_initiation_date_last_year = datetime.strptime(
                request.POST.get('arskrav_initiation_date_last_year'),
                "%Y-%m-%d",
            ).date()
            settings.arskrav_initiation_date = datetime.strptime(
                request.POST.get('arskrav_initiation_date'),
                "%Y-%m-%d",
            ).date()
            settings.arskrav_actual_date = datetime.strptime(
                request.POST.get('arskrav_actual_date'),
                "%Y-%m-%d",
            ).date()
            settings.arskrav_public_date = datetime.strptime(
                request.POST.get('arskrav_public_date'),
                "%Y-%m-%d",
            ).date()
        except ValueError:
            messages.error(request, 'invalid_date_format')

        settings.save()
        Settings.clear_cache()
        messages.success(request, 'enrollment_status_saved')
        return redirect('admin:enrollment.status')
    else:
        raise PermissionDenied