NovinkaZverejnili sme 50+ Laravel balíkov ako open source
Custom AI apps, agents and automation — Roundly ConsultingRoundly
Všetky balíky
Reports for Laravel

Životný cyklus stavov

Každé hlásenie nesie enum Status a začína v stave Pending:

PrípadHodnotaOtvorený alebo koncový
Status::PendingpendingOtvorený — počiatočný stav.
Status::InReviewin_reviewOtvorený — moderátor ho posudzuje.
Status::ResolvedresolvedKoncový — hlásenie bolo oprávnené.
Status::RejectedrejectedKoncový — porušenie sa nepotvrdilo.
Status::ClosedclosedKoncový — vyriešené hlásenie, uzavreté.

Prechody

Presuny stráži tabuľka prechodov:

ZPovolený ďalší stav
PendingInReview, Resolved, Rejected
InReviewResolved, Rejected, Pending
ResolvedClosed, Pending
RejectedPending
ClosedPending
use RoundlyConsulting\Reports\Enums\Status;
use RoundlyConsulting\Reports\Facades\Reports;

$report->status;                                 // Status::Pending for a new report
Reports::review($report);                        // → InReview — fires ReportStatusChanged
Reports::review($report);                        // no-op when already in that status
Reports::changeStatus($report, Status::Closed);  // InReview → Closed is not declared: throws when strict

$report->changeStatusTo(Status::Pending);        // model shorthand — same path through the manager

Každý presun spúšťa ChangeReportStatusAction: pri každej skutočnej zmene vyvolá ReportStatusChanged a ak hlásenie už v cieľovom stave je, neurobí nič. Pri zapnutom strict_transitions vyhodí nedeklarovaný prechod InvalidStatusTransitionException; po vypnutí je povolený akýkoľvek prechod.

Pomocníci stavu

Status::transitions();                              // the full transition table
Status::Pending->allowedTransitions();              // [InReview, Resolved, Rejected]
Status::Resolved->canTransitionTo(Status::Closed);  // true
Status::Rejected->isTerminal();                     // true — Resolved, Rejected, Closed
Status::InReview->isOpen();                         // true — Pending, InReview
Status::open();                                     // [Status::Pending, Status::InReview]
Status::InReview->label();                          // "In Review"

Aj Status používa trait Helpers, takže Status::toOptions() a Status::validationRule() máte pripravené pre filtre a administračné formuláre.

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 kryptomien

Odoslaní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.