Bläddra i källkod

Add docs for order status pipeline

master
Sebastian Vetter 13 år sedan
förälder
incheckning
4a6a0aaf58
2 ändrade filer med 211 tillägg och 2 borttagningar
  1. 36
    0
      docs/source/getting_started.rst
  2. 175
    2
      docs/source/reference/settings.rst

+ 36
- 0
docs/source/getting_started.rst Visa fil

@@ -126,6 +126,41 @@ Then create the database and the shop should be browsable::
126 126
 
127 127
 You should now have a running Oscar install that you can browse.
128 128
 
129
+Defining the order pipeline
130
+---------------------------
131
+
132
+The order management in Oscar relies on the order pipeline that
133
+defines all the statuses an order can have and the possible transitions
134
+for any given status. Statuses in Oscar are not just used for an order
135
+but are handled on the line level as well to be able to handle partial
136
+shipping of an order.
137
+
138
+The order status pipeline is different for every shop which means that
139
+changing it is fairly straightforward in Oscar. The pipeline is defined in
140
+your ``settings.py`` file using the ``OSCAR_ORDER_STATUS_PIPELINE`` setting.
141
+You also need to specify the inital status for an order and a line item in
142
+``OSCAR_INITIAL_ORDER_STATUS`` and ``OSCAR_INITIAL_LINE_STATUS``
143
+respectively.
144
+
145
+To give you an idea of what an order pipeline might look like take a look
146
+at the Oscar sandbox settings::
147
+
148
+    OSCAR_INITIAL_ORDER_STATUS = 'Pending'
149
+    OSCAR_INITIAL_LINE_STATUS = 'Pending'
150
+    OSCAR_ORDER_STATUS_PIPELINE = {
151
+        'Pending': ('Being processed', 'Cancelled',),
152
+        'Being processed': ('Processed', 'Cancelled',),
153
+        'Cancelled': (),
154
+    }
155
+
156
+Defining the order status pipeline is simply a dictionary of where each
157
+status is given as a key. Possible transitions into other statuses can be
158
+specified as an interable of status names. An empty iterable defines an
159
+end point in the pipeline.
160
+
161
+With these three settings defined in your project you'll be able to see
162
+the different statuses in the order management dashboard.
163
+
129 164
 
130 165
 Install using Tangent's boilerplate django project
131 166
 ==================================================
@@ -185,6 +220,7 @@ Create database::
185 220
 
186 221
 And that should be it.
187 222
 
223
+
188 224
 Next steps
189 225
 ==========
190 226
 

+ 175
- 2
docs/source/reference/settings.rst Visa fil

@@ -11,6 +11,150 @@ Oscar provides a number of configurable settings used to confugre the system.
11 11
 Available settings
12 12
 ==================
13 13
 
