SIGN IN SIGN UP

feat(rbac): role eligibility fields, single-parent hierarchy, and role detail modal rework

شرایط احراز: split حداقل سابقه کار into related/unrelated experience
fields, add multi-select رشته تحصیلی (field_of_study option group) and a
توضیحات note, drop language levels; shared ValidatesRequirements concern
DRies store/update validation.

Role hierarchy: a role has exactly one direct manager - replace the
role_inheritances pivot with roles.parent_id (nullOnDelete). API contract
moves parent_ids[] to singular parent_id; cycle guards kept via the
inspector reading roles.parent_id; min-id 'first parent' hacks removed;
RoleResource exposes real parent_id plus the loaded parent relation,
fixing the client inherits-permissions preview.

Role form: permissions and conditional access rules merged into one
tabbed card; collapsible permission-group tree with capped internal
scroll; rule list gains search and a status filter (all / دارای شرط /
نامشروط).

Role chart modal: rebuilt with a NavUser-style header (member identity,
status presence dot, dot-menu actions), tabs for اطلاعات نقش / شرایط
احراز / روابط, member profile cards (personnel code, education, org
tenure from the enriched chart payload), and افزودن کاربر gated to
memberless roles. Adds shared UserAvatar and FormOptionMultiComboboxField
(chips multi-select on Base UI Combobox).

BREAKING CHANGE: role parent assignment is singular (parent_id instead
of parent_ids[]); requirements.min_experience_years replaced by
min_related_experience_years/min_unrelated_experience_years;
requirements.languages removed. Requires migrate:fresh --seed (original
authorization migration corrected).
Q
QorbaniSepehr committed
f33f138b067a4870f33a5379b90d14c803710880
Parent: cc49527