---
title: "Predvoľby workflowov — Requests for Laravel | Roundly"
description: "Pravidlo, kvórum a stupne nadefinujte raz v config/approvals.php a žiadosti otvárajte podľa názvu predvoľby."
url: https://roundly-consulting.com/sk/open-source/navody/requests-for-laravel/predvolby-workflowov
language: sk
---

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

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

# Predvoľby workflowov

Opakovane používajte nastavenie pravidla, kvóra a stupňov z config('approvals.workflows'):

```php
// config/approvals.php
'workflows' => [
    'payout' => ['rule' => 'quorum', 'quorum' => 2, 'required_approvers' => 3],
    'release' => ['stages' => [
        ['rule' => 'unanimous', 'required_approvers' => 2, 'name' => 'engineering'],
        ['rule' => 'any', 'required_approvers' => 1, 'name' => 'product'],
    ]],
],
```

Žiadosť potom otvoríte podľa názvu predvoľby:

```php
// Flat preset — supply the approvers:
Requests::make()->workflow('payout')->requireApprovalsFrom([$a, $b, $c])->create();

// Staged preset — one approver group per stage:
Requests::make()->workflow('release')->stageApprovers([[$eng1, $eng2], [$product]])->create();
```

- Jednoduché predvoľby použijú modely schvaľovateľov odovzdané cez requireApprovalsFrom(); samotné id sa odmietne výnimkou InvalidApprover.
- Viacstupňové predvoľby dostanú jednu skupinu schvaľovateľov na stupeň cez stageApprovers().
- Workflow má prednosť pred stages() aj pred jednoduchým zoznamom schvaľovateľov.
- Pri viacstupňových predvoľbách platí reject\_on\_stage\_rejection z predvoľby, nie rejectOnStageRejection() z buildera.
- Neznáma alebo chybná predvoľba vyhodí výnimku enginu UnknownWorkflowException.

## Expirácia predvoľby a termín žiadosti

Kolo z predvoľby vyprší spolu so žiadosťou: expires\_at žiadosti (z expiresAt() alebo default\_ttl) nahradí pre toto kolo vlastné expiry predvoľby, a to pre každý stupeň viacstupňovej predvoľby — pri vytvorení aj pri novom kole, ktoré otvorí reopen(). Žiadosť bez termínu si ponechá expiry predvoľby, prípadne žiadne:

```php
// 'payout' => [..., 'expiry' => 3600]
Requests::make()->workflow('payout')->requireApprovalsFrom([$a])->expiresAt(now()->addDays(7))->create(); // round expires in 7 days
Requests::make()->workflow('payout')->requireApprovalsFrom([$a])->create();                               // no deadline: round expires in 1 hour
```

## Kľúče predvoľby

| Kľúč | Platí pre | Význam |
| --- | --- | --- |
| `rule` | jednoduchú predvoľbu, každý stupeň | unanimous, quorum, any alebo weighted (predvolene unanimous). |
| `quorum` | jednoduchú predvoľbu, každý stupeň | Celočíselná hranica pre quorum / weighted. |
| `required_approvers` | jednoduchú predvoľbu, každý stupeň | Koľko schvaľovateľov pravidlo počíta; pri každom stupni povinné a kladné. |
| `name` | každý stupeň | Názov stupňa, dostupný cez currentStage()->name. |
| `stages` | viacstupňovú predvoľbu | Neprázdny zoznam polí stupňov — jeho prítomnosť robí predvoľbu viacstupňovou. |
| `reject_on_stage_rejection` | viacstupňovú predvoľbu | Či zamietnutý stupeň zamietne celú žiadosť (predvolene true). |
| `expiry` | akúkoľvek predvoľbu | Sekundy, po ktorých schvaľovacie kolo enginu vyprší — platí len pre žiadosť bez vlastného termínu; inak kolo prevezme expires\_at žiadosti. |

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