equal
deleted
inserted
replaced
80 """ |
80 """ |
81 |
81 |
82 new_rights = {} |
82 new_rights = {} |
83 new_rights['any_access'] = [access.checkIsUser] |
83 new_rights['any_access'] = [access.checkIsUser] |
84 |
84 |
|
85 new_params = {} |
|
86 new_params['create_redirect'] = '/%s' % params['name_short'].lower() |
|
87 new_params['missing_redirect'] = '/%s/create' % params['name_short'].lower() |
|
88 |
85 self._rights = dicts.merge(rights, new_rights) |
89 self._rights = dicts.merge(rights, new_rights) |
86 self._params = params |
90 self._params = dicts.merge(params, new_params) |
87 |
91 |
88 def public(self, request, page_name=None, params=None, **kwargs): |
92 def public(self, request, page_name=None, params=None, **kwargs): |
89 """Displays the public page for the entity specified by **kwargs |
93 """Displays the public page for the entity specified by **kwargs |
90 |
94 |
91 Args: |
95 Args: |
137 that combines a Django view with sidebar menu info |
141 that combines a Django view with sidebar menu info |
138 params: a dict with params for this View |
142 params: a dict with params for this View |
139 kwargs: not used for create() |
143 kwargs: not used for create() |
140 """ |
144 """ |
141 |
145 |
|
146 params = dicts.merge(params, self._params) |
|
147 |
142 # Create page is an edit page with no key fields |
148 # Create page is an edit page with no key fields |
143 empty_kwargs = {} |
149 empty_kwargs = {} |
144 fields = self._logic.getKeyFieldNames() |
150 fields = self._logic.getKeyFieldNames() |
145 for field in fields: |
151 for field in fields: |
146 empty_kwargs[field] = None |
152 empty_kwargs[field] = None |
147 |
153 |
148 request.path = helper.requests.replaceSuffix(request.path, |
154 request.path = params['create_redirect'] |
149 old_suffix='create') |
|
150 request.path = helper.requests.replaceSuffix(request.path, |
155 request.path = helper.requests.replaceSuffix(request.path, |
151 old_suffix='edit', |
156 old_suffix='edit', |
152 new_suffix='edit') |
157 new_suffix='edit') |
153 |
158 |
154 if not kwargs: |
159 if not kwargs: |
186 if not seed: |
191 if not seed: |
187 template = params['public_template'] |
192 template = params['public_template'] |
188 error.message = error.message + self.DEF_CREATE_NEW_ENTITY_MSG % { |
193 error.message = error.message + self.DEF_CREATE_NEW_ENTITY_MSG % { |
189 'entity_type_lower' : params['name'].lower(), |
194 'entity_type_lower' : params['name'].lower(), |
190 'entity_type' : params['name'], |
195 'entity_type' : params['name'], |
191 'create' : params['create_redirect'] |
196 'create' : params['missing_redirect'] |
192 } |
197 } |
193 return simple.errorResponse(request, page_name, error, template, context) |
198 return simple.errorResponse(request, page_name, error, template, context) |
194 |
199 |
195 if request.method == 'POST': |
200 if request.method == 'POST': |
196 return self.editPost(request, entity, context, params) |
201 return self.editPost(request, entity, context, params) |
338 except soc.logic.out_of_band.ErrorResponse, error: |
343 except soc.logic.out_of_band.ErrorResponse, error: |
339 template = params['edit_template'] |
344 template = params['edit_template'] |
340 error.message = error.message + self.DEF_CREATE_NEW_ENTITY_MSG % { |
345 error.message = error.message + self.DEF_CREATE_NEW_ENTITY_MSG % { |
341 'entity_type_lower' : params['name'].lower(), |
346 'entity_type_lower' : params['name'].lower(), |
342 'entity_type' : params['name'], |
347 'entity_type' : params['name'], |
343 'create' : params['create_redirect'] |
348 'create' : params['missing_redirect'] |
344 } |
349 } |
345 return simple.errorResponse(request, page_name, error, template, context) |
350 return simple.errorResponse(request, page_name, error, template, context) |
346 |
351 |
347 if not entity: |
352 if not entity: |
348 #TODO: Create a proper error page for this |
353 #TODO: Create a proper error page for this |