---
title: "Udalosti — Approvals for Laravel | Roundly"
description: "Dvanásť udalostí pokrýva každý prechod — plus zastrešujúca ApprovalStatusChanged, cez ktorú všetky sledujete jedným listenerom."
url: https://roundly-consulting.com/sk/open-source/navody/approvals-for-laravel/udalosti
language: sk
---

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

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

# Udalosti

Každý prechod spustí udalosť s príslušným modelom. Všetky udalosti sú v RoundlyConsulting\\Approvals\\Events a obsah vystavujú ako verejné vlastnosti:

| Udalosť | Obsah | Kedy sa spustí |
| --- | --- | --- |
| `ApprovalRequested` | approval | vyžiada sa čakajúce rozhodnutie (ask()) |
| `ApprovalApproved` | approval | rozhodnutie sa schváli |
| `ApprovalRejected` | approval | rozhodnutie sa zamietne |
| `ApprovalCancelled` | approval | rozhodnutie sa stiahne — cez cancel(), vypnutím prepínača, alebo sa zruší nevybavené vyžiadanie, lebo jeho žiadosť sa vyhodnotila, jeho stupeň uzavrel alebo kolo uzavrela vaša aplikácia (close()) |
| `ApprovalExpired` | approval | čakajúce alebo schválené rozhodnutie vyprší |
| `ApprovalRequestResolved` | request | žiadosť skončí schválením, zamietnutím alebo vypršaním — alebo ju vaša aplikácia uzavrie ako zrušenú či expirovanú (close()); raz, až po zrušení nevybavených vyžiadaní |
| `ApprovalToggled` | actor, entity, hasBeenApproved | prebehne toggle() / toggleApproval() |
| `ApprovalStageOpened` | stage | viacstupňová žiadosť otvorí stupeň |
| `ApprovalStageCleared` | stage | stupeň prejde schválením |
| `ApprovalDelegated` | delegation | schvaľovateľ deleguje právomoc |
| `ApprovalDelegationRevoked` | delegation | delegovanie sa zruší |
| `ApprovalStatusChanged` | subject, from, to, actor | zastrešujúca — každý prechod stavu rozhodnutia či žiadosti, popri konkrétnej udalosti |

## Zastrešujúca udalosť

Prihláste sa na ApprovalStatusChanged raz a uvidíte všetky prechody: rozhodnutie schválené, zamietnuté, stiahnuté — aj prepínačom či zmenou názoru, ktorá ho nahradí — alebo expirované, nevybavené vyžiadanie zrušené po uzavretí jeho kola a žiadosť vyhodnotenú, expirovanú či uzavretú vašou aplikáciou. Nesie subjekt (zmenenú Approval alebo ApprovalRequest), stavy from a to typu ApprovalStatus a aktéra, ak je známy — pri vyhodnotenej žiadosti či zrušenom vyžiadaní je null:

```php
use RoundlyConsulting\Approvals\Events\ApprovalStatusChanged;

class AuditApprovalChanges
{
    public function handle(ApprovalStatusChanged $event): void
    {
        // $event->from, $event->to, $event->subject, $event->actor
        logger()->info("approval moved {$event->from->value} -> {$event->to->value}");
    }
}
```

## Konkrétne listenery

```php
use Illuminate\Support\Facades\Event;
use RoundlyConsulting\Approvals\Events\ApprovalApproved;
use RoundlyConsulting\Approvals\Events\ApprovalRequestResolved;

Event::listen(function (ApprovalApproved $event): void {
    $approval = $event->approval;   // the Approval model
});

Event::listen(function (ApprovalRequestResolved $event): void {
    $request = $event->request;     // approved, rejected or expired — see $request->status
    $subject = $request->subject;   // e.g. the Release
});
```

ask() vytvorí čakajúce rozhodnutie, žiadne nemení, preto spustí len ApprovalRequested. Zmeny stupňov a delegovanie tiež spúšťajú len vlastné udalosti — nie zastrešujúcu.

## Keď sa kolo uzavrie

Či kolo vyhodnotia jeho rozhodnutia, vyprší, alebo ho uzavrie vaša aplikácia, udalosti prídu vždy v rovnakom poradí: ApprovalCancelled a ApprovalStatusChanged pre každé zrušené vyžiadanie, potom ApprovalRequestResolved a nakoniec ApprovalStatusChanged pre žiadosť. Listener vyhodnotenia tak nikdy neuvidí vyžiadanie, ktoré na kole ešte čaká.

## 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/approvals-for-laravel.md)
