Admin

Admin reference.

Admin

class salesman.admin.admin.OrderItemInline(*args: Any, **kwargs: Any)[source]
model

alias of OrderItem

get_queryset(request: HttpRequest) QuerySet[source]

Return a QuerySet of all model instances that can be edited by the admin site. This is used by changelist_view.

has_add_permission(request: HttpRequest, obj: BaseOrderItem | None = None) bool[source]

Return True if the given request has permission to add an object. Can be overridden by the user in subclasses.

has_delete_permission(request: HttpRequest, obj: BaseOrderItem | None = None) bool[source]

Return True if the given request has permission to delete the given Django model instance, the default implementation doesn’t examine the obj parameter.

Can be overridden by the user in subclasses. In such case it should return True if the given request has permission to delete the obj model instance. If obj is None, this should return True if the given request has permission to delete any object of the given type.

class salesman.admin.admin.OrderPaymentInline(parent_model, admin_site)[source]
model

alias of OrderPayment

form

alias of OrderPaymentModelForm

get_queryset(request: HttpRequest) QuerySet[source]

Return a QuerySet of all model instances that can be edited by the admin site. This is used by changelist_view.

class salesman.admin.admin.OrderNoteInline(parent_model, admin_site)[source]
model

alias of OrderNote

form

alias of OrderNoteModelForm

class salesman.admin.admin.BaseOrderAdmin(*args: Any, **kwargs: Any)[source]
form

alias of OrderModelForm

get_queryset(request: HttpRequest) QuerySet[source]

Return a QuerySet of all model instances that can be edited by the admin site. This is used by changelist_view.

has_add_permission(request: HttpRequest, obj: BaseOrder | None = None) bool[source]

Return True if the given request has permission to add an object. Can be overridden by the user in subclasses.

has_delete_permission(request: HttpRequest, obj: BaseOrder | None = None) bool[source]

Return True if the given request has permission to delete the given Django model instance, the default implementation doesn’t examine the obj parameter.

Can be overridden by the user in subclasses. In such case it should return True if the given request has permission to delete the obj model instance. If obj is None, this should return True if the given request has permission to delete any object of the given type.

class salesman.admin.admin.OrderAdmin(*args: Any, **kwargs: Any)[source]

Default Order admin with refund functionality.

Filters

Forms

class salesman.admin.forms.OrderModelForm(*args: Any, **kwargs: Any)[source]
property media

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

class salesman.admin.forms.OrderPaymentModelForm(data=None, files=None, auto_id='id_%s', prefix=None, initial=None, error_class=<class 'django.forms.utils.ErrorList'>, label_suffix=None, empty_permitted=False, instance=None, use_required_attribute=None, renderer=None)[source]
property media

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

class salesman.admin.forms.OrderNoteModelForm(data=None, files=None, auto_id='id_%s', prefix=None, initial=None, error_class=<class 'django.forms.utils.ErrorList'>, label_suffix=None, empty_permitted=False, instance=None, use_required_attribute=None, renderer=None)[source]
property media

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

Mixins

class salesman.admin.mixins.BaseAdminMixin(*args: Any, **kwargs: Any)[source]

Mixin that adds formatters and display functions to the model admin.

class salesman.admin.mixins.OrderItemAdminMixin(*args: Any, **kwargs: Any)[source]

Admin mixin for Order Item model admin.

class salesman.admin.mixins.OrderAdminMixin(*args: Any, **kwargs: Any)[source]

Admin mixin for Order model admin.

class salesman.admin.mixins.OrderAdminRefundMixin[source]

Mixin to add refund functionality to Order admin.

Utils

salesman.admin.utils.format_json(value: dict[str, Any], context: dict[str, Any] = {}) str[source]

Format json and add color using pygments with fallback.

Parameters:
  • value (dict) – Dict to be formated to json

  • context (dict, optional) – Format context data. Defaults to {}.

Returns:

JSON formated html string

Return type:

str

salesman.admin.utils.format_price(value: Decimal, order: Order, request: HttpRequest) str[source]

Wrapper for format price function with order admin context added.

Parameters:
  • value (Decimal) – Number value to be formatted

  • order (Order) – Order instance

  • request (HttpRequest) – Django request

Returns:

Formatted price as a string

Return type:

str

Wagtail hooks

class salesman.admin.wagtail_hooks.BaseOrderAdmin(*args: Any, **kwargs: Any)[source]
model

