diff --git a/addons/userrights/userrightsprofile.class.inc.php b/addons/userrights/userrightsprofile.class.inc.php
index 9463da203..366630510 100644
--- a/addons/userrights/userrightsprofile.class.inc.php
+++ b/addons/userrights/userrightsprofile.class.inc.php
@@ -94,15 +94,15 @@ class URP_Profiles extends UserRightsBaseClassGUI
$bGrant = $oUserRights->GetProfileActionGrant($this->GetKey(), $sClass, $sAction);
if (is_null($bGrant))
{
- return ''.Dict::S('UI:UserManagement:ActionAllowed:No').'';
+ return ''.Dict::S('UI:UserManagement:ActionAllowed:No').'';
}
elseif ($bGrant)
{
- return ''.Dict::S('UI:UserManagement:ActionAllowed:Yes').'';
+ return ''.Dict::S('UI:UserManagement:ActionAllowed:Yes').'';
}
else
{
- return ''.Dict::S('UI:UserManagement:ActionAllowed:No').'';
+ return ''.Dict::S('UI:UserManagement:ActionAllowed:No').'';
}
}
diff --git a/addons/userrights/userrightsprofile.db.class.inc.php b/addons/userrights/userrightsprofile.db.class.inc.php
index 7ae7214b0..cba755342 100644
--- a/addons/userrights/userrightsprofile.db.class.inc.php
+++ b/addons/userrights/userrightsprofile.db.class.inc.php
@@ -250,11 +250,11 @@ class URP_Profiles extends UserRightsBaseClassGUI
$iGrant = $oUserRights->GetProfileActionGrant($this->GetKey(), $sClass, $sAction);
if (!is_null($iGrant))
{
- return ''.Dict::S('UI:UserManagement:ActionAllowed:Yes').'';
+ return ''.Dict::S('UI:UserManagement:ActionAllowed:Yes').'';
}
else
{
- return ''.Dict::S('UI:UserManagement:ActionAllowed:No').'';
+ return ''.Dict::S('UI:UserManagement:ActionAllowed:No').'';
}
}
diff --git a/addons/userrights/userrightsprojection.class.inc.php b/addons/userrights/userrightsprojection.class.inc.php
index 09d4ca3a5..3f41725ef 100644
--- a/addons/userrights/userrightsprojection.class.inc.php
+++ b/addons/userrights/userrightsprojection.class.inc.php
@@ -82,11 +82,11 @@ class URP_Profiles extends UserRightsBaseClass
$oGrant = $oUserRights->GetClassActionGrant($this->GetKey(), $sClass, $sAction);
if (is_object($oGrant) && ($oGrant->Get('permission') == 'yes'))
{
- return ''.Dict::S('UI:UserManagement:ActionAllowed:Yes').'';
+ return ''.Dict::S('UI:UserManagement:ActionAllowed:Yes').'';
}
else
{
- return ''.Dict::S('UI:UserManagement:ActionAllowed:No').'';
+ return ''.Dict::S('UI:UserManagement:ActionAllowed:No').'';
}
}
diff --git a/core/userrights.class.inc.php b/core/userrights.class.inc.php
index aeea4fa20..14ea0cb69 100644
--- a/core/userrights.class.inc.php
+++ b/core/userrights.class.inc.php
@@ -540,9 +540,9 @@ abstract class User extends cmdbAbstractObject
function GetGrantAsHtml($sClass, $iAction)
{
if (UserRights::IsActionAllowed($sClass, $iAction, null, $this)) {
- return ''.Dict::S('UI:UserManagement:ActionAllowed:Yes').'';
+ return ''.Dict::S('UI:UserManagement:ActionAllowed:Yes').'';
} else {
- return ''.Dict::S('UI:UserManagement:ActionAllowed:No').'';
+ return ''.Dict::S('UI:UserManagement:ActionAllowed:No').'';
}
}
diff --git a/css/backoffice/application/_all.scss b/css/backoffice/application/_all.scss
index 8ce2a44b6..398ed8615 100644
--- a/css/backoffice/application/_all.scss
+++ b/css/backoffice/application/_all.scss
@@ -7,4 +7,5 @@
@import "display-block/all";
@import "linked-set/all";
@import "tabular-fields/all";
-@import "welcome-popup/all";
\ No newline at end of file
+@import "welcome-popup/all";
+@import "user-rights";
\ No newline at end of file
diff --git a/css/backoffice/application/_user-rights.scss b/css/backoffice/application/_user-rights.scss
new file mode 100644
index 000000000..3e2f311d2
--- /dev/null
+++ b/css/backoffice/application/_user-rights.scss
@@ -0,0 +1,33 @@
+/*
+ * @copyright Copyright (C) 2010-2025 Combodo SAS
+ * @license http://opensource.org/licenses/AGPL-3.0
+ */
+
+$ibo-user-rights--padding-x: $ibo-spacing-400 !default;
+$ibo-user-rights--padding-y: $ibo-spacing-200 !default;
+$ibo-user-rights--border-radius: $ibo-border-radius-400 !default;
+
+$ibo-user-rights--is-success--background-color: $ibo-color-success-100 !default;
+$ibo-user-rights--is-success--color: $ibo-color-success-950 !default;
+$ibo-user-rights--is-success--border-color: $ibo-color-success-500 !default;
+$ibo-user-rights--is-success--border: 1px solid $ibo-user-rights--is-success--border-color !default;
+
+$ibo-user-rights--is-failure--background-color: $ibo-color-danger-100 !default;
+$ibo-user-rights--is-failure--color: $ibo-color-danger-950 !default;
+$ibo-user-rights--is-failure--border-color: $ibo-color-danger-500 !default;
+$ibo-user-rights--is-failure--border: 1px solid $ibo-user-rights--is-failure--border-color !default;
+
+.ibo-user-rights {
+ padding: $ibo-user-rights--padding-y $ibo-user-rights--padding-x;
+ border-radius: $ibo-user-rights--border-radius;
+ &.ibo-is-success {
+ background-color: $ibo-user-rights--is-success--background-color;
+ color: $ibo-user-rights--is-success--color;
+ border: $ibo-user-rights--is-success--border;
+ }
+ &.ibo-is-failure {
+ background-color: $ibo-user-rights--is-failure--background-color;
+ color: $ibo-user-rights--is-failure--color;
+ border: $ibo-user-rights--is-failure--border;
+ }
+}
\ No newline at end of file
diff --git a/data/.compilation-symlinks b/data/.compilation-symlinks
deleted file mode 100644
index e69de29bb..000000000
diff --git a/datamodels/2.x/combodo-backoffice-darkmoon-theme/scss/scss-variables.scss b/datamodels/2.x/combodo-backoffice-darkmoon-theme/scss/scss-variables.scss
index 8ec433f54..30ea3d1c7 100644
--- a/datamodels/2.x/combodo-backoffice-darkmoon-theme/scss/scss-variables.scss
+++ b/datamodels/2.x/combodo-backoffice-darkmoon-theme/scss/scss-variables.scss
@@ -289,4 +289,12 @@ $ibo-welcome-popup--stack-item--background-color: $ibo-color-grey-600;
$ibo-welcome-popup--stack-item--border-color: $ibo-color-grey-800;
$ibo-welcome-popup--stack-item--is-active--border-color: $ibo-color-grey-900;
-$ibo-vendors-ckeditor--ck-content--text-color: $ibo-color-grey-900;
\ No newline at end of file
+$ibo-vendors-ckeditor--ck-content--text-color: $ibo-color-grey-900;
+
+$ibo-user-rights--is-success--background-color: $ibo-color-success-950 !default;
+$ibo-user-rights--is-success--color: $ibo-color-success-100 !default;
+$ibo-user-rights--is-success--border-color: $ibo-color-success-950 !default;
+
+$ibo-user-rights--is-failure--background-color: $ibo-color-danger-950 !default;
+$ibo-user-rights--is-failure--color: $ibo-color-danger-100 !default;
+$ibo-user-rights--is-failure--border-color: $ibo-color-danger-950 !default;
\ No newline at end of file
diff --git a/datamodels/2.x/combodo-backoffice-fullmoon-high-contrast-theme/scss/scss-variables.scss b/datamodels/2.x/combodo-backoffice-fullmoon-high-contrast-theme/scss/scss-variables.scss
index b4f660aa0..3501cb5da 100644
--- a/datamodels/2.x/combodo-backoffice-fullmoon-high-contrast-theme/scss/scss-variables.scss
+++ b/datamodels/2.x/combodo-backoffice-fullmoon-high-contrast-theme/scss/scss-variables.scss
@@ -1,3 +1,8 @@
+$ibo-color-success-50: common-adjust-lightness($ibo-color-success-100, $ibo-color-base-lightness-100) !default;
+$ibo-color-danger-50: common-adjust-lightness($ibo-color-success-100, $ibo-color-danger-100) !default;
+$ibo-color-information-50: common-adjust-lightness($ibo-color-success-100, $ibo-color-information-100) !default;
+$ibo-color-warning-50: common-adjust-lightness($ibo-color-success-100, $ibo-color-warning-100) !default;
+
$ibo-navigation-menu--menu-group-title--text-color--is-active: $ibo-color-blue-grey-900;
$ibo-navigation-menu--menu-group--background-color--is-active: $ibo-color-white-100;
$ibo-navigation-menu--menu-node--background-color: $ibo-color-grey-100;
@@ -64,4 +69,12 @@ $ibo-button-colors: ( 'regular': ( /* Semantics */
$ibo-panel-colors: ('primary': $ibo-color-primary-800,'secondary': $ibo-color-secondary-800,'neutral': $ibo-color-grey-800,'information': $ibo-color-information-800,'success': $ibo-color-success-800,'failure': $ibo-color-danger-800,'warning': $ibo-color-warning-800,'danger': $ibo-color-danger-800,'grey' : $ibo-color-grey-800,'blue-grey': $ibo-color-blue-grey-800,'blue': $ibo-color-blue-800,'cyan': $ibo-color-cyan-800,'green': $ibo-color-green-800,'orange' : $ibo-color-orange-800,'red': $ibo-color-red-800,'pink': $ibo-color-pink-800,);
$ibo-welcome-popup--stack-item--border-color: $ibo-color-grey-950;
-$ibo-welcome-popup--stack-item--is-active--border-color: $ibo-color-grey-900;
\ No newline at end of file
+$ibo-welcome-popup--stack-item--is-active--border-color: $ibo-color-grey-900;
+
+$ibo-user-rights--is-success--background-color: $ibo-color-success-50 !default;
+$ibo-user-rights--is-success--color: $ibo-color-success-950 !default;
+$ibo-user-rights--is-success--border-color: $ibo-color-success-950 !default;
+
+$ibo-user-rights--is-failure--background-color: $ibo-color-danger-100 !default;
+$ibo-user-rights--is-failure--color: $ibo-color-danger-950 !default;
+$ibo-user-rights--is-failure--border-color: $ibo-color-danger-950 !default;
\ No newline at end of file
diff --git a/datamodels/2.x/combodo-backoffice-fullmoon-high-contrast-theme/scss/stylesheet.scss b/datamodels/2.x/combodo-backoffice-fullmoon-high-contrast-theme/scss/stylesheet.scss
index 366647266..cbba7c9f0 100644
--- a/datamodels/2.x/combodo-backoffice-fullmoon-high-contrast-theme/scss/stylesheet.scss
+++ b/datamodels/2.x/combodo-backoffice-fullmoon-high-contrast-theme/scss/stylesheet.scss
@@ -18,6 +18,10 @@ $ibo-toast--icon--font-size: 2rem !default;
$ibo-toast--icon--top: calc(50% - #{$ibo-toast--icon--font-size} / 2) !default;
$ibo-toast--icon--left: $ibo-spacing-400 !default;
+$ibo-user-rights--icon--margin-right: $ibo-spacing-200 !default;
+$ibo-user-rights--is-success--icon: '\f00c' !default;
+$ibo-user-rights--is-failure--icon: '\f00d' !default;
+
@each $sName, $sIcon in $ibo-alert--icons {
%ibo-alert-#{$sName}, .ibo-alert.ibo-is-#{$sName} {
@@ -146,4 +150,17 @@ $ibo-toast--icon--left: $ibo-spacing-400 !default;
.ibo-welcome-popup--stack-item.ibo-is-active {
border-width: 2px;
+}
+
+.ibo-user-rights {
+ &.ibo-is-success::before {
+ content: $ibo-user-rights--is-success--icon;
+ @extend %fa-solid-base;
+ margin-right: $ibo-user-rights--icon--margin-right;
+ }
+ &.ibo-is-failure::before {
+ content: $ibo-user-rights--is-failure--icon;
+ @extend %fa-solid-base;
+ margin-right: $ibo-user-rights--icon--margin-right;
+ }
}
\ No newline at end of file
diff --git a/datamodels/2.x/combodo-backoffice-fullmoon-protanopia-deuteranopia-theme/scss/stylesheet.scss b/datamodels/2.x/combodo-backoffice-fullmoon-protanopia-deuteranopia-theme/scss/stylesheet.scss
index 1cb7d1878..859cd5335 100644
--- a/datamodels/2.x/combodo-backoffice-fullmoon-protanopia-deuteranopia-theme/scss/stylesheet.scss
+++ b/datamodels/2.x/combodo-backoffice-fullmoon-protanopia-deuteranopia-theme/scss/stylesheet.scss
@@ -15,6 +15,10 @@ $ibo-toast--icon--font-size: 2rem !default;
$ibo-toast--icon--top: calc(50% - #{$ibo-toast--icon--font-size} / 2) !default;
$ibo-toast--icon--left: $ibo-spacing-400 !default;
+$ibo-user-rights--icon--margin-right: $ibo-spacing-200 !default;
+$ibo-user-rights--is-success--icon: '\f00c' !default;
+$ibo-user-rights--is-failure--icon: '\f00d' !default;
+
@each $sName, $sIcon in $ibo-alert--icons {
%ibo-alert-#{$sName}, .ibo-alert.ibo-is-#{$sName} {
@@ -71,3 +75,16 @@ $ibo-toast--icon--left: $ibo-spacing-400 !default;
}
}
+.ibo-user-rights {
+ &.ibo-is-success::before {
+ content: $ibo-user-rights--is-success--icon;
+ @extend %fa-solid-base;
+ margin-right: $ibo-user-rights--icon--margin-right;
+ }
+ &.ibo-is-failure::before {
+ content: $ibo-user-rights--is-failure--icon;
+ @extend %fa-solid-base;
+ margin-right: $ibo-user-rights--icon--margin-right;
+ }
+}
+
diff --git a/datamodels/2.x/combodo-backoffice-fullmoon-tritanopia-theme/scss/stylesheet.scss b/datamodels/2.x/combodo-backoffice-fullmoon-tritanopia-theme/scss/stylesheet.scss
index cada49df5..13ab47f96 100644
--- a/datamodels/2.x/combodo-backoffice-fullmoon-tritanopia-theme/scss/stylesheet.scss
+++ b/datamodels/2.x/combodo-backoffice-fullmoon-tritanopia-theme/scss/stylesheet.scss
@@ -15,6 +15,10 @@ $ibo-toast--icon--font-size: 2rem !default;
$ibo-toast--icon--top: calc(50% - #{$ibo-toast--icon--font-size} / 2) !default;
$ibo-toast--icon--left: $ibo-spacing-400 !default;
+$ibo-user-rights--icon--margin-right: $ibo-spacing-200 !default;
+$ibo-user-rights--is-success--icon: '\f00c' !default;
+$ibo-user-rights--is-failure--icon: '\f00d' !default;
+
@each $sName, $sIcon in $ibo-alert--icons {
%ibo-alert-#{$sName}, .ibo-alert.ibo-is-#{$sName} {
@@ -71,3 +75,15 @@ $ibo-toast--icon--left: $ibo-spacing-400 !default;
}
}
+.ibo-user-rights {
+ &.ibo-is-success::before {
+ content: $ibo-user-rights--is-success--icon;
+ @extend %fa-solid-base;
+ margin-right: $ibo-user-rights--icon--margin-right;
+ }
+ &.ibo-is-failure::before {
+ content: $ibo-user-rights--is-failure--icon;
+ @extend %fa-solid-base;
+ margin-right: $ibo-user-rights--icon--margin-right;
+ }
+}
\ No newline at end of file