68 and create a create form. |
68 and create a create form. |
69 """ |
69 """ |
70 |
70 |
71 logic = params['logic'] |
71 logic = params['logic'] |
72 |
72 |
73 rights = {} |
73 rights = access.Checker(params) |
74 rights['unspecified'] = [] |
74 rights['unspecified'] = [] |
75 rights['any_access'] = [access.checkIsLoggedIn] |
75 rights['any_access'] = ['checkIsLoggedIn'] |
76 rights['show'] = [access.checkAgreesToSiteToS] |
76 rights['show'] = ['checkAgreesToSiteToS'] |
77 rights['create'] = [access.checkIsDeveloper] |
77 rights['create'] = ['checkIsDeveloper'] |
78 rights['edit'] = [access.checkIsDeveloper] |
78 rights['edit'] = ['checkIsDeveloper'] |
79 rights['delete'] = [access.checkIsDeveloper] |
79 rights['delete'] = ['checkIsDeveloper'] |
80 rights['list'] = [access.checkIsDeveloper] |
80 rights['list'] = ['checkIsDeveloper'] |
81 rights['pick'] = [access.checkHasPickGetArgs] |
81 rights['pick'] = ['checkHasPickGetArgs'] |
82 |
|
83 if 'rights' in params: |
|
84 rights = dicts.merge(params['rights'], rights) |
|
85 |
82 |
86 new_params = {} |
83 new_params = {} |
87 new_params['rights'] = rights |
|
88 new_params['scope_logic'] = logic.getScopeLogic() |
84 new_params['scope_logic'] = logic.getScopeLogic() |
89 |
85 |
90 if 'name_short' not in params: |
86 if 'name_short' not in params: |
91 params['name_short'] = params['name'] |
87 params['name_short'] = params['name'] |
92 |
88 |
212 params['edit_form'] = getEditForm(params, params['create_form']) |
208 params['edit_form'] = getEditForm(params, params['create_form']) |
213 |
209 |
214 if not 'key_fields_pattern' in params: |
210 if not 'key_fields_pattern' in params: |
215 params['key_fields_pattern'] = getKeyFieldsPattern(params) |
211 params['key_fields_pattern'] = getKeyFieldsPattern(params) |
216 |
212 |
|
213 # merge already done by access.Checker |
|
214 params['rights'] = rights |
|
215 |
217 return params |
216 return params |
218 |
217 |
219 |
218 |
220 def getCreateForm(params, model): |
219 def getCreateForm(params, model): |
221 """Constructs a new CreateForm using params. |
220 """Constructs a new CreateForm using params. |