/** * get next number * */ public function testGetNextNumber() { $userId = Tinebase_Core::getUser()->getId(); $number = $this->_backend->getNext(Sales_Model_Number::TYPE_CONTRACT, $userId); $nextNumber = $this->_backend->getNext(Sales_Model_Number::TYPE_CONTRACT, $userId); $this->assertEquals($number->number + 1, $nextNumber->number); $this->assertEquals($number->type, $nextNumber->type); // reset or delete old number if ($number->number == 1) { $this->_backend->delete($number); } else { $number->number--; $this->_backend->update($number); } }
/** * get next number */ public function testGetNextNumber() { $userId = Tinebase_Core::getUser()->getId(); $number = $this->_backend->getNext('Sales_Model_Contract', $userId); $nextNumber = $this->_backend->getNext('Sales_Model_Contract', $userId); $this->assertEquals($number->number + 1, $nextNumber->number); $this->assertEquals($number->model, $nextNumber->model); // reset or delete old number if ($number->number == 1) { $this->_backend->delete($number); } else { $number->number--; $this->_backend->update($number); } }
/** * add one record * * @param Tinebase_Record_Interface $_record * @return Sales_Model_Contract */ public function create(Tinebase_Record_Interface $_record) { // add container $_record->container_id = self::getSharedContractsContainer()->getId(); // add number $numberBackend = new Sales_Backend_Number(); $number = $numberBackend->getNext(Sales_Model_Number::TYPE_CONTRACT, $this->_currentAccount->getId()); $_record->number = $number->number; return parent::create($_record); }
/** * decrease contracts number * */ protected function _decreaseNumber() { $numberBackend = new Sales_Backend_Number(); $number = $numberBackend->getNext('Sales_Model_Contract', Tinebase_Core::getUser()->getId()); // reset or delete old number if ($number->number == 2) { $numberBackend->delete($number); } else { $number->number -= 2; $numberBackend->update($number); } }
/** * adds the next available number to the record * * @param Tinebase_Record_Interface $record * @throws Tinebase_Exception */ protected function _addNextNumber($record) { if (!is_object(Tinebase_Core::getUser())) { throw new Tinebase_Exception('User required to create Number'); } $numberBackend = new Sales_Backend_Number(); $number = $numberBackend->getNext($this->_modelName, Tinebase_Core::getUser()->getId()); $record->{$this->_numberProperty} = intval($number->number); $this->_formatNumber($record); }