73 |
73 |
74 new_params['extra_django_patterns'] = [ |
74 new_params['extra_django_patterns'] = [ |
75 (r'^%(url_name)s/create/(?P<scope_path>%(ulnp)s)$', |
75 (r'^%(url_name)s/create/(?P<scope_path>%(ulnp)s)$', |
76 'soc.views.models.%(module_name)s.create', 'Create %(name_short)s')] |
76 'soc.views.models.%(module_name)s.create', 'Create %(name_short)s')] |
77 |
77 |
|
78 new_params['scope_redirect'] = redirects.getCreateRedirect |
|
79 |
78 params = dicts.merge(params, new_params) |
80 params = dicts.merge(params, new_params) |
79 |
81 |
80 super(View, self).__init__(params=params) |
82 super(View, self).__init__(params=params) |
81 |
|
82 def create(self, request, **kwargs): |
|
83 """Specialized create view to enforce needing a scope_path |
|
84 |
|
85 This view simply gives control to the base.View.create if the |
|
86 scope_path is specified in kwargs. If it is not present, it |
|
87 instead displays the result of self.select. Refer to the |
|
88 respective docstrings on what they do. |
|
89 |
|
90 Args: |
|
91 see base.View.create |
|
92 """ |
|
93 |
|
94 if 'scope_path' in kwargs: |
|
95 return super(View, self).create(request, **kwargs) |
|
96 |
|
97 view = sponsor_view.view |
|
98 redirect = redirects.getCreateRedirect |
|
99 return self.select(request, view, redirect, **kwargs) |
|
100 |
83 |
101 |
84 |
102 view = View() |
85 view = View() |
103 |
86 |
104 create = view.create |
87 create = view.create |