protected function _mapModelToEricssonModel(array $data) { if (isset($data['shippingAddressIsCompanyAddress']) && $data['shippingAddressIsCompanyAddress'] && isset($data['shippingAddress'])) { unset($data['shippingAddress']); } if (isset($data['billingAddressIsCompanyAddress']) && $data['billingAddressIsCompanyAddress'] && isset($data['billingAddress'])) { unset($data['billingAddress']); } //Workaround: ericsson must accept orgId as serviceProviderEnablerId on enabler serviceProvider if (isset($data['id']) && isset($data['isEnabler']) && $data['isEnabler']) { $data['serviceProviderEnablerId'] = $data['id']; } if (isset($data['serviceProviderEnablerId'])) { $data['serviceProviderEnablerId'] = OrganizationMapper::cleanOrgId($data['serviceProviderEnablerId']); } return parent::_mapModelToEricssonModel($data); }
protected function _mapModelToEricssonModel(array $data) { $contactFields = array('otherContact_1', 'otherContact_2', 'otherContact_3'); foreach ($contactFields as $field) { if (isset($data[$field])) { \App_Util_Array::cleanEmptyItems($data[$field], false); if (empty($data[$field])) { $data[$field] = array('firstName' => '', 'lastName' => '', 'phone' => '', 'email' => '', 'mobile' => '', 'fax' => ''); } } } $data = parent::_mapModelToEricssonModel($data); //WORKAROUND Ericsson has a problem on protos. "defaultLanguage" must be in undescore. if (isset($data['default_language'])) { $data['defaultLanguage'] = $data['default_language']; } return $data; }
protected function _mapModelToEricssonModel(array $data) { if (isset($data['shippingAddressIsCompanyAddress']) && $data['shippingAddressIsCompanyAddress'] && isset($data['shippingAddress'])) { unset($data['shippingAddress']); } if (isset($data['billingContactIsPrimaryContact']) && $data['billingContactIsPrimaryContact'] && isset($data['billingContact'])) { unset($data['billingContact']); } if (isset($data['primaryContactAddressIsCompanyAddress']) && $data['primaryContactAddressIsCompanyAddress'] && isset($data['primaryContactAddress'])) { unset($data['primaryContactAddress']); } if (isset($data['billingContactAddressIsCompanyAddress']) && $data['billingContactAddressIsCompanyAddress'] && isset($data['billingContactAddress'])) { unset($data['billingContactAddress']); } if (!empty($data['billingAccounts'])) { // Ericsson issue foreach ($data['billingAccounts'] as &$billing) { if (isset($billing['regionId']) && $billing['regionId'] == -1) { unset($billing['regionId']); } if (isset($data['id']) || isset($billing['billingCycleStartDay']) && !$billing['billingCycleStartDay']) { unset($billing['billingCycleStartDay']); } if (empty($billing['taxes']['tax'])) { $billing['taxes'] = array(); } if (empty($billing['discounts']['discount'])) { $billing['discounts'] = array(); } if (!isset($billing['paymentMethod'])) { $billing['paymentMethod'] = ''; } if (!isset($billing['paymentRelatedData'])) { $billing['paymentRelatedData'] = ''; } } // Phantom field: 'billingAccount' $data['billingAccounts'] = array('billingAccount' => $data['billingAccounts']); } else { $data['billingAccounts'] = array(); } if (!empty($data['defaultBillingAccount'])) { // Ericsson issue if (isset($data['defaultBillingAccount']['regionId']) && $data['defaultBillingAccount']['regionId'] == -1) { unset($data['defaultBillingAccount']['regionId']); } if (isset($data['id']) || isset($data['defaultBillingAccount']['billingCycleStartDay']) && !$data['defaultBillingAccount']['billingCycleStartDay']) { unset($data['defaultBillingAccount']['billingCycleStartDay']); } if (empty($data['defaultBillingAccount']['taxes']['tax'])) { $data['defaultBillingAccount']['taxes'] = array(); } if (empty($data['defaultBillingAccount']['discounts']['discount'])) { $data['defaultBillingAccount']['discounts'] = array(); } if (!isset($data['defaultBillingAccount']['paymentMethod'])) { $data['defaultBillingAccount']['paymentMethod'] = ''; } if (!isset($data['defaultBillingAccount']['paymentRelatedData'])) { $data['defaultBillingAccount']['paymentRelatedData'] = ''; } } if (empty($data['taxes']['tax'])) { $data['taxes'] = array(); } if (empty($data['vpns']['vpn'])) { $data['vpns'] = array(); } else { if (isset($data['vpns'])) { foreach ($data['vpns']['vpn'] as &$vpn) { if ($vpn['ipType'] == Vpn::IP_TYPE_IPV4) { $vpn['ipType'] = \Application\Proto\Org\VpnList\Vpn\ProtocolType::IPV4; } else { if ($vpn['ipType'] == Vpn::IP_TYPE_IPV6) { $vpn['ipType'] = \Application\Proto\Org\VpnList\Vpn\ProtocolType::IPV6; } } } } } if (empty($data['discounts']['general'])) { $data['discounts'] = array(); } $this->_cleanBillingAccounts($data); //add discount ghost level if (isset($data['discounts']) && isset($data['discounts']['general'])) { $data['discounts']['general']['discount'] = $data['discounts']['general']; } return parent::_mapModelToEricssonModel($data); }