From fc9ac1b441b9a91963f2d11d3114f574188b98ea Mon Sep 17 00:00:00 2001 From: Molkobain Date: Sun, 14 Aug 2022 21:35:48 +0200 Subject: [PATCH] =?UTF-8?q?N=C2=B04739=20-=20Add=20semantic=20on=20state?= =?UTF-8?q?=20for=20user=20classes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add new section in the backoffice SCSS structure for PHP classes of the DM that are in the core (not a module) and can't be styled via XML. --- core/userrights.class.inc.php | 5 ++- css/backoffice/README.md | 4 ++ css/backoffice/datamodel/_all.scss | 12 +++++ css/backoffice/datamodel/_user.scss | 64 +++++++++++++++++++++++++++ css/backoffice/main.scss | 1 + images/icons/icons8-security-pass.svg | 1 + 6 files changed, 85 insertions(+), 2 deletions(-) create mode 100644 css/backoffice/datamodel/_all.scss create mode 100644 css/backoffice/datamodel/_user.scss create mode 100644 images/icons/icons8-security-pass.svg diff --git a/core/userrights.class.inc.php b/core/userrights.class.inc.php index b404d7af9..2ef9b623b 100644 --- a/core/userrights.class.inc.php +++ b/core/userrights.class.inc.php @@ -217,11 +217,12 @@ abstract class User extends cmdbAbstractObject "category" => "core,grant_by_profile,silo", "key_type" => "autoincrement", "name_attcode" => "login", - "state_attcode" => "", + "state_attcode" => "status", "reconc_keys" => array(), "db_table" => "priv_user", "db_key_field" => "id", "db_finalclass_field" => "", + "style" => new ormStyle("ibo-dm-class--User", "ibo-dm-class-alt--User", "var(--ibo-dm-class--User--main-color)", "var(--ibo-dm-class--User--complementary-color)", null, "itop-structure/../../images/icons/icons8-security-pass.svg"), ); MetaModel::Init_Params($aParams); //MetaModel::Init_InheritAttributes(); @@ -235,7 +236,7 @@ abstract class User extends cmdbAbstractObject MetaModel::Init_AddAttribute(new AttributeString("login", array("allowed_values"=>null, "sql"=>"login", "default_value"=>null, "is_null_allowed"=>false, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeApplicationLanguage("language", array("sql"=>"language", "default_value"=>"EN US", "is_null_allowed"=>false, "depends_on"=>array()))); - MetaModel::Init_AddAttribute(new AttributeEnum("status", array("allowed_values" => new ValueSetEnum('enabled,disabled'), "sql"=>"status", "default_value"=>"enabled", "is_null_allowed"=>false, "depends_on"=>array()))); + MetaModel::Init_AddAttribute(new AttributeEnum("status", array("allowed_values" => new ValueSetEnum('enabled,disabled'), "styled_values"=>['enabled' => new ormStyle('ibo-dm-enum--User-status-enabled', 'ibo-dm-enum-alt--User-status-enabled', 'var(--ibo-dm-enum--User-status-enabled--main-color)', 'var(--ibo-dm-enum--User-status-enabled--complementary-color)', null, null),'disabled' => new ormStyle('ibo-dm-enum--User-status-disabled', 'ibo-dm-enum-alt--User-status-disabled', 'var(--ibo-dm-enum--User-status-disabled--main-color)', 'var(--ibo-dm-enum--User-status-disabled--complementary-color)', null, null)], "sql"=>"status", "default_value"=>"enabled", "is_null_allowed"=>false, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeLinkedSetIndirect("profile_list", array("linked_class"=>"URP_UserProfile", "ext_key_to_me"=>"userid", "ext_key_to_remote"=>"profileid", "allowed_values"=>null, "count_min"=>1, "count_max"=>0, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeLinkedSetIndirect("allowed_org_list", array("linked_class"=>"URP_UserOrg", "ext_key_to_me"=>"userid", "ext_key_to_remote"=>"allowed_org_id", "allowed_values"=>null, "count_min"=>1, "count_max"=>0, "depends_on"=>array()))); diff --git a/css/backoffice/README.md b/css/backoffice/README.md index f7dedd625..52f550b1f 100644 --- a/css/backoffice/README.md +++ b/css/backoffice/README.md @@ -49,6 +49,10 @@ css/backoffice/ | |- tabular-fields | ... | +|- *datamodel/ # SCSS / CSS3 variables and CSS classes for PHP classes of the DM that are part of the core (not in a module) and cannot be styled otherwise +| |- _user.scss +| ... +| |– pages/ | |– _home.scss # Home specific styles | |– _contact.scss # Contact specific styles diff --git a/css/backoffice/datamodel/_all.scss b/css/backoffice/datamodel/_all.scss new file mode 100644 index 000000000..0a20aee74 --- /dev/null +++ b/css/backoffice/datamodel/_all.scss @@ -0,0 +1,12 @@ +/* + * @copyright Copyright (C) 2010-2021 Combodo SARL + * @license http://opensource.org/licenses/AGPL-3.0 + */ + +/**************************************************************************************************************************/ +/* SCSS / CSS3 variables and CSS classes are based on what the compiler generates and will be used across the application */ +/* In case you doubt what to put here, check the "env-xxx/branding/themes/datamodel-compiled-scss-rules.scss" file to */ +/* to see what the compiler generates for XML DM classes. */ +/**************************************************************************************************************************/ + +@import "user"; \ No newline at end of file diff --git a/css/backoffice/datamodel/_user.scss b/css/backoffice/datamodel/_user.scss new file mode 100644 index 000000000..93f8d0f8e --- /dev/null +++ b/css/backoffice/datamodel/_user.scss @@ -0,0 +1,64 @@ +/* + * @copyright Copyright (C) 2010-2021 Combodo SARL + * @license http://opensource.org/licenses/AGPL-3.0 + */ + +// Class itself +$ibo-dm-class--User--main-color: $ibo-color-blue-grey-600 !default; +$ibo-dm-class--User--complementary-color: $ibo-color-white-100 !default; + +:root { + --ibo-dm-class--User--main-color: #{$ibo-dm-class--User--main-color}; + --ibo-dm-class--User--complementary-color: #{$ibo-dm-class--User--complementary-color}; +} + +.ibo-dm-class--User { + --ibo-main-color: #{$ibo-dm-class--User--main-color}; + --ibo-main-color--100: #{ibo-adjust-alpha(ibo-adjust-lightness($ibo-dm-class--User--main-color, $ibo-color-base-lightness-100), $ibo-color-base-opacity-for-lightness-100)}; + --ibo-main-color--900: #{ibo-adjust-alpha(ibo-adjust-lightness($ibo-dm-class--User--main-color, $ibo-color-base-lightness-900), $ibo-color-base-opacity-for-lightness-900)}; + --ibo-complementary-color: #{$ibo-dm-class--User--complementary-color}; +} +.ibo-dm-class-alt--User { + --ibo-main-color: #{$ibo-dm-class--User--complementary-color}; + --ibo-complementary-color: #{$ibo-dm-class--User--main-color}; +} + +// State attribute, "enabled" value +$ibo-dm-enum--User-status-enabled--main-color: $ibo-lifecycle-active-state-primary-color !default; +$ibo-dm-enum--User-status-enabled--complementary-color: $ibo-lifecycle-active-state-secondary-color !default; + +:root { + --ibo-dm-enum--User-status-enabled--main-color: #{$ibo-dm-enum--User-status-enabled--main-color}; + --ibo-dm-enum--User-status-enabled--complementary-color: #{$ibo-dm-enum--User-status-enabled--complementary-color}; +} + +.ibo-dm-enum--User-status-enabled { + --ibo-main-color: #{$ibo-dm-enum--User-status-enabled--main-color}; + --ibo-main-color--100: #{ibo-adjust-alpha(ibo-adjust-lightness($ibo-dm-enum--User-status-enabled--main-color, $ibo-color-base-lightness-100), $ibo-color-base-opacity-for-lightness-100)}; + --ibo-main-color--900: #{ibo-adjust-alpha(ibo-adjust-lightness($ibo-dm-enum--User-status-enabled--main-color, $ibo-color-base-lightness-900), $ibo-color-base-opacity-for-lightness-900)}; + --ibo-complementary-color: #{$ibo-dm-enum--User-status-enabled--complementary-color}; +} +.ibo-dm-enum-alt--User-status-enabled { + --ibo-main-color: #{$ibo-dm-enum--User-status-enabled--complementary-color}; + --ibo-complementary-color: #{$ibo-dm-enum--User-status-enabled--main-color}; +} + +// State attribute, "disabled" value +$ibo-dm-enum--User-status-disabled--main-color: $ibo-lifecycle-inactive-state-primary-color !default; +$ibo-dm-enum--User-status-disabled--complementary-color: $ibo-lifecycle-inactive-state-secondary-color !default; + +:root { + --ibo-dm-enum--User-status-disabled--main-color: #{$ibo-dm-enum--User-status-disabled--main-color}; + --ibo-dm-enum--User-status-disabled--complementary-color: #{$ibo-dm-enum--User-status-disabled--complementary-color}; +} + +.ibo-dm-enum--User-status-disabled { + --ibo-main-color: #{$ibo-dm-enum--User-status-disabled--main-color}; + --ibo-main-color--100: #{ibo-adjust-alpha(ibo-adjust-lightness($ibo-dm-enum--User-status-disabled--main-color, $ibo-color-base-lightness-100), $ibo-color-base-opacity-for-lightness-100)}; + --ibo-main-color--900: #{ibo-adjust-alpha(ibo-adjust-lightness($ibo-dm-enum--User-status-disabled--main-color, $ibo-color-base-lightness-900), $ibo-color-base-opacity-for-lightness-900)}; + --ibo-complementary-color: #{$ibo-dm-enum--User-status-disabled--complementary-color}; +} +.ibo-dm-enum-alt--User-status-disabled { + --ibo-main-color: #{$ibo-dm-enum--User-status-disabled--complementary-color}; + --ibo-complementary-color: #{$ibo-dm-enum--User-status-disabled--main-color}; +} diff --git a/css/backoffice/main.scss b/css/backoffice/main.scss index 8692ca90f..f5d3ec59b 100644 --- a/css/backoffice/main.scss +++ b/css/backoffice/main.scss @@ -9,6 +9,7 @@ @import "components/all"; @import "layout/all"; @import "application/all"; +@import "datamodel/all"; @import "pages/all"; @import "blocks-integrations/all"; @import "themes/all"; diff --git a/images/icons/icons8-security-pass.svg b/images/icons/icons8-security-pass.svg new file mode 100644 index 000000000..c4d8dec93 --- /dev/null +++ b/images/icons/icons8-security-pass.svg @@ -0,0 +1 @@ + \ No newline at end of file