Všetky balíky
Tickets for Laravel
Projekty
Projekty sú len kontrakt — implementuje ho váš vlastný model (alebo budúci balík projektov):
use RoundlyConsulting\Tickets\Concerns\HasTickets;
use RoundlyConsulting\Tickets\Contracts\TicketProject;
final class Project extends Model implements TicketProject
{
use HasTickets;
public function ticketReferencePrefix(): string
{
return $this->key; // 'SUP' → SUP-1, SUP-2, …; ^[A-Z][A-Z0-9]{0,9}$, unique across projects
}
}
$ticket = $project->openTicket()->subject('…')->requester($user)->create(); // SUP-1
Tickets::project($project)->tickets()->unresolved()->count();
Tickets::project($project)->for('SUP-1'); // a ticket of another project throws
Tickets::project($project)->categories(); // global + the project's- Každý projekt čísluje tikety vo vlastnej postupnosti; prefix musí zodpovedať ^[A-Z][A-Z0-9]{0,9}$ a byť unikátny naprieč projektmi (inak DuplicateTicketReferenceException).
- Kategórie, polia a štítky sú globálne alebo projektové; kategória, polia a štítky tiketu musia byť globálne alebo z jeho projektu.
- Projekt sa nastaví raz, pri založení — presun tiketu medzi projektmi nie je podporovaný.
- Pre API a filter[project]=project:42 pridajte triedu do tickets.projects (['project' => Project::class]).
- Prepojenia a zlučovanie medzi projektmi riadia tickets.links.cross_project (zapnuté) a tickets.merge.cross_project (vypnuté); AgentScope môže agentov udržať pri ich projektoch (pozrite Policy a rozsah agentov).
Prejavte lásku k open source
Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.
Ďalšie spôsoby podpory vrátane kryptomienOdoslaním daru súhlasíte s našimi podmienkami prijímania darov.
Chcete to zabudovať do svojho produktu?
Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.