@@ 129-143 (lines=15) @@ | ||
126 | { |
|
127 | Capabilities::verifyAtLeastPartialAccessTo($model, EEM_Base::caps_edit, 'create'); |
|
128 | $default_cap_to_check_for = EE_Restriction_Generator_Base::get_default_restrictions_cap(); |
|
129 | if (! current_user_can($default_cap_to_check_for)) { |
|
130 | throw new RestException( |
|
131 | 'rest_cannot_create_' . EEH_Inflector::pluralize_and_lower(($model->get_this_model_name())), |
|
132 | sprintf( |
|
133 | esc_html__( |
|
134 | // @codingStandardsIgnoreStart |
|
135 | 'For now, only those with the admin capability to "%1$s" are allowed to use the REST API to insert data into Event Espresso.', |
|
136 | // @codingStandardsIgnoreEnd |
|
137 | 'event_espresso' |
|
138 | ), |
|
139 | $default_cap_to_check_for |
|
140 | ), |
|
141 | array('status' => 403) |
|
142 | ); |
|
143 | } |
|
144 | $submitted_json_data = array_merge((array) $request->get_body_params(), (array) $request->get_json_params()); |
|
145 | $model_data = ModelDataTranslator::prepareConditionsQueryParamsForModels( |
|
146 | $submitted_json_data, |
|
@@ 181-195 (lines=15) @@ | ||
178 | { |
|
179 | Capabilities::verifyAtLeastPartialAccessTo($model, EEM_Base::caps_edit, 'edit'); |
|
180 | $default_cap_to_check_for = EE_Restriction_Generator_Base::get_default_restrictions_cap(); |
|
181 | if (! current_user_can($default_cap_to_check_for)) { |
|
182 | throw new RestException( |
|
183 | 'rest_cannot_edit_' . EEH_Inflector::pluralize_and_lower(($model->get_this_model_name())), |
|
184 | sprintf( |
|
185 | esc_html__( |
|
186 | // @codingStandardsIgnoreStart |
|
187 | 'For now, only those with the admin capability to "%1$s" are allowed to use the REST API to update data into Event Espresso.', |
|
188 | // @codingStandardsIgnoreEnd |
|
189 | 'event_espresso' |
|
190 | ), |
|
191 | $default_cap_to_check_for |
|
192 | ), |
|
193 | array('status' => 403) |
|
194 | ); |
|
195 | } |
|
196 | $obj_id = $request->get_param('id'); |
|
197 | if (! $obj_id) { |
|
198 | throw new RestException( |
|
@@ 235-249 (lines=15) @@ | ||
232 | { |
|
233 | Capabilities::verifyAtLeastPartialAccessTo($model, EEM_Base::caps_delete, 'delete'); |
|
234 | $default_cap_to_check_for = EE_Restriction_Generator_Base::get_default_restrictions_cap(); |
|
235 | if (! current_user_can($default_cap_to_check_for)) { |
|
236 | throw new RestException( |
|
237 | 'rest_cannot_delete_' . EEH_Inflector::pluralize_and_lower(($model->get_this_model_name())), |
|
238 | sprintf( |
|
239 | esc_html__( |
|
240 | // @codingStandardsIgnoreStart |
|
241 | 'For now, only those with the admin capability to "%1$s" are allowed to use the REST API to delete data into Event Espresso.', |
|
242 | // @codingStandardsIgnoreEnd |
|
243 | 'event_espresso' |
|
244 | ), |
|
245 | $default_cap_to_check_for |
|
246 | ), |
|
247 | array('status' => 403) |
|
248 | ); |
|
249 | } |
|
250 | $obj_id = $request->get_param('id'); |
|
251 | // this is where we would apply more fine-grained caps |
|
252 | $model_obj = $model->get_one_by_ID($obj_id); |
@@ 26-41 (lines=16) @@ | ||
23 | */ |
|
24 | protected function verifyCurrentUserCan($required_permission, $attempted_calculation) |
|
25 | { |
|
26 | if (! current_user_can($required_permission)) { |
|
27 | throw new RestException( |
|
28 | 'permission_denied', |
|
29 | sprintf( |
|
30 | __( |
|
31 | // @codingStandardsIgnoreStart |
|
32 | 'Permission denied, you cannot calculate %1$s on %2$s because you do not have the capability "%3$s"', |
|
33 | // @codingStandardsIgnoreEnd |
|
34 | 'event_espresso' |
|
35 | ), |
|
36 | $attempted_calculation, |
|
37 | EEH_Inflector::pluralize_and_lower($this->getResourceName()), |
|
38 | $required_permission |
|
39 | ) |
|
40 | ); |
|
41 | } |
|
42 | } |
|
43 | ||
44 |