public function modifyVariableAction($farmId, $name)
{
$this->getFarm($farmId, Acl::PERM_FARMS_UPDATE);
$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, 0, $farmId);
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_FARM);
$this->updateGlobalVariable($globalVar, $variable, $object, $name, ScopeInterface::SCOPE_FARM, 0, $farmId);
$data = $this->getGlobalVariable($name, $globalVar, 0, $farmId);
return $this->result($adapter->convertData($data));
}