|
|
@@ -57,31 +57,28 @@ class EditRessourceDataProvider extends BaseDataProvider
|
|
|
throw new \Exception($result->getLastError());
|
|
|
}
|
|
|
|
|
|
- logModuleCall(
|
|
|
- 'zimbraEmail',
|
|
|
- __FUNCTION__,
|
|
|
- $result,
|
|
|
- 'Debug Ressource',
|
|
|
- $this->availableValues
|
|
|
- );
|
|
|
-
|
|
|
- $mailBoxParams = explode('@', $result->getName());
|
|
|
- $this->data['id'] = $result->getId();
|
|
|
- $this->data['username'] = $mailBoxParams[0];
|
|
|
- $this->data['domain'] = $mailBoxParams[1];
|
|
|
- $this->data['display_name'] = $result->getDataResourceA(Ressource::ATTR_DISPLAY_NAME);
|
|
|
- $this->data['status'] = $result->getDataResourceA(Ressource::ATTR_STATUS);
|
|
|
- $this->data['title'] = $result->getDataResourceA(Ressource::ATTR_PROF_TITLE);
|
|
|
- $this->data['phone'] = $result->getDataResourceA(Ressource::ATTR_PHONE);
|
|
|
- $this->data['home_phone'] = $result->getDataResourceA(Ressource::ATTR_HOME_PHONE);
|
|
|
- $this->data['mobile_phone'] = $result->getDataResourceA(Ressource::ATTR_MOBILE_PHONE);
|
|
|
- $this->data['fax'] = $result->getDataResourceA(Ressource::ATTR_FAX);
|
|
|
- $this->data['pager'] = $result->getDataResourceA(Ressource::ATTR_PAGER);
|
|
|
- $this->data['country'] = $result->getDataResourceA(Ressource::ATTR_COUNTRY);
|
|
|
- $this->data['city'] = $result->getDataResourceA(Ressource::ATTR_CITY);
|
|
|
- $this->data['street'] = $result->getDataResourceA(Ressource::ATTR_STREET);
|
|
|
- $this->data['post_code'] = $result->getDataResourceA(Ressource::ATTR_POSTAL_CODE);
|
|
|
- $this->data['state'] = $result->getDataResourceA(Ressource::ATTR_STATE);
|
|
|
+ $mailBoxParams = explode('@', $result->getName());
|
|
|
+ $this->data['id'] = $result->getId();
|
|
|
+ $this->data['username'] = $mailBoxParams[0];
|
|
|
+ $this->data['domain'] = $mailBoxParams[1];
|
|
|
+ $this->data['status'] = $result->getDataResourceA(Ressource::ATTR_STATUS);
|
|
|
+ $this->data['type'] = $result->getDataResourceA(Ressource::ATTR_TYPE);
|
|
|
+ $this->data['display_name'] = $result->getDataResourceA(Ressource::ATTR_DISPLAY_NAME);
|
|
|
+ $this->data['description'] = $result->getDataResourceA(Ressource::ATTR_DESC);
|
|
|
+ $this->data['capacity'] = $result->getDataResourceA(Ressource::ATTR_CAPACITY);
|
|
|
+ $this->data['notes'] = $result->getDataResourceA(Ressource::ATTR_NOTE);
|
|
|
+ $this->data['contact'] = $result->getDataResourceA(Ressource::ATTR_CONT);
|
|
|
+ $this->data['site'] = $result->getDataResourceA(Ressource::ATTR_SITE);
|
|
|
+ $this->data['contact_mail'] = $result->getDataResourceA(Ressource::ATTR_CONT_EMAIL);
|
|
|
+ $this->data['contact_phone'] = $result->getDataResourceA(Ressource::ATTR_CONT_PHONE);
|
|
|
+ $this->data['street'] = $result->getDataResourceA(Ressource::ATTR_STREET);
|
|
|
+ $this->data['building'] = $result->getDataResourceA(Ressource::ATTR_BUILDING);
|
|
|
+ $this->data['floor'] = $result->getDataResourceA(Ressource::ATTR_FLOOR);
|
|
|
+ $this->data['room'] = $result->getDataResourceA(Ressource::ATTR_ROOM);
|
|
|
+ $this->data['post_code'] = $result->getDataResourceA(Ressource::ATTR_POSTAL_CODE);
|
|
|
+ $this->data['town'] = $result->getDataResourceA(Ressource::ATTR_TOWN);
|
|
|
+ $this->data['state'] = $result->getDataResourceA(Ressource::ATTR_STATE);
|
|
|
+ $this->data['county'] = $result->getDataResourceA(Ressource::ATTR_COUNTY);
|
|
|
|
|
|
$lang = di('lang');
|
|
|
$this->availableValues['status'] = [
|
|
|
@@ -93,8 +90,6 @@ class EditRessourceDataProvider extends BaseDataProvider
|
|
|
Zimbra::ACC_STATUS_PENDING => $lang->absoluteT('zimbra','account','status','pending')
|
|
|
];
|
|
|
|
|
|
- $this->readCosParams();
|
|
|
-
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -107,8 +102,26 @@ class EditRessourceDataProvider extends BaseDataProvider
|
|
|
*/
|
|
|
$hid = $this->request->get('id');
|
|
|
|
|
|
-
|
|
|
- $fieldToProtection = ['firstname', 'lastname', 'display_name', 'company', 'title', 'country', 'state', 'city', 'street', 'post_code' ];
|
|
|
+ $fieldToProtection = [
|
|
|
+ 'display_name',
|
|
|
+ 'status',
|
|
|
+ 'type',
|
|
|
+ 'capacity',
|
|
|
+ 'description',
|
|
|
+ 'notes',
|
|
|
+ 'contact',
|
|
|
+ 'site',
|
|
|
+ 'contact_mail',
|
|
|
+ 'contact_phone',
|
|
|
+ 'street',
|
|
|
+ 'building',
|
|
|
+ 'floor',
|
|
|
+ 'room',
|
|
|
+ 'post_code',
|
|
|
+ 'town',
|
|
|
+ 'state',
|
|
|
+ 'county'
|
|
|
+ ];
|
|
|
|
|
|
foreach ($this->formData as $field => &$value)
|
|
|
{
|
|
|
@@ -129,7 +142,7 @@ class EditRessourceDataProvider extends BaseDataProvider
|
|
|
->getApiByHosting($hid)
|
|
|
->soap
|
|
|
->service()
|
|
|
- ->updateRessource($productManager->get('cos_name'));
|
|
|
+ ->updateRessource();
|
|
|
/**
|
|
|
*
|
|
|
* set product manager & form data to service
|
|
|
@@ -250,108 +263,4 @@ class EditRessourceDataProvider extends BaseDataProvider
|
|
|
|
|
|
return (new HtmlDataJsonResponse())->setMessageAndTranslate('passwordChangedSuccessfully')->setStatusSuccess();
|
|
|
}
|
|
|
-
|
|
|
- /**
|
|
|
- *
|
|
|
- */
|
|
|
- public function readCosParams()
|
|
|
- {
|
|
|
- $hid = $this->getRequestValue('id');
|
|
|
- /**
|
|
|
- * product manager allow to check product settings
|
|
|
- */
|
|
|
- $productManager = new ProductManager();
|
|
|
- $productManager->loadByHostingId($hid);
|
|
|
- if($productManager->get('cos_name') === ClassOfServices::CLASS_OF_SERVICE_QUOTA)
|
|
|
- {
|
|
|
- /**
|
|
|
- *
|
|
|
- * get soap create domain service
|
|
|
- */
|
|
|
- $api =(new ZimbraManager())
|
|
|
- ->getApiByHosting($hid)
|
|
|
- ->soap;
|
|
|
-
|
|
|
- /**
|
|
|
- *
|
|
|
- * get cos from API
|
|
|
- */
|
|
|
- $classOfServices = $api->repository()->cos->all();
|
|
|
-
|
|
|
- /**
|
|
|
- *
|
|
|
- * load configurable options coses
|
|
|
- */
|
|
|
- $supportedCos = $productManager->getSettingCos();
|
|
|
-
|
|
|
- /**
|
|
|
- *
|
|
|
- * add COS to array
|
|
|
- */
|
|
|
- $configoptions = $this->getFilteredCosConfigurableOptions();
|
|
|
- foreach($classOfServices as $cos)
|
|
|
- {
|
|
|
- /**
|
|
|
- *
|
|
|
- *
|
|
|
- * skip COS which is not used in configurable options
|
|
|
- */
|
|
|
- if(!($supportedCos && array_key_exists($cos->getId(), $supportedCos)))
|
|
|
- {
|
|
|
- continue;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- *
|
|
|
- * skip if class of services doesnt exists in config option list
|
|
|
- */
|
|
|
- if($configoptions && !array_key_exists('cosQuota_'.$cos->getId(), $configoptions))
|
|
|
- {
|
|
|
- continue;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * skip not purchased as CO
|
|
|
- */
|
|
|
- if ($configoptions && $configoptions['cosQuota_'.$cos->getId()] == 0)
|
|
|
- {
|
|
|
- continue;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 1. check if config opts are not available
|
|
|
- * 2. skip if quantity === 0
|
|
|
- */
|
|
|
- if(!$configoptions && $supportedCos[$cos->getId()] == 0)
|
|
|
- {
|
|
|
- continue;
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- /* @var $cos ClassOfService*/
|
|
|
- $this->availableValues['cosId'][$cos->getId()] = $cos->getMbMailQuote().' MB';
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * @return bool|mixed
|
|
|
- */
|
|
|
- protected function getFilteredCosConfigurableOptions()
|
|
|
- {
|
|
|
- $configoptions = $this->getWhmcsParamByKey('configoptions');
|
|
|
-
|
|
|
- foreach($configoptions as $key => $value)
|
|
|
- {
|
|
|
- if(strpos($key, ClassOfServicesOptions::COS_CONFIG_OPT_PREFIX) === false)
|
|
|
- {
|
|
|
- unset($configoptions[$key]);
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- return $configoptions;
|
|
|
- }
|
|
|
-
|
|
|
}
|