/** * Update a stored item * @param $result * @return mixed */ public function updateStoredItem($result) { // validate input $jsonval = new JsonValidate($this->data, '{"id":1, "code":"", "qty":1, "name":"", "taxid":1, "price":-1}'); if (($errors = $jsonval->validate()) !== true) { $result['error'] = $errors; return $result; } // create model and check for duplicate stockcode $itemMdl = new StoredItemsModel(); $this->data->code = strtoupper($this->data->code); // make sure stockcode is upper case $dupitems = $itemMdl->get(null, $this->data->code); if (sizeof($dupitems) > 0) { $dupitem = $dupitems[0]; if ($dupitem['id'] != $this->data->id) { $result['error'] = "An item with that stockcode already exists"; return $result; } } // update the item $qresult = $itemMdl->edit($this->data->id, $this->data); if ($qresult === false) { $result['error'] = "Could not edit the item"; } else { $result['data'] = $this->data; // broadcast the item $socket = new WposSocketIO(); $socket->sendItemUpdate($this->data); // log data Logger::write("Item updated with id:" . $this->data->id, "ITEM", json_encode($this->data)); } return $result; }
private function getRecords() { // get items $itemMdl = new StoredItemsModel(); $this->items = $itemMdl->get(); // get items $authMdl = new AuthModel(); $this->users = $authMdl->get(null, null, null, false); // get locations $devMdl = new WposPosData(); $this->devices = $devMdl->getPosDevices([])['data']; }
/** * @param array $result * * @return array of stored item records */ public function getItems($result) { $storedItemsMdl = new StoredItemsModel(); $storedItems = $storedItemsMdl->get(); if (is_array($storedItems)) { $items = []; foreach ($storedItems as $storedItem) { $items[$storedItem['id']] = $storedItem; } $result['data'] = $items; } else { $result['error'] = $storedItemsMdl->errorInfo; } return $result; }