14 use Zend\Mvc\Controller\AbstractActionController;
15 use Zend\View\Model\JsonModel;
59 $this->moduleStatus = $moduleStatusFactory->
create();
70 $packages = Json::decode($this->getRequest()->getContent(), Json::TYPE_ARRAY);
72 foreach ($packages as $package) {
73 $data[] = implode(
' ', $package);
75 $dependencyCheck = $this->dependencyReadinessCheck->runReadinessCheck(
$data);
77 if (!$dependencyCheck[
'success']) {
79 $data[
'errorMessage'] = $dependencyCheck[
'error'];
81 $data[
'responseType'] = $responseType;
82 return new JsonModel(
$data);
93 $packages = Json::decode($this->getRequest()->getContent(), Json::TYPE_ARRAY);
95 $packagesToDelete = [];
96 foreach ($packages as $package) {
97 $packagesToDelete[] = $package[
'name'];
100 $dependencyCheck = $this->uninstallDependencyCheck->runUninstallReadinessCheck($packagesToDelete);
102 if (!$dependencyCheck[
'success']) {
104 $data[
'errorMessage'] = $dependencyCheck[
'error'];
106 $data[
'responseType'] = $responseType;
107 return new JsonModel(
$data);
118 $data = Json::decode($this->getRequest()->getContent(), Json::TYPE_ARRAY);
121 if (empty(
$data[
'packages'])) {
122 throw new \Exception(
'No packages have been found.');
125 if (empty(
$data[
'type'])) {
126 throw new \Exception(
'Can not determine the flow.');
129 $modules =
$data[
'packages'];
131 $isEnable = (
$data[
'type'] !==
'disable');
133 $modulesToChange = [];
134 foreach ($modules as $module) {
135 if (!isset($module[
'name'])) {
136 throw new \Exception(
'Can not find module name.');
138 $modulesToChange[] = $module[
'name'];
141 $constraints = $this->moduleStatus->checkConstraints($isEnable, $modulesToChange);
145 $data[
'errorMessage'] =
"Unable to change status of modules because of the following constraints: " 146 . implode(
"<br>", $constraints);
151 $data[
'errorMessage'] = $e->getMessage();
154 $data[
'responseType'] = $responseType;
155 return new JsonModel(
$data);
$uninstallDependencyCheck
uninstallDependencyCheckAction()
const RESPONSE_TYPE_SUCCESS
enableDisableDependencyCheckAction()
__construct(DependencyReadinessCheck $dependencyReadinessCheck, UninstallDependencyCheck $uninstallDependencyCheck, ModuleStatusFactory $moduleStatusFactory)
const RESPONSE_TYPE_ERROR
$dependencyReadinessCheck
componentDependencyAction()