コード例 #1
0
def index(request):
    setting_types = [(get_setting_type_name(content_type)[0],
                      get_setting_type_description(content_type), content_type)
                     for content_type in get_setting_content_types()
                     if user_can_edit_setting_type(request.user, content_type)]
    return render(request, 'wagtailsettings/index.html', {
        'setting_types': setting_types,
    })
コード例 #2
0
ファイル: views.py プロジェクト: MariusCC/wagtailsettings
def index(request):
    setting_types = [
        (
            get_setting_type_name(content_type)[0],
            get_setting_type_description(content_type),
            content_type
        )
        for content_type in get_setting_content_types()
        if user_can_edit_setting_type(request.user, content_type)
    ]
    return render(request, 'wagtailsettings/index.html', {
        'setting_types': setting_types,
    })
コード例 #3
0
def edit(request, content_type_app_name, content_type_model_name):
    content_type = get_content_type_from_url_params(content_type_app_name,
                                                    content_type_model_name)
    if not user_can_edit_setting_type(request.user, content_type):
        raise PermissionDenied

    model = content_type.model_class()
    setting_type_name = get_setting_type_name(content_type)[0]

    instance = model.for_site(request.site)
    edit_handler_class = get_setting_edit_handler(model)
    form_class = edit_handler_class.get_form_class(model)

    if request.POST:
        form = form_class(request.POST, request.FILES, instance=instance)

        if form.is_valid():
            form.save()

            messages.success(
                request,
                _("{setting_type} updated.").format(
                    setting_type=capfirst(setting_type_name),
                    instance=instance))
            return redirect('wagtailsettings_index')
        else:
            messages.error(request,
                           _("The setting could not be saved due to errors."))
            edit_handler = edit_handler_class(instance=instance, form=form)
    else:
        form = form_class(instance=instance)
        edit_handler = edit_handler_class(instance=instance, form=form)

    return render(
        request, 'wagtailsettings/edit.html', {
            'content_type': content_type,
            'setting_type_name': setting_type_name,
            'instance': instance,
            'edit_handler': edit_handler,
        })
コード例 #4
0
ファイル: views.py プロジェクト: click-ripple/revolv
def edit(request, app_name, model_name):
    content_type = get_content_type_from_url_params(app_name, model_name)
    if not user_can_edit_setting_type(request.user, content_type):
        raise PermissionDenied

    model = content_type.model_class()
    setting_type_name = model._meta.verbose_name

    instance = model.for_site(request.site)
    edit_handler_class = get_setting_edit_handler(model)
    form_class = edit_handler_class.get_form_class(model)

    if request.POST:
        form = form_class(request.POST, request.FILES, instance=instance)

        if form.is_valid():
            form.save()

            messages.success(
                request,
                _("{setting_type} updated.").format(
                    setting_type=capfirst(setting_type_name),
                    instance=instance
                )
            )
            return redirect('wagtailsettings_edit', app_name, model_name)
        else:
            messages.error(request, _("The setting could not be saved due to errors."))
            edit_handler = edit_handler_class(instance=instance, form=form)
    else:
        form = form_class(instance=instance)
        edit_handler = edit_handler_class(instance=instance, form=form)

    return render(request, 'wagtailsettings/edit.html', {
        'content_type': content_type,
        'setting_type_name': setting_type_name,
        'instance': instance,
        'edit_handler': edit_handler,
    })