Orders¶
Orders reference.
Status¶
-
class
salesman.orders.status.
BaseOrderStatus
[source]¶ Base order status enum, actuall choices must extend this class.
-
classmethod
BaseOrderStatus.
get_payable
() → list[source]¶ Returns list of statuses from which an order is eligible for payment.
-
classmethod
BaseOrderStatus.
get_transitions
() → list[source]¶ Returns a dict of statuses with their transitions. If not specified for status, any transition is valid.
-
classmethod
BaseOrderStatus.
validate_transition
(status: str, order: salesman.orders.models.Order) → None[source]¶ Validate a given status transition for the order. By default check status is defined in transitions.
- Parameters
status (str) – New status
order (Order) – Order instance
- Raises
ValidationError – If transition not valid
Utils¶
-
salesman.orders.utils.
generate_ref
(request: django.http.request.HttpRequest) → str[source]¶ Default order reference generator function. Can be overriden by providing a dotted path to a function in
SALESMAN_ORDER_REFERENCE_GENERATOR
setting.Default format is
{year}-{5-digit-increment}
(eg. 2020-00001).- Parameters
request (HttpRequest) – Django request
- Returns
New order reference
- Return type
str
Signals¶
-
property
signals.
status_changed
¶ Base class for all signals
Internal attributes:
- receivers
{ receiverkey (id) : weakref(receiver) }
Models¶
-
class
salesman.orders.models.
OrderManager
[source]¶
-
class
salesman.orders.models.
Order
(id, user, ref, status, token, email, shipping_address, billing_address, subtotal, total, _extra, date_created, date_updated)[source]¶ -
pay
(amount: decimal.Decimal, transaction_id: str, payment_method: str = '') → salesman.orders.models.OrderPayment[source]¶ Create a new payment for order.
- Parameters
amount (Decimal) – Amount to add
transaction_id (str) – ID of transaction
payment_method (str, optional) – Payment method identifier. Defaults to ‘’.
- Returns
New order payment instance
- Return type
-
populate_from_basket
(basket: salesman.basket.models.Basket, request: django.http.request.HttpRequest, **kwargs) → None[source]¶ Populate order with items from basket.
- Parameters
basket (Basket) – Basket instance
request (HttpRequest) – Django request
-
property
status_display
¶ Returns display label for current status.
-
property
statuses
¶ Shorthand on order instance to get statuses enum.
-
amount_paid
¶ Returns amount already paid for this order.
-
property
amount_outstanding
¶ Returns amount still needed for order to be paid.
-
property
is_paid
¶ Returns if order is paid in full.
-
-
class
salesman.orders.models.
OrderItem
(id, order, product_type, product_content_type, product_id, product_data, unit_price, subtotal, total, quantity, _extra)[source]¶ -
property
name
¶ Returns product name from stored data.
-
property
code
¶ Returns product name from stored data.
-
property
Serializers¶
-
class
salesman.orders.serializers.
OrderItemSerializer
(instance=None, data=<class 'rest_framework.fields.empty'>, **kwargs)[source]¶ Serializer for order item.
-
class
salesman.orders.serializers.
OrderPaymentSerializer
(instance=None, data=<class 'rest_framework.fields.empty'>, **kwargs)[source]¶ Serializer for order payment.
-
class
salesman.orders.serializers.
OrderNoteSerializer
(instance=None, data=<class 'rest_framework.fields.empty'>, **kwargs)[source]¶ Serializer for order note.
-
class
salesman.orders.serializers.
OrderSerializer
(instance=None, data=<class 'rest_framework.fields.empty'>, **kwargs)[source]¶ Serializer for order.
-
class
salesman.orders.serializers.
StatusTransitionSerializer
(instance=None, data=<class 'rest_framework.fields.empty'>, **kwargs)[source]¶ Serializer to display order status with error.
-
class
salesman.orders.serializers.
OrderStatusSerializer
(instance=None, data=<class 'rest_framework.fields.empty'>, **kwargs)[source]¶ Serializer used to change order status.