Nastavenia tímu
Každý tím má niekoľko typovaných nastavení, ktoré sa ukladajú cez options-for-laravel. Nenastavené hodnoty sa vrátia na predvolené, takže tím, ktorý na nastavenia nesiahne, sa správa presne ako doteraz:
use RoundlyConsulting\Teams\Enums\JoinPolicy;
use RoundlyConsulting\Teams\Facades\Teams;
Teams::for($team)->settings()
->setJoinPolicy(JoinPolicy::Open) // Open | Request (default) | InviteOnly
->setMaxSeats(50) // null = unlimited (default)
->setDefaultMemberRole('member') // overrides teams.roles.default for this team
->setRequireApprovalToJoin(true); // hold Open-team requests pending
$settings = Teams::for($team)->settings();
$settings->joinPolicy(); // JoinPolicy enum
$settings->maxSeats(); // ?int
$settings->defaultMemberRole(); // ?string
$settings->requireApprovalToJoin(); // bool| Trieda option | Predvolené | Účinok |
|---|---|---|
JoinPolicy | Request | InviteOnly: joinRequests()->open() vyhodí TeamsException. Open: žiadosť o predvolenú rolu sa automaticky schváli a žiadateľ sa pridá s ňou; žiadosť o inú rolu čaká. Request: každá žiadosť čaká na rozhodnutie. |
MaxSeats | null (bez limitu) | Pridanie nového člena vyhodí TeamsException, keď počet aktívnych členov dosiahne limit. |
DefaultMemberRole | null | Rola pri schválení žiadosti bez zadanej roly; inak platí roles.default. |
RequireApprovalToJoin | false | Žiadosti do tímu s pravidlom Open nechá čakať namiesto automatického schválenia. |
Hodnota null v setMaxSeats() alebo setDefaultMemberRole() uloženú hodnotu odstráni a obnoví predvolenú.
Čítanie a zápis jednej hodnoty
Každé nastavenie je trieda option v RoundlyConsulting\Teams\Options, takže ho môžete adresovať priamo:
use RoundlyConsulting\Teams\Options\MaxSeats;
$team->option(MaxSeats::class)->set(50);Plný tím
use RoundlyConsulting\Teams\Exceptions\TeamsException;
try {
Teams::for($team)->members()->add($user, 'member');
} catch (TeamsException $e) {
// "This team has reached its seat limit of 50."
}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 kryptomienOdoslaní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.