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 b78828b01..b1e350bc3 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/sources/Application/UI/Base/Layout/ActivityPanel/ActivityPanel.php b/sources/Application/UI/Base/Layout/ActivityPanel/ActivityPanel.php index 2d38da682..89454737d 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