14
+OSCAR_SHOP_NAME
15
+---------------
16
+
17
+Default: ``Oscar``
18
+
19
+The name of your e-commerce shop site.
20
+
21
+OSCAR_SHOP_TAGLINE
22
+------------------
23
+
24
+Default: ``Domain-driven e-Commerce for Django``
25
+
26
+The tagline that is displayed next to the shop name and in the browser title
27
+
28
+OSCAR_ORDER_STATUS_PIPELINE
29
+---------------------------
30
+
31
+The pipline defines the statuses that an order or line item can have and what
32
+transitions are allowed in any given status. The pipline is defined as a
33
+dictionary where the keys are the available statuses. Allowed transitions are
34
+defined as iterable values for the corresponding status. A sample pipline
35
+(as used in the Oscar sandbox) might look like this::
36
+
37
+    OSCAR_INITIAL_ORDER_STATUS = 'Pending'
38
+    OSCAR_INITIAL_LINE_STATUS = 'Pending'
39
+    OSCAR_ORDER_STATUS_PIPELINE = {
40
+        'Pending': ('Being processed', 'Cancelled',),
41
+        'Being processed': ('Processed', 'Cancelled',),
42
+        'Cancelled': (),
43
+    }
44
+
45
+OSCAR_INITIAL_ORDER_STATUS
46
+--------------------------
47
+
48
+The initial status used when a new order is submitted. This has to be a status
49
+that is defined in the ``OSCAR_ORDER_STATUS_PIPELINE``.
50
+
51
+OSCAR_INITIAL_LINE_STATUS
52
+-------------------------
53
+
54
+The status assigned to a line item when it is created as part of an new order. It
55
+has to be a status defined in ``OSCAR_ORDER_STATUS_PIPELINE``.
56
+
57
+OSCAR_ALLOW_ANON_CHECKOUT
58
+-------------------------
59
+
60
+Default: ``False``
61
+
62
+Specifies if an anonymous user can buy products without creating an account.
63
+If set to ``False`` a registered user is required to check out.
64
+
65
+OSCAR_PARTNER_WRAPPERS
66
+----------------------
67
+
68
+Default: ``{}``
69
+
70
+OSCAR_PROMOTION_MERCHANDISING_BLOCK_TYPES
71
+-----------------------------------------
72
+
73
+Default::
74
+
75
+    COUNTDOWN, LIST, SINGLE_PRODUCT, TABBED_BLOCK = (
76
+        'Countdown', 'List', 'SingleProduct', 'TabbedBlock')
77
+    OSCAR_PROMOTION_MERCHANDISING_BLOCK_TYPES = (
78
+        (COUNTDOWN, "Vertical list"),
79
+        (LIST, "Horizontal list"),
80
+        (TABBED_BLOCK, "Tabbed block"),
81
+        (SINGLE_PRODUCT, "Single product"),
82
+    )
83
+
84
+Defines the available promotion block types that can be used in Oscar.
85
+
86
+OSCAR_ALLOW_ANON_REVIEWS
87
+------------------------
88
+
89
+Default: ``True``
90
+
91
+This setting defines whether an anonymous user can create a review for
92
+a product without registering first. If it is set to ``True`` anonymous
93
+users can create product reviews.
94
+
95
+OSCAR_MODERATE_REVIEWS
96
+----------------------
97
+
98
+Default: ``False``
99
+
100
+This defines whether reviews have to be moderated before they are publicly
101
+available. If set to ``False`` a review created by a customer is immediately
102
+visible on the product page.
103
+
104
+OSCAR_EAGER_ALERTS
105
+------------------
106
+
107
+Default: ``True``
108
+
109
+This enables sending alert notifications/emails instantly when products get
110
+back in stock by listening to stock record update signals this might impact
111
+performace for large numbers stock record updates.
112
+Alternatively, the management command ``oscar_send_alerts`` can be used to
113
+run periodically, e.g. as a cronjob. In this case instant alerts should be
114
+disabled.
115
+
116
+OSCAR_SEND_REGISTRATION_EMAIL
117
+-----------------------------
118
+
119
+Default: ``True``
120
+
121
+Sending out *welcome* messages to a user after they have registered on the
122
+site can be enabled or disabled using this setting. Setting it to ``True``
123
+will send out emails on registration.
124
+
125
+OSCAR_FROM_EMAIL
126
+----------------
127
+
128
+Default: ``oscar@example.com``
129
+
130
+The email address used as the sender for all communication events and emails
131
+handled by Oscar.
132
+
133
+OSCAR_OFFER_BLACKLIST_PRODUCT
134
+-----------------------------
135
+
136
+Default: ``None``
137
+
138
+OSCAR_MAX_BASKET_QUANTITY_THRESHOLD
139
+-----------------------------------
140
+
141
+Default: ``None``
142
+
143
+OSCAR_BASKET_COOKIE_OPEN
144
+------------------------
145
+
146
+Default: ``oscar_open_basket``
147
+
148
+OSCAR_BASKET_COOKIE_SAVED
149
+-------------------------
150
+
151
+Default: ``oscar_saved_basket``
152
+
153
+OSCAR_COOKIES_DELETE_ON_LOGOUT
154
+------------------------------
155
+
156
+Default: ``['oscar_recently_viewed_products', ]``
157
+
14 158
 OSCAR_DEFAULT_CURRENCY
15 159
 ----------------------
16 160
 
@@ -51,11 +195,10 @@ Default: ``images/products/%Y/%m/``
51 195
 
52 196
 The path for uploading images to.
53 197
 
54
-
55 198
 OSCAR_RECENTLY_VIEWED_PRODUCTS
56 199
 ------------------------------
57 200
 
58
-Default: 4
201
+Default: 20
59 202
 
60 203
 The number of recently viewed products to store
61 204
 
@@ -67,6 +210,36 @@ Default: 10
67 210
 The number of suggestions that the search 'suggest' function should return
68 211
 at maximum
69 212
 
213
+OSCAR_IMAGE_FOLDER
214
+------------------
215
+
216
+Default: ``images/products/%Y/%m/``
217
+
218
+The location within the ``MEDIA_ROOT`` folder that is used to store product images.
219
+The folder name can contain date format strings as described in the `Django Docs`_.
220
+
221
+.. _`Django Docs`: https://docs.djangoproject.com/en/dev/ref/models/fields/#filefield
222
+
223
+OSCAR_PROMOTION_FOLDER
224
+----------------------
225
+
226
+Default: ``images/promotions/``
227
+
228
+The folder within ``MEDIA_ROOT`` used for uploaded promotion images.
229
+
230
+OSCAR_MISSING_IMAGE_URL
231
+-----------------------
232
+
233
+Default: ``image_not_found.jpg``
234
+
235
+Copy this image from oscar/static/img to your MEDIA_ROOT folder. It needs to
236
+be there so Sorl can resize it.
237
+
238
+OSCAR_UPLOAD_ROOT
239
+-----------------
240
+
241
+Default: ``/tmp``
242
+
70 243
 Deprecated settings
71 244
 ===================
72 245
 

Laddar…
Avbryt
Spara