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

Pravidlá schvaľovania

Pravidlo — a kde treba, aj kvórum — zvolíte v builderi:

use RoundlyConsulting\Approvals\Enums\ApprovalRule;

// Any 2 of 3 managers (first-past-the-post quorum):
Requests::make()
    ->requireApprovalsFrom([$a, $b, $c])
    ->rule(ApprovalRule::Quorum)
    ->quorum(2)
    ->create();

// First approver wins:
Requests::make()->requireApprovalsFrom([$a, $b])->rule(ApprovalRule::Any)->create();

// Weighted — a senior approver (ProvidesApprovalWeight) clears the threshold alone:
Requests::make()
    ->requireApprovalsFrom([$senior, $junior])
    ->rule(ApprovalRule::Weighted)
    ->quorum(3)
    ->create();
PravidloŽiadosť je schválená, keď
ApprovalRule::Unanimousschválili všetci deklarovaní schvaľovatelia. Predvolené.
ApprovalRule::Quorumje k dispozícii quorum() schválení — ešte predtým, ako rozhodnú všetci.
ApprovalRule::Anypríde prvé schválenie.
ApprovalRule::Weightedsúčet váh schválení dosiahne quorum(). Každý schvaľovateľ má váhu 1, pokiaľ neimplementuje ProvidesApprovalWeight.

Vážení schvaľovatelia

Pri váženom pravidle implementujte na aktérovi ProvidesApprovalWeight. Parameter $approvable je práve posudzovaná žiadosť, takže váha môže závisieť od jej typu či meta údajov:

use Illuminate\Database\Eloquent\Model;
use RoundlyConsulting\Approvals\Interfaces\GivesApprovalsInterface;
use RoundlyConsulting\Approvals\Interfaces\ProvidesApprovalWeight;
use RoundlyConsulting\Approvals\Traits\GivesApprovals;

class User extends Model implements GivesApprovalsInterface, ProvidesApprovalWeight
{
    use GivesApprovals;

    // $approvable is the request being decided — weigh by role, amount, type…
    public function approvalWeight(?Model $approvable = null): int
    {
        return $this->is_director ? 3 : 1;
    }
}

Pri quorum(3) prekročí hranicu riaditeľ s váhou 3 sám; traja bežní schvaľovatelia s váhou 1 ju dosiahnu spoločne.

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.