---
title: "Životný cyklus stavov — Reports for Laravel | Roundly"
description: "Päť stavov a tabuľka prechodov — hlásenia posúvate cez Reports::review(), close() alebo changeStatus(), strážené cez strict_transitions."
url: https://roundly-consulting.com/sk/open-source/navody/reports-for-laravel/zivotny-cyklus-stavov
language: sk
---

[Všetky balíky](https://roundly-consulting.com/sk/open-source.md)

[Reports for Laravel](https://roundly-consulting.com/sk/open-source/navody/reports-for-laravel.md)

# Životný cyklus stavov

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

| Prípad | Hodnota | Otvorený alebo koncový |
| --- | --- | --- |
| `Status::Pending` | pending | Otvorený — počiatočný stav. |
| `Status::InReview` | in\_review | Otvorený — moderátor ho posudzuje. |
| `Status::Resolved` | resolved | Koncový — hlásenie bolo oprávnené. |
| `Status::Rejected` | rejected | Koncový — porušenie sa nepotvrdilo. |
| `Status::Closed` | closed | Koncový — vyriešené hlásenie, uzavreté. |

## Prechody

Presuny stráži tabuľka prechodov:

| Z | Povolený ďalší stav |
| --- | --- |
| `Pending` | InReview, Resolved, Rejected |
| `InReview` | Resolved, Rejected, Pending |
| `Resolved` | Closed, Pending |
| `Rejected` | Pending |
| `Closed` | Pending |

```php
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

```php
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](https://roundly-consulting.com/sk/podporte-nas.md)

Odoslaním daru súhlasíte s našimi [podmienkami prijímania darov](https://roundly-consulting.com/sk/podmienky-darov.md).

[Podporte našu open-source prácu (otvorí sa v novej karte)](https://donate.stripe.com/dRmeVe8FX5PF1Qd9pXcEw00) [Pridajte sa k nám na Patreone (otvorí sa v novej karte)](https://www.patreon.com/cw/roundly)

## 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.

[Ponuka do 48 hodín](https://roundly-consulting.com/sk/kontakt.md) [Prezrieť všetky balíky](https://roundly-consulting.com/sk/open-source/navody/reports-for-laravel.md)