alias of Order

index_view_class

alias of OrderIndexView

edit_view_class

alias of OrderEditView

permission_helper_class

alias of OrderPermissionHelper

get_base_form_class(form_class: Type[WagtailOrderModelForm] | None = None) Type[WagtailOrderModelForm][source]

Returns Model form class with model_admin instance attached.

Parameters:

form_class (Type[WagtailOrderModelForm], optional) – Class. Defaults to None.

Returns:

A model form class

Return type:

type[WagtailOrderModelForm]

get_edit_handler() Panel[source]

Returns edit handler with custom base form class attached.

Returns:

Edit handler

Return type:

EditHandler

class salesman.admin.wagtail_hooks.OrderAdmin(*args: Any, **kwargs: Any)[source]

Default Order admin with refund functionality.

Widgets

class salesman.admin.widgets.OrderStatusSelect(*args: Any, **kwargs: Any)[source]

Status widget with order status choices.

class salesman.admin.widgets.PaymentSelect(*args: Any, **kwargs: Any)[source]

Payment widget with payment method choices.

Wagtail

Panels

class salesman.admin.wagtail.panels.ReadOnlyPanel(attr: str, *args: Any, **kwargs: Any)[source]

Read only panel for Wagtail. You can pass in a formatter function to override value format and/or a renderer function to override how the value is rendered in html.

clone_kwargs() dict[str, Any][source]

Return a dictionary of keyword arguments that can be used to create a clone of this panel definition.

on_model_bound() None[source]

Set field data from model.

class BoundPanel(panel: Panel, **kwargs: Any)[source]
render_html(context: dict[str, Any]) Any[source]

New method for rendering the field in Wagtail 4.

class salesman.admin.wagtail.panels.OrderDatePanel(attr: str, *args: Any, **kwargs: Any)[source]
class BoundPanel(panel: Panel, **kwargs: Any)[source]
class salesman.admin.wagtail.panels.OrderCheckboxPanel(attr: str, *args: Any, **kwargs: Any)[source]
class BoundPanel(panel: Panel, **kwargs: Any)[source]
class salesman.admin.wagtail.panels.OrderItemsPanel(attr: str, *args: Any, **kwargs: Any)[source]
classes() list[str][source]

Additional CSS classnames to add to whatever kind of object this is at output. Subclasses of Panel should override this, invoking super().classes() to append more classes specific to the situation.

class BoundPanel(panel: Panel, **kwargs: Any)[source]
class salesman.admin.wagtail.panels.OrderAdminPanel(attr: str, *args: Any, **kwargs: Any)[source]

Retrieves value from model_admin which is bound to the form in get_edit_handler.

on_model_bound() None[source]

Set field data from model.

class BoundPanel(panel: Panel, **kwargs: Any)[source]

Forms

class salesman.admin.wagtail.forms.WagtailOrderModelForm(*args: Any, **kwargs: Any)[source]
property media

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

Helpers

class salesman.admin.wagtail.helpers.OrderPermissionHelper(model, inspect_view_enabled=False)[source]
user_can_create(user: AbstractBaseUser) bool[source]

Return a boolean to indicate whether user is permitted to create new instances of self.model

user_can_delete_obj(user: AbstractBaseUser, obj: Any) bool[source]

Return a boolean to indicate whether user is permitted to ‘delete’ a specific self.model instance.

Mixins

class salesman.admin.wagtail.mixins.WagtailOrderAdminMixin(*args: Any, **kwargs: Any)[source]

Wagtail Order admin mixin. Panel definitions are here to avoid circular dependencies when importing.

class salesman.admin.wagtail.mixins.WagtailOrderAdminRefundMixin[source]

Mixin to add refund functionality to Wagtail Order admin.

refund_view_class

alias of OrderRefundView

Views

class salesman.admin.wagtail.views.OrderIndexView(model_admin)[source]

Wagtail admin view that handles Order index.

class salesman.admin.wagtail.views.OrderEditView(model_admin, instance_pk)[source]

Wagtail admin view that handles Order edit.

get_success_url() str[source]

Return the URL to redirect to after processing a valid form.

class salesman.admin.wagtail.views.OrderRefundView(model_admin, instance_pk)[source]

Wagtail admin view that handles Order refunds.

get_template_names() list[str][source]

Return a list of template names to be used for the request. Must return a list. May not be called if render_to_response() is overridden.