jogosultsági szintek RBAC beállítva tesztelve

This commit is contained in:
Roo
2026-06-25 20:41:49 +00:00
parent 52011606ff
commit 36109fc722
242 changed files with 8672 additions and 2237 deletions

View File

@@ -2254,13 +2254,20 @@ async function getLocaleMessagesMerged(locale, loaders = []) {
var permissions$1 = {
title: "Jogosultság Kezelés",
subtitle: "Permissions Management — Role-based access control & subscription feature flags",
subtitle: "Jogosultsági Mátrix — Szerepkör alapú hozzáférés-vezérlés",
loading: "Jogosultságok betöltése...",
error_title: "Nem sikerült betölteni a jogosultságokat",
retry: "Újra",
save_changes: "Változtatások Mentése",
discard: "Elvetés",
modified_count: "{count} módosítás",
domain_filter: "Tartomány Szűrő (Sorok)",
role_filter: "Szerepkör Szűrő (Oszlopok)",
select_all: "Összes kiválasztása",
deselect_all: "Összes elrejtése",
all_domains: "Minden",
permission: "Engedély",
no_permissions: "Nincsenek engedélyek ebben a tartományban.",
current_tier: "Aktuális Csomag",
expires: "Lejárat",
superadmin: "Superadmin",
@@ -2271,19 +2278,7 @@ var permissions$1 = {
feature_flags_desc: "Előfizetési funkciók — a jelenlegi csomagod alapján ({tier}).",
rbac_title: "RBAC Jogosultsági Mátrix",
rbac_desc: "Szerepkör alapú hozzáférés-vezérlés — mely szerepkörök mely admin műveleteket végezhetik.",
action: "Művelet",
perms: {
user_mgmt: "Felhasználókezelés",
billing_admin: "Számlázási Adminisztráció",
robot_config: "Robot Konfiguráció",
system_logs: "Rendszernaplók Elérése",
api_keys: "API Kulcs Kezelés",
vehicle_crud: "Jármű CRUD",
service_booking: "Szervizfoglalás",
customer_view: "Ügyféladatok Megtekintése",
report_export: "Jelentés Exportálás",
bulk_import: "Tömeges Import"
}
action: "Művelet"
};
var packages$1 = {
title: "Csomagok Kezelése",
@@ -2389,7 +2384,57 @@ var garages$1 = {
cancel: "Mégse",
save: "Mentés",
saving: "Mentés...",
subscription_updated: "előfizetése sikeresen frissítve!"
subscription_updated: "előfizetése sikeresen frissítve!",
view_details: "Részletek",
indefinite: "Határozatlan",
details: {
loading: "Garázs adatainak betöltése...",
retry: "Újra",
back: "Vissza a garázsokhoz",
company_info: "Cég adatok",
company_name: "Cégnév",
display_name: "Megjelenítési név",
org_type: "Szervezet típusa",
tax_number: "Adószám",
reg_number: "Cégjegyzékszám",
created_at: "Létrehozva",
address: "Cím",
subscription_info: "Előfizetés státusza",
tier_name: "Csomag",
tier_level: "Szint",
level_n: "{n}. szint",
expires_at: "Lejárat",
asset_limit: "Járműkorlát",
vehicles: "jármű",
no_subscription: "Nincs aktív előfizetés",
contact_info: "Elérhetőség",
contact_name: "Kapcsolattartó neve",
contact_role: "Szerepkör",
contact_department: "Osztály",
contact_phone: "Telefonszám",
no_contact: "Nincs elsődleges kapcsolattartó",
coming_soon: "Ez a funkció hamarosan elérhető lesz..."
},
employees: {
title: "Dolgozók",
total_count: "Összesen {count} fő",
name: "Név",
email_phone: "E-mail / Telefon",
role: "Szerepkör",
status: "Státusz",
actions: "Műveletek",
edit_role: "Szerepkör szerkesztése",
remove: "Eltávolítás",
no_employees: "Még nincsenek tagok ehhez a garázshoz.",
edit_role_title: "Tag szerepkörének szerkesztése",
cancel: "Mégse",
save: "Mentés",
status_active: "Aktív",
status_inactive: "Inaktív",
remove_title: "Tag eltávolítása",
remove_confirm: "Biztosan eltávolítod {name} tagot a garázsból?",
remove_btn: "Eltávolítás"
}
};
const locale_hu_46json_ee06c965 = {
permissions: permissions$1,
@@ -2399,55 +2444,50 @@ const locale_hu_46json_ee06c965 = {
var permissions = {
title: "Permissions Management",
subtitle: "Permissions Management — Role-based access control & subscription feature flags",
loading: "Loading permissions data...",
subtitle: "Permission Matrix — Role-based access control",
loading: "Loading permissions...",
error_title: "Failed to load permissions",
retry: "Retry",
save_changes: "Save Changes",
discard: "Discard",
modified_count: "{count} modification(s)",
current_tier: "Current Tier",
modified_count: "{count} changes",
domain_filter: "Domain Filter (Rows)",
role_filter: "Role Filter (Columns)",
select_all: "Select All",
deselect_all: "Deselect All",
all_domains: "All",
permission: "Permission",
no_permissions: "No permissions in this domain.",
current_tier: "Current Package",
expires: "Expires",
superadmin: "Superadmin",
superadmin_desc: "Full system access — user management, billing, robots, and system configuration.",
superadmin_desc: "Full system access — users, billing, robots and system configuration.",
garages: "Garages",
garages_desc: "Garage-level access — vehicle management, service booking, customer data.",
feature_flags: "Feature Flags",
feature_flags_desc: "Subscription feature toggles — resolved from your current tier ({tier}).",
feature_flags_desc: "Subscription features — based on your current plan ({tier}).",
rbac_title: "RBAC Permission Matrix",
rbac_desc: "Role-based access control — which roles can perform which admin actions.",
action: "Action",
perms: {
user_mgmt: "User Management",
billing_admin: "Billing Administration",
robot_config: "Robot Configuration",
system_logs: "System Logs Access",
api_keys: "API Key Management",
vehicle_crud: "Vehicle CRUD",
service_booking: "Service Booking",
customer_view: "Customer Data View",
report_export: "Report Export",
bulk_import: "Bulk Import"
}
action: "Action"
};
var packages = {
title: "Package Management",
subtitle: "Manage subscription packages and feature flags — Free, Premium, Enterprise",
subtitle: "Manage subscription packages and features — Free, Premium, Enterprise",
loading: "Loading packages...",
retry: "Retry",
create_new: "Create Package",
create_new: "New Package",
no_packages: "No packages yet",
no_packages_desc: "Create your first subscription package to get started.",
create_first: "Create First Package",
popular: "Popular",
fallback_badge: "Fallback",
trial_badge: "Trial",
month: "month",
month: "mo",
feature_flags: "Available Features",
edit: "Edit",
duplicate: "Duplicate",
"delete": "Delete",
set_as_default: "Set as default",
set_as_default: "Set as Default",
set_as_default_success: "set as default package!",
edit_title: "Edit Package",
create_title: "Create Package",
@@ -2462,7 +2502,7 @@ var packages = {
max_vehicles: "Max Vehicles",
max_garages: "Max Garages",
monthly_credits: "Monthly Credits",
tier_level: "Tier Level",
tier_level: "Level",
form_name: "System Name",
form_name_placeholder: "e.g. premium_2024",
form_display_name: "Display Name",
@@ -2471,30 +2511,30 @@ var packages = {
type_private: "Private",
type_corporate: "Corporate",
form_tier_level: "Tier Level",
form_tier_level_hint: "Higher number = more features & higher rank",
form_tier_level_hint: "Higher number = more features and higher rank",
form_monthly_price: "Monthly Price",
form_yearly_price: "Yearly Price",
form_currency: "Currency",
form_subtitle: "Subtitle / Description",
form_subtitle_placeholder: "e.g. Best for small businesses",
form_subtitle_placeholder: "e.g. Ideal for small businesses",
form_badge: "Badge Text",
form_badge_placeholder: "e.g. Most Popular",
form_is_custom: "Custom Package (not publicly listed)",
form_is_custom: "Custom Package (not public)",
singleton_rules: "Singleton Rules",
form_is_default_fallback: "Default Fallback Package — assigned when a subscription expires",
form_is_default_fallback: "Default Fallback Package — expired subscriptions fall back to this",
form_trial_days: "Trial Days on Signup",
form_trial_days_hint: "New organizations get this many free days. Only one package can have trial > 0.",
form_trial_days_hint: "New organizations get this many free days. Only one package can have > 0.",
per_region_pricing: "Per-Region Pricing",
smart_calculator: "Smart Pricing Calculator",
smart_calculator: "Smart Price Calculator",
calc_net_price: "Net Price",
calc_vat_rate: "VAT Rate",
calc_currency: "Currency",
calc_net: "Net",
calc_vat: "VAT",
calc_gross: "Gross",
calc_apply: "Apply to Selected Region",
add_zone: "Add Pricing Zone",
add_zone_select: "Select a country code...",
calc_apply: "Apply to selected region",
add_zone: "Add New Zone",
add_zone_select: "Select country code...",
add_zone_already_exists: "This region already exists in the package pricing!"
};
var garages = {
@@ -2534,7 +2574,57 @@ var garages = {
cancel: "Cancel",
save: "Save",
saving: "Saving...",
subscription_updated: "subscription updated successfully!"
subscription_updated: "subscription updated successfully!",
view_details: "Details",
indefinite: "Indefinite",
details: {
loading: "Loading garage details...",
retry: "Retry",
back: "Back to garages",
company_info: "Company Info",
company_name: "Company Name",
display_name: "Display Name",
org_type: "Organization Type",
tax_number: "Tax Number",
reg_number: "Registration Number",
created_at: "Created At",
address: "Address",
subscription_info: "Subscription Status",
tier_name: "Package",
tier_level: "Level",
level_n: "Level {n}",
expires_at: "Expires",
asset_limit: "Vehicle Limit",
vehicles: "vehicles",
no_subscription: "No active subscription",
contact_info: "Contact Info",
contact_name: "Contact Name",
contact_role: "Role",
contact_department: "Department",
contact_phone: "Phone",
no_contact: "No primary contact person",
coming_soon: "This feature will be available soon..."
},
employees: {
title: "Employees",
total_count: "{count} employees",
name: "Name",
email_phone: "Email / Phone",
role: "Role",
status: "Status",
actions: "Actions",
edit_role: "Edit",
remove: "Remove",
no_employees: "No employees assigned to this garage.",
edit_role_title: "Edit Employee Role",
cancel: "Cancel",
save: "Save Changes",
status_active: "Active",
status_inactive: "Inactive",
remove_title: "Remove Employee",
remove_confirm: "Are you sure you want to remove \"{name}\" from this garage?",
remove_btn: "Remove"
}
};
const locale_en_46json_0b63539c = {
permissions: permissions,
@@ -3188,16 +3278,16 @@ _wH6JrtIxmaSoA8lCPWFnE9z4lQeXW6H5z3l5aymEQw
const assets = {
"/index.mjs": {
"type": "text/javascript; charset=utf-8",
"etag": "\"22d3a-fYKxrQk9EUMNhIo/mK+96C2r5Do\"",
"mtime": "2026-06-25T01:04:55.828Z",
"size": 142650,
"etag": "\"23532-gRN4chechZSOn9PdQdfcKj3v+Ek\"",
"mtime": "2026-06-25T19:56:11.463Z",
"size": 144690,
"path": "index.mjs"
},
"/index.mjs.map": {
"type": "application/json",
"etag": "\"8312b-y83NhkESVlYFSmMgPlbahLc9Kjs\"",
"mtime": "2026-06-25T01:04:55.829Z",
"size": 536875,
"etag": "\"83172-ssEX0StaUacfa43NRfqyNY4W7FM\"",
"mtime": "2026-06-25T19:56:11.464Z",
"size": 536946,
"path": "index.mjs.map"
}
};