File tree Expand file tree Collapse file tree 2 files changed +64
-7
lines changed Expand file tree Collapse file tree 2 files changed +64
-7
lines changed Original file line number Diff line number Diff line change @@ -105,7 +105,7 @@ class Meta:
105
105
including start end end not of an edge.
106
106
"""
107
107
108
- manual_override = views .ManualOverrideView
108
+ override_view = views .ManualOverrideView
109
109
detail_view = views .ProcessDetailView
110
110
111
111
@classmethod
@@ -151,11 +151,14 @@ def urls(cls):
151
151
else :
152
152
route = '{name}/<pk>/' .format (name = name )
153
153
urls .append (path (route , cls ._wrap_view_instance (name , node ), name = name ))
154
- urls .extend ((
155
- path ('<pk>/' , cls .detail_view .as_view (model = cls ),
156
- name = 'detail' ),
157
- path ('<pk>/override' , cls .manual_override .as_view (model = cls ), name = 'override' ),
158
- ))
154
+ if cls .detail_view :
155
+ urls .append (
156
+ path ('<pk>/' , cls .detail_view .as_view (model = cls ), name = 'detail' )
157
+ )
158
+ if cls .override_view :
159
+ urls .append (
160
+ path ('<pk>/override' , cls .override_view .as_view (model = cls ), name = 'override' )
161
+ )
159
162
return urls , cls .get_url_namespace ()
160
163
161
164
@classmethod
Original file line number Diff line number Diff line change 4
4
from django .contrib .auth import get_user_model
5
5
from django .contrib .auth .models import AnonymousUser
6
6
from django .urls import reverse
7
- from django .utils import timezone
8
7
from django .utils .safestring import SafeString
9
8
from graphviz import Digraph
10
9
@@ -211,6 +210,61 @@ def test_cancel__with_anonymous_user(self, db):
211
210
process .cancel (user = user )
212
211
assert process .task_set .latest ().completed_by_user is None
213
212
213
+ def test_urls (self ):
214
+ patterns , namespace = models .SimpleProcess .urls ()
215
+ assert namespace == 'simpleprocess'
216
+ names = {pattern .name for pattern in patterns }
217
+ assert names == {
218
+ 'save_the_princess' ,
219
+ 'start_view' ,
220
+ 'override' ,
221
+ 'detail' ,
222
+ }
223
+
224
+ def test_urls__no_override (self ):
225
+ class TestProcess (Process ):
226
+ override_view = None
227
+ start = StartView ()
228
+ end = lambda s : None
229
+
230
+ edges = (
231
+ (start , end ),
232
+ )
233
+
234
+ class Meta :
235
+ abstract = True
236
+ app_label = 'testappp'
237
+
238
+ patterns , namespace = TestProcess .urls ()
239
+ assert namespace == 'testprocess'
240
+ names = {pattern .name for pattern in patterns }
241
+ assert names == {
242
+ 'start' ,
243
+ 'detail' ,
244
+ }
245
+
246
+ def test_urls__no_detail (self ):
247
+ class TestProcess (Process ):
248
+ detail_view = None
249
+ start = StartView ()
250
+ end = lambda s : None
251
+
252
+ edges = (
253
+ (start , end ),
254
+ )
255
+
256
+ class Meta :
257
+ abstract = True
258
+ app_label = 'testappp'
259
+
260
+ patterns , namespace = TestProcess .urls ()
261
+ assert namespace == 'testprocess'
262
+ names = {pattern .name for pattern in patterns }
263
+ assert names == {
264
+ 'start' ,
265
+ 'override' ,
266
+ }
267
+
214
268
215
269
class TestTaskQuerySet :
216
270
You can’t perform that action at this time.
0 commit comments