diff --git a/src/packages/com_mokowaas/admin/src/Controller/DisplayController.php b/src/packages/com_mokowaas/admin/src/Controller/DisplayController.php index dd77f61f..6664b77a 100644 --- a/src/packages/com_mokowaas/admin/src/Controller/DisplayController.php +++ b/src/packages/com_mokowaas/admin/src/Controller/DisplayController.php @@ -580,12 +580,40 @@ class DisplayController extends BaseController return; } - $input = Factory::getApplication()->getInput(); - $model = new \Moko\Component\MokoWaaS\Administrator\Model\PrivacyModel(); + $input = Factory::getApplication()->getInput(); + $model = new \Moko\Component\MokoWaaS\Administrator\Model\PrivacyModel(); + $action = $input->getString('action', 'deny'); + + if ($action === 'create') + { + $result = $model->createRequest( + $input->getInt('user_id', 0), + $input->getString('type', 'export') + ); + $this->jsonResponse($result); + return; + } + + if ($action === 'approve' && !$input->getInt('request_id', 0) && $input->getInt('user_id', 0)) + { + // Auto-process: create then immediately approve + $result = $model->createRequest( + $input->getInt('user_id', 0), + $input->getString('type', 'export') + ); + + if ($result['success'] && !empty($result['id'])) + { + $result = $model->processRequest((int) $result['id'], 'approve'); + } + + $this->jsonResponse($result); + return; + } $this->jsonResponse($model->processRequest( $input->getInt('request_id', 0), - $input->getString('action', 'deny') + $action )); } diff --git a/src/packages/com_mokowaas/admin/tmpl/privacy/default.php b/src/packages/com_mokowaas/admin/tmpl/privacy/default.php index 0b6f6f72..9fd993e6 100644 --- a/src/packages/com_mokowaas/admin/tmpl/privacy/default.php +++ b/src/packages/com_mokowaas/admin/tmpl/privacy/default.php @@ -53,6 +53,63 @@ $typeBadge = [ + +