diff --git a/datamodels/2.x/itop-portal-base/portal/public/css/portal.scss b/datamodels/2.x/itop-portal-base/portal/public/css/portal.scss
index b78828b016..b1e350bc3f 100644
--- a/datamodels/2.x/itop-portal-base/portal/public/css/portal.scss
+++ b/datamodels/2.x/itop-portal-base/portal/public/css/portal.scss
@@ -1150,12 +1150,13 @@ table .group-actions .item-action-wrapper .panel-body > p:last-child{
}
}
.form_field .form_mandatory .control-label:after{
- content: "\002a";
+ content: "\1F6C8";
position: relative;
left: 3px;
color: $brand-primary;
font-size: 0.9em;
-}
+ font-weight: 200;
+};
/* Note: We don't put the .form_field selector as it must work for read-only */
.form-control-static img{
max-width: 100% !important;
diff --git a/datamodels/2.x/itop-structure/datamodel.itop-structure.xml b/datamodels/2.x/itop-structure/datamodel.itop-structure.xml
index a4c80889cc..0707d1ac8c 100644
--- a/datamodels/2.x/itop-structure/datamodel.itop-structure.xml
+++ b/datamodels/2.x/itop-structure/datamodel.itop-structure.xml
@@ -2043,4 +2043,22 @@
+
+
+ module
+ itop-structure
+ -1
+
+ .ibo-has-description::after, .ibo-input-with-label--label.ibo-has-description::after{content:"\1F6C8"; font-weight: 200;} ';
+ }
+ }
+ ]]>
+
+
+
diff --git a/sources/Application/UI/Base/Layout/ActivityPanel/ActivityPanel.php b/sources/Application/UI/Base/Layout/ActivityPanel/ActivityPanel.php
index 2d38da6822..89454737d2 100644
--- a/sources/Application/UI/Base/Layout/ActivityPanel/ActivityPanel.php
+++ b/sources/Application/UI/Base/Layout/ActivityPanel/ActivityPanel.php
@@ -763,7 +763,7 @@ class ActivityPanel extends UIBlock
*/
public function IsComposeButtonEnabled(): bool
{
- return $this->HasAnEditableCaseLogTab() && $this->IsCaseLogsSubmitAutonomous();
+ return $this->HasAnEditableCaseLogTab() && $this->IsCaseLogsSubmitAutonomous() && $this->HasUserModifyRights();
}
/**
@@ -974,4 +974,13 @@ class ActivityPanel extends UIBlock
$this->bShowMultipleEntriesSubmitConfirmation = appUserPreferences::GetPref('activity_panel.show_multiple_entries_submit_confirmation', static::DEFAULT_SHOW_MULTIPLE_ENTRIES_SUBMI_CONFIRMATION) !== 'false';
return $this;
}
+
+ /**
+ * @return bool
+ * @throws \CoreException
+ */
+ protected function HasUserModifyRights(): bool
+ {
+ return \UserRights::IsActionAllowed($this->GetObjectClass(), UR_ACTION_MODIFY);
+ }
}
\ No newline at end of file