本文整理汇总了Python中wagtail.wagtailadmin.messages.button函数的典型用法代码示例。如果您正苦于以下问题:Python button函数的具体用法?Python button怎么用?Python button使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了button函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: edit
def edit(request, image_id):
Image = get_image_model()
ImageForm = get_image_form(Image)
image = get_object_or_404(Image, id=image_id)
if not image.is_editable_by_user(request.user):
raise PermissionDenied
if request.POST:
original_file = image.file
form = ImageForm(request.POST, request.FILES, instance=image)
if form.is_valid():
if 'file' in form.changed_data:
# if providing a new image file, delete the old one and all renditions.
# NB Doing this via original_file.delete() clears the file field,
# which definitely isn't what we want...
original_file.storage.delete(original_file.name)
image.renditions.all().delete()
# Set new image file size
image.file_size = image.file.size
form.save()
# Reindex the image to make sure all tags are indexed
for backend in get_search_backends():
backend.add(image)
messages.success(request, _("Image '{0}' updated.").format(image.title), buttons=[
messages.button(reverse('wagtailimages:edit', args=(image.id,)), _('Edit again'))
])
return redirect('wagtailimages:index')
else:
messages.error(request, _("The image could not be saved due to errors."))
else:
form = ImageForm(instance=image)
# Check if we should enable the frontend url generator
try:
reverse('wagtailimages_serve', args=('foo', '1', 'bar'))
url_generator_enabled = True
except NoReverseMatch:
url_generator_enabled = False
if image.is_stored_locally():
# Give error if image file doesn't exist
if not os.path.isfile(image.file.path):
messages.error(request, _(
"The source image file could not be found. Please change the source or delete the image."
).format(image.title), buttons=[
messages.button(reverse('wagtailimages:delete', args=(image.id,)), _('Delete'))
])
return render(request, "wagtailimages/images/edit.html", {
'image': image,
'form': form,
'url_generator_enabled': url_generator_enabled,
'filesize': image.get_file_size(),
})
示例2: approve_moderation
def approve_moderation(request, revision_id):
revision = get_object_or_404(PageRevision, id=revision_id)
if not revision.page.permissions_for_user(request.user).can_publish():
raise PermissionDenied
if not revision.submitted_for_moderation:
messages.error(
request,
_("The page '{0}' is not currently awaiting moderation.").format(revision.page.get_admin_display_title()),
)
return redirect("wagtailadmin_home")
if request.method == "POST":
revision.approve_moderation()
messages.success(
request,
_("Page '{0}' published.").format(revision.page.get_admin_display_title()),
buttons=[
messages.button(revision.page.url, _("View live")),
messages.button(reverse("wagtailadmin_pages:edit", args=(revision.page.id,)), _("Edit")),
],
)
if not send_notification(revision.id, "approved", request.user.pk):
messages.error(request, _("Failed to send approval notifications"))
return redirect("wagtailadmin_home")
示例3: edit
def edit(request, document_id):
Document = get_document_model()
DocumentForm = get_document_form(Document)
doc = get_object_or_404(Document, id=document_id)
if not permission_policy.user_has_permission_for_instance(request.user, 'change', doc):
return permission_denied(request)
if request.POST:
original_file = doc.file
form = DocumentForm(request.POST, request.FILES, instance=doc, user=request.user)
if form.is_valid():
if 'file' in form.changed_data:
# if providing a new document file, delete the old one.
# NB Doing this via original_file.delete() clears the file field,
# which definitely isn't what we want...
original_file.storage.delete(original_file.name)
doc = form.save()
# Reindex the document to make sure all tags are indexed
for backend in get_search_backends():
backend.add(doc)
messages.success(request, _("Document '{0}' updated").format(doc.title), buttons=[
messages.button(reverse('wagtaildocs:edit', args=(doc.id,)), _('Edit'))
])
return redirect('wagtaildocs:index')
else:
messages.error(request, _("The document could not be saved due to errors."))
else:
form = DocumentForm(instance=doc, user=request.user)
filesize = None
# Get file size when there is a file associated with the Document object
if doc.file:
try:
filesize = doc.file.size
except OSError:
# File doesn't exist
pass
if not filesize:
messages.error(
request,
_("The file could not be found. Please change the source or delete the document"),
buttons=[messages.button(reverse('wagtaildocs:delete', args=(doc.id,)), _('Delete'))]
)
return render(request, "wagtaildocs/documents/edit.html", {
'document': doc,
'filesize': filesize,
'form': form,
'user_can_delete': permission_policy.user_has_permission_for_instance(
request.user, 'delete', doc
),
})
示例4: edit
def edit(request, group_id):
group = get_object_or_404(Group, id=group_id)
if request.method == 'POST':
form = GroupForm(request.POST, instance=group)
permission_panels = [
cls(request.POST, instance=group)
for cls in get_permission_panel_classes()
]
if form.is_valid() and all(panel.is_valid() for panel in permission_panels):
form.save()
for panel in permission_panels:
panel.save()
messages.success(request, _("Group '{0}' updated.").format(group), buttons=[
messages.button(reverse('wagtailusers_groups:edit', args=(group.id,)), _('Edit'))
])
return redirect('wagtailusers_groups:index')
else:
messages.error(request, _("The group could not be saved due to errors."))
else:
form = GroupForm(instance=group)
permission_panels = [
cls(instance=group)
for cls in get_permission_panel_classes()
]
return render(request, 'wagtailusers/groups/edit.html', {
'group': group,
'form': form,
'permission_panels': permission_panels,
})
示例5: form_valid
def form_valid(self, form):
"""
Processes a valid form submittal.
:param form: the form instance.
:rtype: django.http.HttpResponse.
"""
#noinspection PyAttributeOutsideInit
self.object = form.save()
meta = getattr(self.object, '_meta')
# Index the object.
for backend in get_search_backends():
backend.add(object)
#noinspection PyUnresolvedReferences
messages.success(
self.request,
_(u'{0} "{1}" saved.').format(
meta.verbose_name,
str(self.object)
),
buttons=[messages.button(
reverse(
'{0}:edit'.format(self.url_namespace),
args=(self.object.id,)
),
_(u'Edit')
)]
)
return redirect(self.get_success_url())
示例6: create
def create(request):
GroupPagePermissionFormSet = inlineformset_factory(
Group,
GroupPagePermission,
formset=BaseGroupPagePermissionFormSet,
extra=0
)
if request.POST:
form = GroupForm(request.POST)
formset = GroupPagePermissionFormSet(request.POST)
if form.is_valid() and formset.is_valid():
group = form.save()
formset.instance = group
formset.save()
messages.success(request, _("Group '{0}' created.").format(group), buttons = [
messages.button(reverse('wagtailusers_groups_edit', args=(group.id,)), _('Edit'))
])
return redirect('wagtailusers_groups_index')
else:
messages.error(request, _("The group could not be created due to errors."))
else:
form = GroupForm()
formset = GroupPagePermissionFormSet()
return render(request, 'wagtailusers/groups/create.html', {
'form': form,
'formset': formset,
})
示例7: edit
def edit(request, group_id):
group = get_object_or_404(Group, id=group_id)
GroupPagePermissionFormSet = inlineformset_factory(
Group,
GroupPagePermission,
formset=BaseGroupPagePermissionFormSet,
extra=0
)
if request.POST:
form = GroupForm(request.POST, instance=group)
formset = GroupPagePermissionFormSet(request.POST, instance=group)
if form.is_valid() and formset.is_valid():
group = form.save()
formset.save()
messages.success(request, _("Group '{0}' updated.").format(group), buttons = [
messages.button(reverse('wagtailusers_groups_edit', args=(group.id,)), _('Edit'))
])
return redirect('wagtailusers_groups_index')
else:
messages.error(request, _("The group could not be saved due to errors."))
else:
form = GroupForm(instance=group)
formset = GroupPagePermissionFormSet(instance=group)
return render(request, 'wagtailusers/groups/edit.html', {
'group': group,
'form': form,
'formset': formset,
})
示例8: edit
def edit(request, redirect_id):
theredirect = get_object_or_404(models.Redirect, id=redirect_id)
if not permission_policy.user_has_permission_for_instance(
request.user, 'change', theredirect
):
return permission_denied(request)
if request.method == 'POST':
form = RedirectForm(request.POST, request.FILES, instance=theredirect)
if form.is_valid():
form.save()
messages.success(request, _("Redirect '{0}' updated.").format(theredirect.title), buttons=[
messages.button(reverse('wagtailredirects:edit', args=(theredirect.id,)), _('Edit'))
])
return redirect('wagtailredirects:index')
else:
messages.error(request, _("The redirect could not be saved due to errors."))
else:
form = RedirectForm(instance=theredirect)
return render(request, "wagtailredirects/edit.html", {
'redirect': theredirect,
'form': form,
'user_can_delete': permission_policy.user_has_permission(request.user, 'delete'),
})
示例9: unpublish
def unpublish(request, page_id):
page = get_object_or_404(Page, id=page_id).specific
user_perms = UserPagePermissionsProxy(request.user)
if not user_perms.for_page(page).can_unpublish():
raise PermissionDenied
next_url = get_valid_next_url_from_request(request)
if request.method == "POST":
include_descendants = request.POST.get("include_descendants", False)
page.unpublish()
if include_descendants:
live_descendant_pages = page.get_descendants().live().specific()
for live_descendant_page in live_descendant_pages:
if user_perms.for_page(live_descendant_page).can_unpublish():
live_descendant_page.unpublish()
messages.success(
request,
_("Page '{0}' unpublished.").format(page.get_admin_display_title()),
buttons=[messages.button(reverse("wagtailadmin_pages:edit", args=(page.id,)), _("Edit"))],
)
if next_url:
return redirect(next_url)
return redirect("wagtailadmin_explore", page.get_parent().id)
return render(
request,
"wagtailadmin/pages/confirm_unpublish.html",
{"page": page, "next": next_url, "live_descendant_count": page.get_descendants().live().count()},
)
示例10: create
def create(request):
group = Group()
if request.POST:
form = GroupForm(request.POST, instance=group)
permission_panels = [
cls(request.POST, instance=group)
for cls in get_permission_panel_classes()
]
if form.is_valid() and all(panel.is_valid() for panel in permission_panels):
form.save()
for panel in permission_panels:
panel.save()
messages.success(request, _("Group '{0}' created.").format(group), buttons=[
messages.button(reverse('wagtailusers_groups:edit', args=(group.id,)), _('Edit'))
])
return redirect('wagtailusers_groups:index')
else:
messages.error(request, _("The group could not be created due to errors."))
else:
form = GroupForm(instance=group)
permission_panels = [
cls(instance=group)
for cls in get_permission_panel_classes()
]
return render(request, 'wagtailusers/groups/create.html', {
'form': form,
'permission_panels': permission_panels,
})
示例11: edit
def edit(request, document_id):
doc = get_object_or_404(Document, id=document_id)
if not doc.is_editable_by_user(request.user):
raise PermissionDenied
if request.POST:
original_file = doc.file
form = DocumentForm(request.POST, request.FILES, instance=doc)
if form.is_valid():
if 'file' in form.changed_data:
# if providing a new document file, delete the old one.
# NB Doing this via original_file.delete() clears the file field,
# which definitely isn't what we want...
original_file.storage.delete(original_file.name)
doc = form.save()
# Reindex the document to make sure all tags are indexed
for backend in get_search_backends():
backend.add(doc)
messages.success(request, _("Document '{0}' updated").format(doc.title), buttons=[
messages.button(reverse('wagtaildocs_edit_document', args=(doc.id,)), _('Edit'))
])
return redirect('wagtaildocs_index')
else:
messages.error(request, _("The document could not be saved due to errors."))
else:
form = DocumentForm(instance=doc)
return render(request, "wagtaildocs/documents/edit.html", {
'document': doc,
'form': form
})
示例12: add
def add(request):
ImageModel = get_image_model()
ImageForm = get_image_form(ImageModel)
if request.POST:
image = ImageModel(uploaded_by_user=request.user)
form = ImageForm(request.POST, request.FILES, instance=image)
if form.is_valid():
# Set image file size
image.file_size = image.file.size
form.save()
# Reindex the image to make sure all tags are indexed
for backend in get_search_backends():
backend.add(image)
messages.success(request, _("Image '{0}' added.").format(image.title), buttons=[
messages.button(reverse('wagtailimages:edit', args=(image.id,)), _('Edit'))
])
return redirect('wagtailimages:index')
else:
messages.error(request, _("The image could not be created due to errors."))
else:
form = ImageForm()
return render(request, "wagtailimages/images/add.html", {
'form': form,
})
示例13: edit
def edit(request, embed_video_id):
EmbedVideo = get_embed_video_model()
EmbedVideoForm = get_embed_video_form(EmbedVideo)
embed_video = get_object_or_404(EmbedVideo, id=embed_video_id)
if not embed_video.is_editable_by_user(request.user):
raise PermissionDenied
if request.POST:
form = EmbedVideoForm(request.POST, request.FILES, instance=embed_video)
if form.is_valid():
form.save()
# Reindex the embed_video to make sure all tags are indexed
for backend in get_search_backends():
backend.add(embed_video)
messages.success(request, _("Embed video '{0}' updated.").format(embed_video.title), buttons=[
messages.button(reverse('wagtail_embed_videos_edit_embed_video', args=(embed_video.id,)), _('Edit again'))
])
return redirect('wagtail_embed_videos_index')
else:
messages.error(request, _("The embed video could not be saved due to errors."))
else:
form = EmbedVideoForm(instance=embed_video)
return render(request, "wagtail_embed_videos/embed_videos/edit.html", {
'embed_video': embed_video,
'form': form,
})
示例14: add
def add(request):
EmbedVideoModel = get_embed_video_model()
EmbedVideoForm = get_embed_video_form(EmbedVideoModel)
if request.method == 'POST':
embed_video = EmbedVideoModel(uploaded_by_user=request.user)
form = EmbedVideoForm(request.POST, request.FILES, instance=embed_video, user=request.user)
if form.is_valid():
form.save()
# Reindex the embed video to make sure all tags are indexed
search_index.insert_or_update_object(embed_video)
messages.success(
request,
_("Video '{0}' added.").format(embed_video.title),
buttons=[
messages.button(
reverse(
'wagtail_embed_videos:edit',
args=(embed_video.id,)
),
_('Edit')
)
]
)
return redirect('wagtail_embed_videos:index')
else:
messages.error(request, _("The video could not be created due to errors."))
else:
form = EmbedVideoForm(user=request.user)
return render(request, "wagtail_embed_videos/embed_videos/add.html", {
'form': form,
})
示例15: add
def add(request):
if request.POST:
# Get query
query_form = search_forms.QueryForm(request.POST)
if query_form.is_valid():
query = Query.get(query_form['query_string'].value())
# Save search picks
searchpicks_formset = forms.SearchPromotionsFormSet(request.POST, instance=query)
if save_searchpicks(query, query, searchpicks_formset):
messages.success(request, _("Editor's picks for '{0}' created.").format(query), buttons=[
messages.button(reverse('wagtailsearchpromotions:edit', args=(query.id,)), _('Edit'))
])
return redirect('wagtailsearchpromotions:index')
else:
if len(searchpicks_formset.non_form_errors()):
# formset level error (e.g. no forms submitted)
messages.error(request, " ".join(error for error in searchpicks_formset.non_form_errors()))
else:
# specific errors will be displayed within form fields
messages.error(request, _("Recommendations have not been created due to errors"))
else:
searchpicks_formset = forms.SearchPromotionsFormSet()
else:
query_form = search_forms.QueryForm()
searchpicks_formset = forms.SearchPromotionsFormSet()
return render(request, 'wagtailsearchpromotions/add.html', {
'query_form': query_form,
'searchpicks_formset': searchpicks_formset,
})