public function render(Varien_Object $row) { if ($row->getAssignationWarehouse() == '-1') { return "<div style='color:grey;'>" . Mage::helper('advancedinventory')->__("Order placed before multistock initialization") . "</div>"; } $link_open = '<a class="assignation_cell" href="javascript:InventoryManager.changeAssignation(' . $row->getId() . ',' . $this->getRequest()->getParam('store', 0) . ',\'' . $this->getUrl('*/stocks/details') . '\')" title="' . Mage::helper('advancedinventory')->__('Change assignation') . '">'; $link_close = "</a>"; try { $data = Mage::helper('core')->jsonDecode($row->getAssignationStock()); } catch (Exception $e) { return "<span class='ai-error'>" . Mage::helper('advancedinventory')->__("Assignation error") . "</span>"; } $warehouses = array(); $warnings = 0; $items = Mage::helper('advancedinventory/data')->getOrderedItems($row); foreach ($items as $item) { $qty = 0; if (isset($data[$item["id"]]) && is_array($data[$item["id"]])) { foreach ($data[$item["id"]] as $wh => $q) { if ($q > 0) { if (!isset($warehouses[$wh])) { $warehouses[$wh] = 0; } $warehouses[$wh] += $q; } $qty += $q; } } if ($item['qty'] > $qty && Mage::getModel('advancedinventory/stock')->getMultiStockEnabledByProductId($item['id'])) { $warnings++; } } $assignations = array(); foreach ($warehouses as $wh => $qty) { $p = Mage::getModel('pointofsale/pointofsale')->load($wh); $assignations[] = "<div style='font-size:12px; color:green'>" . $p->getName() . '</div>'; } $return = $link_open; $return .= implode('', $assignations); $color = !Mage::helper('advancedinventory')->getAllowedOrder($row) ? "grey" : "red"; $bold = !Mage::helper('advancedinventory')->getAllowedOrder($row) ? "normal" : "bold"; if ($warnings == 1) { $return .= "<span style='color:{$color}; font-weight:{$bold}'>" . $warnings . " " . Mage::helper('advancedinventory')->__("item is not assigned") . "</span><br>"; } else { if ($warnings > 1) { $return .= "<span style='color:{$color}; font-weight:{$bold}'>" . $warnings . " " . Mage::helper('advancedinventory')->__("items are not assigned") . "</span><br>"; } else { if (!$warnings && !count($assignations)) { $return .= "<div style='color:grey;'>" . Mage::helper('advancedinventory')->__("No assignation required") . "</div>"; } } } $return .= $link_close; return "<div id='order_summary_" . $row->getId() . "'>" . $return . "</div>"; }