kopia lustrzana https://github.com/wagtail/wagtail
converted uses of django.contrib.messages to wagtail.wagtailadmin.messages to allow better styling and interactivity in notifications
rodzic
513129fb5e
commit
58f9f68fe4
|
@ -1,7 +1,7 @@
|
|||
from django import forms
|
||||
from django.shortcuts import render
|
||||
from django.utils.translation import ugettext as _
|
||||
from django.contrib import messages
|
||||
from wagtail.wagtailadmin import messages
|
||||
from django.contrib.auth.decorators import permission_required
|
||||
|
||||
from wagtail.wagtailadmin.forms import SearchForm
|
||||
|
@ -28,9 +28,18 @@ def index(request):
|
|||
|
||||
example_form = ExampleForm()
|
||||
|
||||
messages.success(request, _("Success message"))
|
||||
messages.warning(request, _("Warning message"))
|
||||
messages.error(request, _("Error message"))
|
||||
messages.success(request, _("Success message"), buttons = [
|
||||
messages.button('', _('View live')),
|
||||
messages.button('', _('Edit'))
|
||||
])
|
||||
messages.warning(request, _("Warning message"), buttons = [
|
||||
messages.button('', _('View live')),
|
||||
messages.button('', _('Edit'))
|
||||
])
|
||||
messages.error(request, _("Error message"), buttons = [
|
||||
messages.button('', _('View live')),
|
||||
messages.button('', _('Edit'))
|
||||
])
|
||||
|
||||
fake_pagination = {
|
||||
'number': 1,
|
||||
|
|
|
@ -0,0 +1,26 @@
|
|||
from django.contrib import messages
|
||||
from django.template.loader import render_to_string
|
||||
|
||||
def render(message, buttons):
|
||||
return render_to_string('wagtailadmin/shared/messages.html', {
|
||||
'message': message,
|
||||
'buttons': buttons
|
||||
})
|
||||
|
||||
def debug(request, message, buttons = None):
|
||||
return messages.debug(request, render(message, buttons))
|
||||
|
||||
def info(request, message, buttons = None):
|
||||
return messages.info(request, render(message, buttons))
|
||||
|
||||
def success(request, message, buttons = None):
|
||||
return messages.success(request, render(message, buttons))
|
||||
|
||||
def warning(request, message, buttons = None):
|
||||
return messages.warning(request, render(message, buttons))
|
||||
|
||||
def error(request, message, buttons = None):
|
||||
return messages.error(request, render(message, buttons))
|
||||
|
||||
def button(url, text):
|
||||
return url, text
|
|
@ -218,7 +218,7 @@ input[type=submit], input[type=reset], input[type=button], .button, button{
|
|||
|
||||
&.button-secondary{
|
||||
color:$color-button;
|
||||
background-color:white;
|
||||
background-color:transparent;
|
||||
}
|
||||
|
||||
&.icon.text-replace:before{
|
||||
|
@ -260,7 +260,7 @@ input[type=submit], input[type=reset], input[type=button], .button, button{
|
|||
border-color:transparent;
|
||||
background-color: $color-button-no-hover;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&.bicolor{
|
||||
border:0;
|
||||
|
|
|
@ -207,6 +207,10 @@ ul.listing{
|
|||
color:white;
|
||||
}
|
||||
}
|
||||
|
||||
.button-secondary{
|
||||
background-color:white;
|
||||
}
|
||||
|
||||
.moderate-actions form{
|
||||
float:left;
|
||||
|
|
|
@ -10,6 +10,10 @@
|
|||
z-index:5;
|
||||
background-color:$color-grey-1;
|
||||
|
||||
.buttons{
|
||||
margin-left:1em;
|
||||
}
|
||||
|
||||
ul{
|
||||
@include unlist();
|
||||
padding-left:10px;
|
||||
|
@ -56,6 +60,18 @@
|
|||
content:"9";
|
||||
}
|
||||
}
|
||||
|
||||
.success .button:hover{
|
||||
background-color:$color-teal-dark;
|
||||
}
|
||||
.button-secondary{
|
||||
border-color:rgba(255,255,255,0.5);
|
||||
color:rgba(255,255,255,0.8);
|
||||
&:hover{
|
||||
border-color:transparent;
|
||||
color:white;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.messages.new ul{
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
{{ message }}
|
||||
|
||||
{% if buttons %}
|
||||
<span class="buttons">
|
||||
{% for button in buttons %}
|
||||
<a href="{{ button.0 }}" class="button button-small button-secondary">{{ button.1 }}</a>
|
||||
{% endfor %}
|
||||
</span>
|
||||
{% endif %}
|
|
@ -3,10 +3,11 @@ import warnings
|
|||
from django.http import Http404, HttpResponse
|
||||
from django.shortcuts import render, redirect, get_object_or_404
|
||||
from django.core.exceptions import ValidationError, PermissionDenied
|
||||
from django.contrib import messages
|
||||
#from django.contrib import messages
|
||||
from django.contrib.contenttypes.models import ContentType
|
||||
from django.contrib.auth.decorators import permission_required
|
||||
from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
|
||||
from django.core.urlresolvers import reverse
|
||||
from django.utils import timezone
|
||||
from django.utils.translation import ugettext as _
|
||||
from django.utils.http import is_safe_url
|
||||
|
@ -21,6 +22,7 @@ from wagtail.wagtailadmin import tasks, signals
|
|||
from wagtail.wagtailcore import hooks
|
||||
from wagtail.wagtailcore.models import Page, PageRevision, get_navigation_menu_items
|
||||
|
||||
from wagtail.wagtailadmin import messages
|
||||
|
||||
@permission_required('wagtailadmin.access_admin')
|
||||
def explorer_nav(request):
|
||||
|
@ -325,9 +327,15 @@ def edit(request, page_id):
|
|||
|
||||
# Notifications
|
||||
if is_publishing:
|
||||
messages.success(request, _("Page '{0}' published.").format(page.title))
|
||||
messages.success(request, _("Page '{0}' published.").format(page.title), buttons = [
|
||||
messages.button(page.url, _('View live')),
|
||||
messages.button(reverse('wagtailadmin_pages_edit', args=(page_id,)), _('Edit'))
|
||||
])
|
||||
elif is_submitting:
|
||||
messages.success(request, _("Page '{0}' submitted for moderation.").format(page.title))
|
||||
messages.success(request, _("Page '{0}' submitted for moderation.").format(page.title), buttons = [
|
||||
messages.button(reverse('wagtailadmin_pages_view_draft', args=(page_id,)), _('View draft')),
|
||||
messages.button(reverse('wagtailadmin_pages_edit', args=(page_id,)), _('Edit'))
|
||||
])
|
||||
tasks.send_notification.delay(page.get_latest_revision().id, 'submitted', request.user.id)
|
||||
else:
|
||||
messages.success(request, _("Page '{0}' updated.").format(page.title))
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
from django.shortcuts import render, redirect, get_object_or_404
|
||||
from django.contrib import messages
|
||||
from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
|
||||
from django.contrib.auth.decorators import permission_required
|
||||
from django.core.exceptions import PermissionDenied
|
||||
|
@ -9,11 +8,11 @@ from django.core.urlresolvers import reverse
|
|||
|
||||
from wagtail.wagtailadmin.forms import SearchForm
|
||||
from wagtail.wagtailsearch.backends import get_search_backends
|
||||
from wagtail.wagtailadmin import messages
|
||||
|
||||
from wagtail.wagtaildocs.models import Document
|
||||
from wagtail.wagtaildocs.forms import DocumentForm
|
||||
|
||||
|
||||
@permission_required('wagtaildocs.add_document')
|
||||
@vary_on_headers('X-Requested-With')
|
||||
def index(request):
|
||||
|
@ -89,7 +88,9 @@ def add(request):
|
|||
for backend in get_search_backends():
|
||||
backend.add(doc)
|
||||
|
||||
messages.success(request, _("Document '{0}' added.").format(doc.title))
|
||||
messages.success(request, _("Document '{0}' added.").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."))
|
||||
|
@ -123,7 +124,9 @@ def edit(request, document_id):
|
|||
for backend in get_search_backends():
|
||||
backend.add(doc)
|
||||
|
||||
messages.success(request, _("Document '{0}' updated").format(doc.title))
|
||||
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."))
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
import json
|
||||
|
||||
from django.shortcuts import render, redirect, get_object_or_404
|
||||
from django.contrib import messages
|
||||
from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
|
||||
from django.contrib.auth.decorators import permission_required
|
||||
from django.core.exceptions import PermissionDenied
|
||||
|
@ -12,6 +11,7 @@ from django.http import HttpResponse
|
|||
|
||||
from wagtail.wagtailcore.models import Site
|
||||
from wagtail.wagtailadmin.forms import SearchForm
|
||||
from wagtail.wagtailadmin import messages
|
||||
from wagtail.wagtailsearch.backends import get_search_backends
|
||||
|
||||
from wagtail.wagtailimages.models import get_image_model, Filter
|
||||
|
@ -103,7 +103,9 @@ def edit(request, image_id):
|
|||
for backend in get_search_backends():
|
||||
backend.add(image)
|
||||
|
||||
messages.success(request, _("Image '{0}' updated.").format(image.title))
|
||||
messages.success(request, _("Image '{0}' updated.").format(image.title), buttons = [
|
||||
messages.button(reverse('wagtailimages_edit_image', args=(image.id,)), _('Edit again'))
|
||||
])
|
||||
return redirect('wagtailimages_index')
|
||||
else:
|
||||
messages.error(request, _("The image could not be saved due to errors."))
|
||||
|
@ -228,7 +230,9 @@ def add(request):
|
|||
for backend in get_search_backends():
|
||||
backend.add(image)
|
||||
|
||||
messages.success(request, _("Image '{0}' added.").format(image.title))
|
||||
messages.success(request, _("Image '{0}' added.").format(image.title), buttons = [
|
||||
messages.button(reverse('wagtailimages_edit_image', args=(image.id,)), _('Edit'))
|
||||
])
|
||||
return redirect('wagtailimages_index')
|
||||
else:
|
||||
messages.error(request, _("The image could not be created due to errors."))
|
||||
|
|
|
@ -1,12 +1,13 @@
|
|||
from django.shortcuts import render, redirect, get_object_or_404
|
||||
from django.contrib import messages
|
||||
from django.contrib.auth.decorators import permission_required
|
||||
from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
|
||||
from django.utils.translation import ugettext as _
|
||||
from django.views.decorators.vary import vary_on_headers
|
||||
from django.core.urlresolvers import reverse
|
||||
|
||||
from wagtail.wagtailadmin.edit_handlers import ObjectList
|
||||
from wagtail.wagtailadmin.forms import SearchForm
|
||||
from wagtail.wagtailadmin import messages
|
||||
|
||||
from wagtail.wagtailredirects import models
|
||||
|
||||
|
@ -68,7 +69,9 @@ def edit(request, redirect_id):
|
|||
form = form_class(request.POST, request.FILES, instance=theredirect)
|
||||
if form.is_valid():
|
||||
form.save()
|
||||
messages.success(request, _("Redirect '{0}' updated.").format(theredirect.title))
|
||||
messages.success(request, _("Redirect '{0}' updated.").format(theredirect.title), buttons = [
|
||||
messages.button(reverse('wagtailredirects_edit_redirect', args=(theredirect.id,)), _('Edit'))
|
||||
])
|
||||
return redirect('wagtailredirects_index')
|
||||
else:
|
||||
messages.error(request, _("The redirect could not be saved due to errors."))
|
||||
|
@ -109,7 +112,9 @@ def add(request):
|
|||
theredirect.site = request.site
|
||||
theredirect.save()
|
||||
|
||||
messages.success(request, _("Redirect '{0}' added.").format(theredirect.title))
|
||||
messages.success(request, _("Redirect '{0}' added.").format(theredirect.title), buttons = [
|
||||
messages.button(reverse('wagtailredirects_edit_redirect', args=(theredirect.id,)), _('Edit'))
|
||||
])
|
||||
return redirect('wagtailredirects_index')
|
||||
else:
|
||||
messages.error(request, _("The redirect could not be created due to errors."))
|
||||
|
|
|
@ -1,13 +1,14 @@
|
|||
from django.shortcuts import render, redirect, get_object_or_404
|
||||
from django.contrib.auth.decorators import permission_required
|
||||
from django.contrib import messages
|
||||
|
||||
from django.core.urlresolvers import reverse
|
||||
from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
|
||||
from django.utils.translation import ugettext as _
|
||||
from django.views.decorators.vary import vary_on_headers
|
||||
|
||||
from wagtail.wagtailsearch import models, forms
|
||||
from wagtail.wagtailadmin.forms import SearchForm
|
||||
from wagtail.wagtailadmin import messages
|
||||
|
||||
|
||||
@permission_required('wagtailadmin.access_admin')
|
||||
|
@ -80,7 +81,9 @@ def add(request):
|
|||
# Save editors picks
|
||||
editors_pick_formset = forms.EditorsPickFormSet(request.POST, instance=query)
|
||||
if save_editorspicks(query, query, editors_pick_formset):
|
||||
messages.success(request, _("Editor's picks for '{0}' created.").format(query))
|
||||
messages.success(request, _("Editor's picks for '{0}' created.").format(query), buttons = [
|
||||
messages.button(reverse('wagtailsearch_editorspicks_edit', args=(query.id,)), _('Edit'))
|
||||
])
|
||||
return redirect('wagtailsearch_editorspicks_index')
|
||||
else:
|
||||
if len(editors_pick_formset.non_form_errors()):
|
||||
|
@ -114,7 +117,9 @@ def edit(request, query_id):
|
|||
|
||||
# Save editors picks
|
||||
if save_editorspicks(query, new_query, editors_pick_formset):
|
||||
messages.success(request, _("Editor's picks for '{0}' updated.").format(new_query))
|
||||
messages.success(request, _("Editor's picks for '{0}' updated.").format(new_query), buttons = [
|
||||
messages.button(reverse('wagtailsearch_editorspicks_edit', args=(query.id,)), _('Edit'))
|
||||
])
|
||||
return redirect('wagtailsearch_editorspicks_index')
|
||||
else:
|
||||
if len(editors_pick_formset.non_form_errors()):
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
from django.shortcuts import render, redirect, get_object_or_404
|
||||
from django.contrib import messages
|
||||
from django.contrib.auth.decorators import permission_required, user_passes_test
|
||||
from django.utils.translation import ugettext as _
|
||||
from django.core.urlresolvers import reverse
|
||||
|
||||
from wagtail.wagtailcore.models import Site
|
||||
from wagtail.wagtailsites.forms import SiteForm
|
||||
|
||||
from wagtail.wagtailadmin import messages
|
||||
|
||||
def user_has_site_model_perm(user):
|
||||
for verb in ['add', 'change', 'delete']:
|
||||
|
@ -28,7 +28,9 @@ def create(request):
|
|||
form = SiteForm(request.POST)
|
||||
if form.is_valid():
|
||||
site = form.save()
|
||||
messages.success(request, _("Site '{0}' created.").format(site.hostname))
|
||||
messages.success(request, _("Site '{0}' created.").format(site.hostname), buttons = [
|
||||
messages.button(reverse('wagtailsites_edit', args=(site.id,)), _('Edit'))
|
||||
])
|
||||
return redirect('wagtailsites_index')
|
||||
else:
|
||||
messages.error(request, _("The site could not be created due to errors."))
|
||||
|
@ -48,7 +50,9 @@ def edit(request, site_id):
|
|||
form = SiteForm(request.POST, instance=site)
|
||||
if form.is_valid():
|
||||
site = form.save()
|
||||
messages.success(request, _("Site '{0}' updated.").format(site.hostname))
|
||||
messages.success(request, _("Site '{0}' updated.").format(site.hostname), buttons = [
|
||||
messages.button(reverse('wagtailsites_edit', args=(site.id,)), _('Edit'))
|
||||
])
|
||||
return redirect('wagtailsites_index')
|
||||
else:
|
||||
messages.error(request, _("The site could not be saved due to errors."))
|
||||
|
|
|
@ -3,7 +3,6 @@ from django.shortcuts import get_object_or_404, render, redirect
|
|||
from django.utils.encoding import force_text
|
||||
from django.utils.text import capfirst
|
||||
from django.contrib.contenttypes.models import ContentType
|
||||
from django.contrib import messages
|
||||
from django.contrib.auth.decorators import permission_required
|
||||
from django.core.exceptions import PermissionDenied
|
||||
from django.utils.translation import ugettext as _
|
||||
|
@ -14,7 +13,7 @@ from wagtail.wagtailadmin.edit_handlers import ObjectList, extract_panel_definit
|
|||
|
||||
from wagtail.wagtailsnippets.models import get_snippet_content_types
|
||||
from wagtail.wagtailsnippets.permissions import user_can_edit_snippet_type
|
||||
|
||||
from wagtail.wagtailadmin import messages
|
||||
|
||||
# == Helper functions ==
|
||||
|
||||
|
@ -129,7 +128,10 @@ def create(request, content_type_app_name, content_type_model_name):
|
|||
_("{snippet_type} '{instance}' created.").format(
|
||||
snippet_type=capfirst(get_snippet_type_name(content_type)[0]),
|
||||
instance=instance
|
||||
)
|
||||
),
|
||||
buttons = [
|
||||
messages.button(reverse('wagtailsnippets_edit', args=(content_type_app_name,content_type_model_name,instance.id,)), _('Edit'))
|
||||
]
|
||||
)
|
||||
return redirect('wagtailsnippets_list', content_type.app_label, content_type.model)
|
||||
else:
|
||||
|
@ -170,7 +172,10 @@ def edit(request, content_type_app_name, content_type_model_name, id):
|
|||
_("{snippet_type} '{instance}' updated.").format(
|
||||
snippet_type=capfirst(snippet_type_name),
|
||||
instance=instance
|
||||
)
|
||||
),
|
||||
buttons = [
|
||||
messages.button(reverse('wagtailsnippets_edit', args=(content_type_app_name,content_type_model_name,instance.id,)), _('Edit'))
|
||||
]
|
||||
)
|
||||
return redirect('wagtailsnippets_list', content_type.app_label, content_type.model)
|
||||
else:
|
||||
|
|
|
@ -2,11 +2,12 @@ from django.shortcuts import render, redirect, get_object_or_404
|
|||
from django.contrib.auth.models import Group
|
||||
from django.contrib.auth.decorators import permission_required, user_passes_test
|
||||
from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
|
||||
from django.contrib import messages
|
||||
from django.core.urlresolvers import reverse
|
||||
from django.utils.translation import ugettext as _
|
||||
from django.views.decorators.vary import vary_on_headers
|
||||
from django.forms.models import inlineformset_factory
|
||||
|
||||
from wagtail.wagtailadmin import messages
|
||||
from wagtail.wagtailadmin.forms import SearchForm
|
||||
from wagtail.wagtailusers.forms import GroupForm, BaseGroupPagePermissionFormSet
|
||||
from wagtail.wagtailcore.models import GroupPagePermission
|
||||
|
@ -91,7 +92,9 @@ def create(request):
|
|||
group = form.save()
|
||||
formset.instance = group
|
||||
formset.save()
|
||||
messages.success(request, _("Group '{0}' created.").format(group))
|
||||
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."))
|
||||
|
@ -120,7 +123,9 @@ def edit(request, group_id):
|
|||
if form.is_valid() and formset.is_valid():
|
||||
group = form.save()
|
||||
formset.save()
|
||||
messages.success(request, _("Group '{0}' updated.").format(group))
|
||||
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."))
|
||||
|
|
|
@ -2,11 +2,12 @@ from django.shortcuts import render, redirect, get_object_or_404
|
|||
from django.contrib.auth import get_user_model
|
||||
from django.contrib.auth.decorators import permission_required
|
||||
from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
|
||||
from django.contrib import messages
|
||||
from django.core.urlresolvers import reverse
|
||||
from django.db.models import Q
|
||||
from django.utils.translation import ugettext as _
|
||||
from django.views.decorators.vary import vary_on_headers
|
||||
|
||||
from wagtail.wagtailadmin import messages
|
||||
from wagtail.wagtailadmin.forms import SearchForm
|
||||
from wagtail.wagtailusers.forms import UserCreationForm, UserEditForm
|
||||
from wagtail.wagtailcore.compat import AUTH_USER_APP_LABEL, AUTH_USER_MODEL_NAME
|
||||
|
@ -82,7 +83,9 @@ def create(request):
|
|||
form = UserCreationForm(request.POST)
|
||||
if form.is_valid():
|
||||
user = form.save()
|
||||
messages.success(request, _("User '{0}' created.").format(user))
|
||||
messages.success(request, _("User '{0}' created.").format(user), buttons = [
|
||||
messages.button(reverse('wagtailusers_users_edit', args=(user.id,)), _('Edit'))
|
||||
])
|
||||
return redirect('wagtailusers_users_index')
|
||||
else:
|
||||
messages.error(request, _("The user could not be created due to errors.") )
|
||||
|
@ -101,7 +104,9 @@ def edit(request, user_id):
|
|||
form = UserEditForm(request.POST, instance=user)
|
||||
if form.is_valid():
|
||||
user = form.save()
|
||||
messages.success(request, _("User '{0}' updated.").format(user))
|
||||
messages.success(request, _("User '{0}' updated.").format(user), buttons = [
|
||||
messages.button(reverse('wagtailusers_users_edit', args=(user.id,)), _('Edit'))
|
||||
])
|
||||
return redirect('wagtailusers_users_index')
|
||||
else:
|
||||
messages.error(request, _("The user could not be saved due to errors."))
|
||||
|
|
Ładowanie…
Reference in New Issue