function history($request = null) { $id = intval($request->param("ID")); $buyableStockCalculatedQuantity = BuyableStockCalculatedQuantity::get()->byID($id); if ($buyableStockCalculatedQuantity) { $buyableStockCalculatedQuantity->ManualUpdates = BuyableStockManualUpdate::get()->filter(array('ParentID' => $buyableStockCalculatedQuantity->ID)); $buyableStockCalculatedQuantity->OrderEntries = BuyableStockOrderEntry::get()->filter(array('ParentID' => $buyableStockCalculatedQuantity->ID)); $graphArray = array(); if ($buyableStockCalculatedQuantity->ManualUpdates) { foreach ($buyableStockCalculatedQuantity->ManualUpdates as $obj) { } } if ($buyableStockCalculatedQuantity->OrderEntries) { foreach ($buyableStockCalculatedQuantity->OrderEntries as $obj) { } } return $this->customise($buyableStockCalculatedQuantity)->renderWith("AjaxStockControlPageHistory"); } else { return " could not find historical data"; } }
public static function get_by_buyable($buyable) { $obj = BuyableStockCalculatedQuantity::get()->filter(array('BuyableID' => $buyable->ID, 'BuyableClassName' => $buyable->ClassName))->First(); if ($obj) { //do nothing } else { $obj = new BuyableStockCalculatedQuantity(); $obj->BuyableID = $buyable->ID; $obj->BuyableClassName = $buyable->ClassName; } if ($obj) { if (isset($obj->ID) && $obj->exists() && $obj->UnlimitedStock == $buyable->UnlimitedStock) { //do nothing } else { $obj->UnlimitedStock = $buyable->UnlimitedStock; //we must write here to calculate quantities $obj->write(); } return $obj; } user_error("Could not find / create BuyableStockCalculatedQuantity for buyable with ID / ClassName " . $buyableID . "/" . $buyableClassName, E_WARNING); }