Files
Starseed/src/Shared/Domain/Contract/BusinessRoleAwareInterface.php
T
tristan b8dc3cb696
Auto Tag Develop / tag (push) Successful in 7s
Correctifs écran Client (ERP-115) (#76)
Lot de correctifs sur l'écran Client (M1), + un retrait de règle métier et une petite fonctionnalité.

## Formulaire client (création / édition)
- Boutons « ajouter un bloc » (Adresse, RIB) désactivés tant que le dernier bloc n'est pas valide.
- Onglet Information : bouton Valider désactivé si aucun champ rempli (création) ; onglet Contact accessible dès la création (Information facultatif).
- Champs « Relation » (Distributeur/Courtier) et « Prestation de triage » masqués par défaut, révélés seulement si une catégorie ordinaire (≠ Distributeur/Courtier) est sélectionnée.
- Bloc RIB affiché uniquement si le type de règlement est LCR (création, édition, consultation) ; plus de RIB fantôme soumis.
- Alignement du bas du textarea « Description » sur les autres champs.

## Recherche d'adresse (BAN)
- Une erreur de l'API ne bloque plus définitivement la recherche : chaque frappe réessaie (le mode dégradé restait verrouillé).
- Garde minimum 3 caractères avant l'appel à l'API.

## Répertoire client
- Titres de colonne en noir 16px, corps + tags de site en 14px.

## Navigation
- L'onglet actif est conservé au passage consultation ↔ édition (via history.state, hors URL).

## Règle métier
- Retrait de RG-1.04 : l'onglet Information n'est plus obligatoire pour le rôle Commerciale — facultatif pour tous (back + tests + docs).

Tests : suites front (Vitest) et back (PHPUnit) vertes hormis flakes d'infra connus.
Reviewed-on: #76
Co-authored-by: tristan <tristan@yuno.malio.fr>
Co-committed-by: tristan <tristan@yuno.malio.fr>
2026-06-08 14:40:18 +00:00

27 lines
892 B
PHP

<?php
declare(strict_types=1);
namespace App\Shared\Domain\Contract;
/**
* Expose, sans coupler a la classe concrete User (module Core), le moyen de
* savoir si un utilisateur porte un role METIER donne (par son code, cf.
* App\Shared\Domain\Security\BusinessRoles).
*
* Implementee par App\Module\Core\Domain\Entity\User. Permet a un module tiers
* de raisonner sur les roles metier via Security::getUser() sans importer User
* (regle ABSOLUE n°1 : pas d'import inter-modules).
*
* Distinct de UserInterface::getRoles() (roles SYSTEME Symfony ROLE_*, derives
* de is_admin) : ici on parle des roles RBAC metier rattaches a l'utilisateur.
*/
interface BusinessRoleAwareInterface
{
/**
* Vrai si l'utilisateur porte le role RBAC metier identifie par $roleCode
* (compare au champ Role::code).
*/
public function hasBusinessRole(string $roleCode): bool;
}