public function modifyVariableAction($farmRoleId, $name)
{
$farmRole = $this->getFarmRole($farmRoleId, null, true);
$object = $this->request->getJsonBody();
/* @var $adapter GlobalVariableAdapter */
$adapter = $this->adapter('globalVariable');
//Pre validates the request object
$adapter->validateObject($object, Request::METHOD_POST);
$globalVar = $this->getVariableInstance();
$variable = $this->getGlobalVariable($name, $globalVar, $farmRole->roleId, $farmRole->farmId, $farmRoleId);
if (empty($variable)) {
throw new ApiErrorException(404, ErrorMessage::ERR_OBJECT_NOT_FOUND, "Requested Global Variable does not exist.");
}
$entity = $this->makeGlobalVariableEntity($variable);
$adapter->copyAlterableProperties($object, $entity, ScopeInterface::SCOPE_FARMROLE);
$this->updateGlobalVariable($globalVar, $variable, $object, $name, ScopeInterface::SCOPE_FARMROLE, $farmRole->roleId, $farmRole->farmId, $farmRoleId);
$data = $this->getGlobalVariable($name, $globalVar, $farmRole->roleId, $farmRole->farmId, $farmRoleId);
return $this->result($adapter->convertData($data));
}