/** * @since version 0.85.5 * @see CommonDBRelation::canCreateItem() **/ function canCreateItem() { $ticket = new Ticket(); // Not item linked for closed tickets if ($ticket->getFromDB($this->fields['tickets_id']) && in_array($ticket->fields['status'], $ticket->getClosedStatusArray())) { return false; } return parent::canCreateItem(); }
/** * Don't create a Contract_Item on contract that is alreay max used * Was previously done (until 0.83.*) by Contract_Item::can() * * @see CommonDBRelation::canCreateItem() * * @since version 0.84 **/ function canCreateItem() { // Try to load the contract $contract = $this->getConnexityItem(static::$itemtype_1, static::$items_id_1); if ($contract === false) { return false; } if ($contract->fields['max_links_allowed'] > 0 && countElementsInTable($this->getTable(), "`contracts_id`='" . $this->input['contracts_id'] . "'") >= $contract->fields['max_links_allowed']) { return false; } return parent::canCreateItem(); }