def index(request): snippet_types = [ (get_snippet_type_name(content_type)[1], get_snippet_type_description(content_type), content_type) for content_type in get_snippet_content_types() if user_can_edit_snippet_type(request.user, content_type) ] return render(request, "wagtailsnippets/snippets/index.html", {"snippet_types": snippet_types})
def index(request): snippet_model_opts = [ model._meta for model in get_snippet_models() if user_can_edit_snippet_type(request.user, model)] return render(request, 'wagtailsnippets/snippets/index.html', { 'snippet_model_opts': sorted( snippet_model_opts, key=lambda x: x.verbose_name.lower())})
def delete(request, content_type_app_name, content_type_model_name, id): content_type = get_content_type_from_url_params(content_type_app_name, content_type_model_name) if not user_can_edit_snippet_type(request.user, content_type): raise PermissionDenied model = content_type.model_class() snippet_type_name = get_snippet_type_name(content_type)[0] instance = get_object_or_404(model, id=id) if request.POST: instance.delete() messages.success( request, _("{snippet_type} '{instance}' deleted.").format( snippet_type=capfirst(snippet_type_name), instance=instance)) return redirect('wagtailsnippets_list', content_type.app_label, content_type.model) return render( request, 'wagtailsnippets/snippets/confirm_delete.html', { 'content_type': content_type, 'snippet_type_name': snippet_type_name, 'instance': instance, })
def create(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_snippet_type(request.user, content_type): raise PermissionDenied model = content_type.model_class() snippet_type_name = get_snippet_type_name(content_type)[0] instance = model() edit_handler_class = get_snippet_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, "%s '%s' created." % (capfirst(get_snippet_type_name(content_type)[0]), instance) ) return redirect('wagtailsnippets_list', content_type.app_label, content_type.model) else: messages.error(request, "The snippet could not be created 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, 'wagtailsnippets/snippets/create.html', { 'content_type': content_type, 'snippet_type_name': snippet_type_name, 'edit_handler': edit_handler, })
def list(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_snippet_type(request.user, content_type): raise PermissionDenied model = content_type.model_class() snippet_type_name, snippet_type_name_plural = get_snippet_type_name( content_type) items = model.objects.all() # Pagination p = request.GET.get('p', 1) paginator = Paginator(items, 20) try: paginated_items = paginator.page(p) except PageNotAnInteger: paginated_items = paginator.page(1) except EmptyPage: paginated_items = paginator.page(paginator.num_pages) return render( request, 'wagtailsnippets/snippets/type_index.html', { 'content_type': content_type, 'snippet_type_name': snippet_type_name, 'snippet_type_name_plural': snippet_type_name_plural, 'items': paginated_items, })
def choose_snippet(request, id, content_type_app_name, content_type_model_name): """ Choose snippet and display its representation in the Hallo.js richtext field. """ model = get_snippet_model_from_url_params(content_type_app_name, content_type_model_name) if not user_can_edit_snippet_type(request.user, model): raise PermissionDenied try: model.objects.get(id=id) except ObjectDoesNotExist: return render_modal_workflow( request, None, None, {'error': 'Sorry, an error occurred. Contact support or try again later.'} ) embed_html = embed_to_editor_html(id, content_type_app_name, content_type_model_name) return render_modal_workflow( request, None, 'wagtailembedder/editor/snippet_chosen.js', {'embed_html': embed_html} )
def list(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_snippet_type(request.user, content_type): raise PermissionDenied model = content_type.model_class() snippet_type_name, snippet_type_name_plural = get_snippet_type_name(content_type) items = model.objects.all() # Pagination p = request.GET.get('p', 1) paginator = Paginator(items, 20) try: paginated_items = paginator.page(p) except PageNotAnInteger: paginated_items = paginator.page(1) except EmptyPage: paginated_items = paginator.page(paginator.num_pages) return render(request, 'wagtailsnippets/snippets/type_index.html', { 'content_type': content_type, 'snippet_type_name': snippet_type_name, 'snippet_type_name_plural': snippet_type_name_plural, 'items': paginated_items, })
def delete(request, content_type_app_name, content_type_model_name, id): content_type = get_content_type_from_url_params(content_type_app_name, content_type_model_name) if not user_can_edit_snippet_type(request.user, content_type): raise PermissionDenied model = content_type.model_class() snippet_type_name = get_snippet_type_name(content_type)[0] instance = get_object_or_404(model, id=id) if request.POST: instance.delete() messages.success( request, _("{snippet_type} '{instance}' deleted.").format( snippet_type=capfirst(snippet_type_name), instance=instance ) ) return redirect('wagtailsnippets_list', content_type.app_label, content_type.model) return render(request, 'wagtailsnippets/snippets/confirm_delete.html', { 'content_type': content_type, 'snippet_type_name': snippet_type_name, 'instance': instance, })
def index(request): snippet_types = [(get_snippet_type_name(content_type)[1], get_snippet_type_description(content_type), content_type) for content_type in get_snippet_content_types() if user_can_edit_snippet_type(request.user, content_type)] return render(request, 'wagtailsnippets/snippets/index.html', { 'snippet_types': snippet_types, })
def index(request): snippet_types = [(get_snippet_type_name(content_type)[1], content_type) for content_type in get_snippet_content_types() if user_can_edit_snippet_type(request.user, content_type)] return render( request, 'wagtailsnippets/snippets/index.html', { 'snippet_types': sorted(snippet_types, key=lambda x: x[0].lower()), })
def index(request): snippet_types = [ (get_snippet_type_name(content_type)[1], content_type) for content_type in get_snippet_content_types() if user_can_edit_snippet_type(request.user, content_type) ] return render( request, "wagtailsnippets/snippets/index.html", {"snippet_types": sorted(snippet_types, key=lambda x: x[0].lower())}, )
def index(request): snippet_types = [ ( get_snippet_type_name(content_type)[1], get_snippet_type_description(content_type), content_type ) for content_type in get_snippet_content_types() if user_can_edit_snippet_type(request.user, content_type) ] return render(request, 'wagtailsnippets/snippets/index.html', { 'snippet_types': sorted(snippet_types, key=lambda x: x[0].lower()), })
def index(request): snippet_types = [ (get_snippet_type_name(content_type)[1], '', content_type) for content_type in get_snippet_content_types() if user_can_edit_snippet_type(request.user, content_type) and hasattr(content_type.model_class()._meta, 'embedder_snippet') and content_type.model_class()._meta.embedder_snippet ] return render_modal_workflow(request, 'wagtailembedder/snippets/types_list.html', 'wagtailembedder/snippets/types_list.js', { 'snippet_types': snippet_types, })
def index(request, template='wagtailsnippets/snippets/index.html'): snippet_types = [ ( get_snippet_type_name(content_type)[1], get_snippet_type_description(content_type), content_type ) for content_type in get_snippet_content_types() if user_can_edit_snippet_type(request.user, content_type) ] return render(request, template, { 'snippet_types': snippet_types, })
def edit(request, content_type_app_name, content_type_model_name, id): content_type = get_content_type_from_url_params(content_type_app_name, content_type_model_name) if not user_can_edit_snippet_type(request.user, content_type): raise PermissionDenied model = content_type.model_class() snippet_type_name = get_snippet_type_name(content_type)[0] instance = get_object_or_404(model, id=id) edit_handler_class = get_snippet_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, _("{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: messages.error(request, _("The snippet 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, 'wagtailsnippets/snippets/edit.html', { 'content_type': content_type, 'snippet_type_name': snippet_type_name, 'instance': instance, 'edit_handler': edit_handler })
def list(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_snippet_type(request.user, content_type): raise PermissionDenied model = content_type.model_class() snippet_type_name, snippet_type_name_plural = get_snippet_type_name(content_type) items = model.objects.all() return render(request, 'wagtailsnippets/snippets/type_index.html', { 'content_type': content_type, 'snippet_type_name': snippet_type_name, 'snippet_type_name_plural': snippet_type_name_plural, 'items': items, })
def list(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_snippet_type(request.user, content_type): raise PermissionDenied model = content_type.model_class() snippet_type_name, snippet_type_name_plural = get_snippet_type_name(content_type) items = model.objects.all() return render(request, 'wagtailsnippets/snippets/type_index.html', { 'content_type': content_type, 'snippet_type_name': snippet_type_name, 'snippet_type_name_plural': snippet_type_name_plural, 'items': items, })
def index(request): snippet_types = [( get_snippet_type_name(content_type)[1], '', content_type) for content_type in get_snippet_content_types() if user_can_edit_snippet_type(request.user, content_type) and hasattr(content_type.model_class()._meta, 'embedder_snippet') and content_type.model_class()._meta.embedder_snippet ] return render_modal_workflow( request, 'wagtailembedder/snippets/types_list.html', 'wagtailembedder/snippets/types_list.js', { 'snippet_types': snippet_types, } )
def edit(request, content_type_app_name, content_type_model_name, id): content_type = get_content_type_from_url_params(content_type_app_name, content_type_model_name) if not user_can_edit_snippet_type(request.user, content_type): raise PermissionDenied model = content_type.model_class() snippet_type_name = get_snippet_type_name(content_type)[0] instance = get_object_or_404(model, id=id) edit_handler_class = get_snippet_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, _("{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: messages.error(request, _("The snippet 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, 'wagtailsnippets/snippets/edit.html', { 'content_type': content_type, 'snippet_type_name': snippet_type_name, 'instance': instance, 'edit_handler': edit_handler })
def edit(request, content_type_app_name, content_type_model_name, id): content_type = get_content_type_from_url_params(content_type_app_name, content_type_model_name) if not user_can_edit_snippet_type(request.user, content_type): raise PermissionDenied model = content_type.model_class() snippet_type_name = get_snippet_type_name(content_type)[0] instance = get_object_or_404(model, id=id) edit_handler_class = get_snippet_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, _("{snippet_type} '{instance}' updated.").format( snippet_type=capfirst(snippet_type_name), instance=instance ), ) return redirect("wagtailsnippets_list", content_type.app_label, content_type.model) else: messages.error(request, _("The snippet 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, "wagtailsnippets/snippets/edit.html", { "content_type": content_type, "snippet_type_name": snippet_type_name, "instance": instance, "edit_handler": edit_handler, }, )
def create(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_snippet_type(request.user, content_type): raise PermissionDenied model = content_type.model_class() snippet_type_name = get_snippet_type_name(content_type)[0] instance = model() edit_handler_class = get_snippet_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, _("{snippet_type} '{instance}' created.").format( snippet_type=capfirst( get_snippet_type_name(content_type)[0]), instance=instance)) return redirect('wagtailsnippets_list', content_type.app_label, content_type.model) else: messages.error( request, _("The snippet could not be created 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, 'wagtailsnippets/snippets/create.html', { 'content_type': content_type, 'snippet_type_name': snippet_type_name, 'edit_handler': edit_handler, })
def choose_snippet(request, id, 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_snippet_type(request.user, content_type): raise PermissionDenied model = content_type.model_class() try: model.objects.get(id=id) except ObjectDoesNotExist: return render_modal_workflow( request, None, None, { 'error': 'Sorry, an error occurred. Contact support or try again later.' }) embed_html = embed_to_editor_html(id, content_type_app_name, content_type_model_name) return render_modal_workflow(request, None, 'wagtailembedder/editor/snippet_chosen.js', {'embed_html': embed_html})
def choose_snippet(request, id, 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_snippet_type(request.user, content_type): raise PermissionDenied model = content_type.model_class() try: model.objects.get(id=id) except ObjectDoesNotExist: return render_modal_workflow( request, None, None, {'error': 'Sorry, an error occurred. Contact support or try again later.'} ) embed_html = embed_to_editor_html(id, content_type_app_name, content_type_model_name) return render_modal_workflow( request, None, 'wagtailembedder/editor/snippet_chosen.js', {'embed_html': embed_html} )
def index(request): """ Fetches all human-readabe names of all snippet classes and presents them in a list. """ snippet_types = [ ( content_type._meta.app_label, content_type._meta.model.__name__, content_type._meta.verbose_name, getattr(content_type._meta, 'description', ''), ) for content_type in get_snippet_models() if user_can_edit_snippet_type(request.user, content_type) ] return render_modal_workflow( request, 'wagtailembedder/snippets/types_list.html', 'wagtailembedder/snippets/types_list.js', { 'snippet_types': snippet_types, } )
def is_shown(self, request): return user_can_edit_snippet_type(request.user, Person)
def is_shown(self, request): return user_can_edit_snippet_type(request.user, Person)