shuup.admin.modules.media package

Submodules

shuup.admin.modules.media.form_parts module

class shuup.admin.modules.media.form_parts.MediaFolderBaseFormPart(request, object=None)[source]

Bases: FormPart

priority: int = 1
get_form_defs()[source]
form_valid(form)[source]

shuup.admin.modules.media.forms module

class shuup.admin.modules.media.forms.MediaFolderForm(*args, **kwargs)[source]

Bases: ModelForm

class Meta[source]

Bases: object

model

alias of MediaFolder

fields = ('visible', 'owners')
labels = {'visible': 'Visible for all everyone in the media browser'}
__init__(*args, **kwargs)[source]
base_fields = {'owners': <django.forms.models.ModelMultipleChoiceField object>, 'visible': <django.forms.fields.BooleanField object>}
declared_fields = {}
property media

Return all media required to render the widgets on this form.

shuup.admin.modules.media.utils module

shuup.admin.modules.media.utils.delete_folder(folder)[source]

Delete a Filer folder and move files and subfolders up to the parent.

Parameters:

folder (filer.models.Folder) – Folder.

Returns:

Success message.

Return type:

str

shuup.admin.modules.media.views module

shuup.admin.modules.media.views.get_folder_name(folder)[source]
class shuup.admin.modules.media.views.MediaBrowserView(**kwargs)[source]

Bases: TemplateView

A view for browsing media.

Most of this is just a JSON API that the Javascript (static_src/media/browser) uses.

Constructor. Called in the URLconf; can contain helpful extra keyword arguments, and other things.

template_name = 'shuup/admin/media/browser.jinja'
title = 'Browse Media'
get_context_data(**kwargs)[source]
dispatch(request, *args, **kwargs)[source]
get(request, *args, **kwargs)[source]
post(request, *args, **kwargs)[source]
handle_get_folder(data)[source]
handle_post_new_folder(data)[source]
handle_post_rename_folder(data)[source]
handle_post_delete_folder(data)[source]
handle_post_rename_file(data)[source]
handle_post_delete_file(data)[source]
handle_post_move_file(data)[source]
handle_get_folders(data)[source]
shuup.admin.modules.media.views.media_upload(request, *args, **kwargs)[source]
class shuup.admin.modules.media.views.MediaFolderEditView(**kwargs)[source]

Bases: SaveFormPartsMixin, FormPartsViewMixin, CreateOrUpdateView

Constructor. Called in the URLconf; can contain helpful extra keyword arguments, and other things.

model

alias of MediaFolder

template_name = 'shuup/admin/media/edit.jinja'
context_object_name = 'media_folder'
base_form_part_classes: Any | Any = [<class 'shuup.admin.modules.media.form_parts.MediaFolderBaseFormPart'>]
form_part_class_provide_key: str | None = 'admin_media_folder_form_part'
dispatch(request, *args, **kwargs)[source]
post(request, *args, **kwargs)[source]

Handle POST requests: instantiate a form instance with the passed POST variables and then check if it’s valid.

get_toolbar()[source]
get_context_data(**kwargs)[source]

Insert the form into the context dict.

form_valid(form)[source]

If the form is valid, save the associated model.

get_queryset()[source]

Return the QuerySet that will be used to look up the object.

This method is called by the default implementation of get_object() and may not be called if get_object() is overridden.

Module contents

class shuup.admin.modules.media.MediaModule[source]

Bases: AdminModule

A module for handling site media. Basically a frontend for the Django-Filer app.

name = 'Media'
get_urls()[source]
Return type:

list[django.urls.RegexURLPattern]

get_extra_permissions()[source]

Define custom extra permissions for admin module for option to limit certain parts of the admin module based on per user permission string. Should return unique list permission strings across the installation to prevent unwanted side effects.

Return type:

list[str]

get_menu_entries(request)[source]
Return type:

list[shuup.admin.base.MenuEntry]