mirror of
https://github.com/moodle/moodle.git
synced 2025-03-14 12:40:01 +01:00
MDL-74341 reportbuilder: re-factor audience form permission checks.
This commit is contained in:
parent
b5f51883f0
commit
c00a97c527
@ -106,6 +106,9 @@ class audience extends dynamic_form {
|
||||
protected function check_access_for_dynamic_submission(): void {
|
||||
$audience = $this->get_audience();
|
||||
|
||||
$report = $audience->get_persistent()->get_report();
|
||||
permission::require_can_edit_report($report);
|
||||
|
||||
// Check whether we are able to add/edit the current audience.
|
||||
$audience->get_persistent()->get('id') === 0
|
||||
? $audience->require_user_can_add()
|
||||
@ -121,10 +124,6 @@ class audience extends dynamic_form {
|
||||
$formdata = $this->get_data();
|
||||
$audience = $this->get_audience();
|
||||
|
||||
// Check permissions.
|
||||
$report = manager::get_report_from_id($formdata->reportid);
|
||||
permission::require_can_edit_report($report->get_report_persistent());
|
||||
|
||||
$configdata = $audience::retrieve_configdata($formdata);
|
||||
if (!$formdata->id) {
|
||||
// New audience.
|
||||
|
@ -254,7 +254,7 @@ abstract class base {
|
||||
*
|
||||
* @throws report_access_exception
|
||||
*/
|
||||
public function require_user_can_add(): void {
|
||||
final public function require_user_can_add(): void {
|
||||
if (!$this->user_can_add()) {
|
||||
throw new report_access_exception('errorreportedit');
|
||||
}
|
||||
@ -265,7 +265,7 @@ abstract class base {
|
||||
*
|
||||
* @throws report_access_exception
|
||||
*/
|
||||
public function require_user_can_edit(): void {
|
||||
final public function require_user_can_edit(): void {
|
||||
if (!$this->user_can_edit()) {
|
||||
throw new report_access_exception('errorreportedit');
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user