From da1d3db2047bcd265b93900bb1b8bcc8ea06ddfe Mon Sep 17 00:00:00 2001 From: Molkobain Date: Wed, 19 Aug 2020 11:01:13 +0200 Subject: [PATCH] =?UTF-8?q?N=C2=B02847=20-=20Activity=20panel:=20Fix=20fil?= =?UTF-8?q?tering=20on=20CMDBChangeOp=20entries?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/composer/autoload_classmap.php | 2 ++ lib/composer/autoload_real.php | 3 -- lib/composer/autoload_static.php | 2 ++ .../ActivityEntry/ActivityEntry.php | 29 +++++++++++++++++++ .../CMDBChangeOp/CMDBChangeOpFactory.php | 10 +++++-- .../ActivityEntry/CaseLogEntry.php | 3 ++ .../ActivityEntry/EditsEntry.php | 2 +- .../ActivityEntry/TransitionEntry.php | 2 +- .../activity-entry/caselog-entry.html.twig | 7 +---- .../activity-entry/edits-entry.html.twig | 5 ---- .../activity-entry/layout.html.twig | 2 +- .../activity-entry/transition-entry.html.twig | 5 ---- 12 files changed, 47 insertions(+), 25 deletions(-) diff --git a/lib/composer/autoload_classmap.php b/lib/composer/autoload_classmap.php index ee7313e68..9882f6439 100644 --- a/lib/composer/autoload_classmap.php +++ b/lib/composer/autoload_classmap.php @@ -678,6 +678,8 @@ return array( 'PhpParser\\Serializer\\XML' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Serializer/XML.php', 'PhpParser\\Unserializer' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Unserializer.php', 'PhpParser\\Unserializer\\XML' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Unserializer/XML.php', + 'PluginInstanciationManager' => $baseDir . '/core/metamodel.class.php', + 'PluginManager' => $baseDir . '/core/metamodel.class.php', 'PortalDispatcher' => $baseDir . '/application/portaldispatcher.class.inc.php', 'PortalURLMaker' => $baseDir . '/application/applicationcontext.class.inc.php', 'PrintableDataTable' => $baseDir . '/application/datatable.class.inc.php', diff --git a/lib/composer/autoload_real.php b/lib/composer/autoload_real.php index ac16a9508..e8c595bf1 100644 --- a/lib/composer/autoload_real.php +++ b/lib/composer/autoload_real.php @@ -13,9 +13,6 @@ class ComposerAutoloaderInit0018331147de7601e7552f7da8e3bb8b } } - /** - * @return \Composer\Autoload\ClassLoader - */ public static function getLoader() { if (null !== self::$loader) { diff --git a/lib/composer/autoload_static.php b/lib/composer/autoload_static.php index 31f345bfd..966b7b017 100644 --- a/lib/composer/autoload_static.php +++ b/lib/composer/autoload_static.php @@ -908,6 +908,8 @@ class ComposerStaticInit0018331147de7601e7552f7da8e3bb8b 'PhpParser\\Serializer\\XML' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Serializer/XML.php', 'PhpParser\\Unserializer' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Unserializer.php', 'PhpParser\\Unserializer\\XML' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Unserializer/XML.php', + 'PluginInstanciationManager' => __DIR__ . '/../..' . '/core/metamodel.class.php', + 'PluginManager' => __DIR__ . '/../..' . '/core/metamodel.class.php', 'PortalDispatcher' => __DIR__ . '/../..' . '/application/portaldispatcher.class.inc.php', 'PortalURLMaker' => __DIR__ . '/../..' . '/application/applicationcontext.class.inc.php', 'PrintableDataTable' => __DIR__ . '/../..' . '/application/datatable.class.inc.php', diff --git a/sources/application/UI/Layout/ActivityPanel/ActivityEntry/ActivityEntry.php b/sources/application/UI/Layout/ActivityPanel/ActivityEntry/ActivityEntry.php index f73604d6f..3b56c8d00 100644 --- a/sources/application/UI/Layout/ActivityPanel/ActivityEntry/ActivityEntry.php +++ b/sources/application/UI/Layout/ActivityPanel/ActivityEntry/ActivityEntry.php @@ -43,9 +43,13 @@ class ActivityEntry extends UIBlock // Specific constants /** @var string DEFAULT_ORIGIN */ const DEFAULT_ORIGIN = 'unknown'; + /** @var string DEFAULT_TYPE */ + const DEFAULT_TYPE = 'generic'; /** @var string DEFAULT_DECORATION_CLASSES */ const DEFAULT_DECORATION_CLASSES = 'fas fa-fw fa-mortar-pestle'; + /** @var string $sType Type of entry, used for filtering (eg. caselog, edits, transition, ...) */ + protected $sType; /** @var string $sDecorationClasses CSS classes to use to decorate the entry */ protected $sDecorationClasses; /** @var string $sContent Raw content of the entry itself (should not have been processed / escaped) */ @@ -79,6 +83,7 @@ class ActivityEntry extends UIBlock { parent::__construct($sIdCode); + $this->SetType(static::DEFAULT_TYPE); $this->SetDecorationClasses(static::DEFAULT_DECORATION_CLASSES); $this->SetContent($sContent); $this->SetDateTime($oDateTime); @@ -86,6 +91,30 @@ class ActivityEntry extends UIBlock $this->SetOrigin(static::DEFAULT_ORIGIN); } + /** + * Set the type of the entry (eg. case log, edits, transition, ...) + * + * @param string $sType + * + * @return $this + */ + public function SetType($sType) + { + $this->sType = $sType; + + return $this; + } + + /** + * Return the type of the entry (eg. caselog, edits, transition, ...) + * + * @return string + */ + public function GetType() + { + return $this->sType; + } + /** * Set the CSS decoration classes * diff --git a/sources/application/UI/Layout/ActivityPanel/ActivityEntry/CMDBChangeOp/CMDBChangeOpFactory.php b/sources/application/UI/Layout/ActivityPanel/ActivityEntry/CMDBChangeOp/CMDBChangeOpFactory.php index 0703b7626..c845f3311 100644 --- a/sources/application/UI/Layout/ActivityPanel/ActivityEntry/CMDBChangeOp/CMDBChangeOpFactory.php +++ b/sources/application/UI/Layout/ActivityPanel/ActivityEntry/CMDBChangeOp/CMDBChangeOpFactory.php @@ -22,6 +22,7 @@ namespace Combodo\iTop\Application\UI\Layout\ActivityPanel\ActivityEntry\CMDBCha use AttributeDateTime; use Combodo\iTop\Application\UI\Layout\ActivityPanel\ActivityEntry\ActivityEntry; +use Combodo\iTop\Application\UI\Layout\ActivityPanel\ActivityEntry\EditsEntry; use DateTime; use iCMDBChangeOp; @@ -35,8 +36,10 @@ use iCMDBChangeOp; */ class CMDBChangeOpFactory { - /** @var string DEFAULT_DECORATION_CLASSES Use to overload the decoration classes from the ActivityEntry */ - const DEFAULT_DECORATION_CLASSES = 'fas fa-fw fa-mortar-pestle'; + /** @var string DEFAULT_TYPE Used to overload the type from the ActivityEntry */ + const DEFAULT_TYPE = EditsEntry::DEFAULT_TYPE; + /** @var string DEFAULT_DECORATION_CLASSES Used to overload the decoration classes from the ActivityEntry */ + const DEFAULT_DECORATION_CLASSES = ActivityEntry::DEFAULT_DECORATION_CLASSES; /** * Make an ActivityEntry from the iCMDBChangeOp $oChangeOp @@ -53,7 +56,8 @@ class CMDBChangeOpFactory $sContent = $oChangeOp->GetDescription(); $oEntry = new ActivityEntry($oDateTime, $sAuthorFriendlyname, $sContent); - $oEntry->SetDecorationClasses(static::DEFAULT_DECORATION_CLASSES); + $oEntry->SetType(static::DEFAULT_TYPE) + ->SetDecorationClasses(static::DEFAULT_DECORATION_CLASSES); return $oEntry; } diff --git a/sources/application/UI/Layout/ActivityPanel/ActivityEntry/CaseLogEntry.php b/sources/application/UI/Layout/ActivityPanel/ActivityEntry/CaseLogEntry.php index 2d89ed22f..725dd23f8 100644 --- a/sources/application/UI/Layout/ActivityPanel/ActivityEntry/CaseLogEntry.php +++ b/sources/application/UI/Layout/ActivityPanel/ActivityEntry/CaseLogEntry.php @@ -36,6 +36,9 @@ class CaseLogEntry extends ActivityEntry const BLOCK_CODE = 'ibo-caselog-entry'; const HTML_TEMPLATE_REL_PATH = 'layouts/activity-panel/activity-entry/caselog-entry'; + const DEFAULT_TYPE = 'caselog'; + const DEFAULT_DECORATION_CLASSES = 'fas fa-fw fa-quote-left'; + // Specific constants public const DEFAULT_CASELOG_RANK = 0; diff --git a/sources/application/UI/Layout/ActivityPanel/ActivityEntry/EditsEntry.php b/sources/application/UI/Layout/ActivityPanel/ActivityEntry/EditsEntry.php index 1e5e4a6ca..46a7876bf 100644 --- a/sources/application/UI/Layout/ActivityPanel/ActivityEntry/EditsEntry.php +++ b/sources/application/UI/Layout/ActivityPanel/ActivityEntry/EditsEntry.php @@ -39,7 +39,7 @@ class EditsEntry extends ActivityEntry const BLOCK_CODE = 'ibo-edits-entry'; const HTML_TEMPLATE_REL_PATH = 'layouts/activity-panel/activity-entry/edits-entry'; - // Specific constants + const DEFAULT_TYPE = 'edits'; const DEFAULT_DECORATION_CLASSES = 'fas fa-fw fa-pen'; /** @var string $sObjectClass */ diff --git a/sources/application/UI/Layout/ActivityPanel/ActivityEntry/TransitionEntry.php b/sources/application/UI/Layout/ActivityPanel/ActivityEntry/TransitionEntry.php index 1c41e3ce4..bf963bab6 100644 --- a/sources/application/UI/Layout/ActivityPanel/ActivityEntry/TransitionEntry.php +++ b/sources/application/UI/Layout/ActivityPanel/ActivityEntry/TransitionEntry.php @@ -36,7 +36,7 @@ class TransitionEntry extends ActivityEntry const BLOCK_CODE = 'ibo-transition-entry'; const HTML_TEMPLATE_REL_PATH = 'layouts/activity-panel/activity-entry/transition-entry'; - // Specific constants + const DEFAULT_TYPE = 'transition'; const DEFAULT_DECORATION_CLASSES = 'fas fa-fw fa-map-signs'; /** @var string $sOriginStateCode Code of the state before the transition */ diff --git a/templates/layouts/activity-panel/activity-entry/caselog-entry.html.twig b/templates/layouts/activity-panel/activity-entry/caselog-entry.html.twig index cd5aea905..cef6a69b9 100644 --- a/templates/layouts/activity-panel/activity-entry/caselog-entry.html.twig +++ b/templates/layouts/activity-panel/activity-entry/caselog-entry.html.twig @@ -1,9 +1,4 @@ {% extends 'layouts/activity-panel/activity-entry/layout.html.twig' %} {% block iboActivityEntryExtraClasses %}ibo-caselog-entry ibo-caselog-entry--entry-for-caselog-{{ oUIBlock.GetCaseLogRank() }}{% endblock %} -{% block iboActivityEntryType %}caselog{% endblock %} -{% block iboActivityEntryExtraDataAttributes %}data-entry-caselog-attribute-code="{{ oUIBlock.GetAttCode() }}"{% endblock %} - -{% block iboActivityEntryMainInformationIcon %} - -{% endblock %} \ No newline at end of file +{% block iboActivityEntryExtraDataAttributes %}data-entry-caselog-attribute-code="{{ oUIBlock.GetAttCode() }}"{% endblock %} \ No newline at end of file diff --git a/templates/layouts/activity-panel/activity-entry/edits-entry.html.twig b/templates/layouts/activity-panel/activity-entry/edits-entry.html.twig index aa057be17..603a2e18c 100644 --- a/templates/layouts/activity-panel/activity-entry/edits-entry.html.twig +++ b/templates/layouts/activity-panel/activity-entry/edits-entry.html.twig @@ -1,11 +1,6 @@ {% extends 'layouts/activity-panel/activity-entry/layout.html.twig' %} {% block iboActivityEntryExtraClasses %}ibo-edits-entry{% endblock %} -{% block iboActivityEntryType %}edits{% endblock %} - -{% block iboActivityEntryMainInformationIcon %} - -{% endblock %} {% block iboActivityEntryMainInformationContent %} {% if oUIBlock.GetAttributes()|length == 1 %} diff --git a/templates/layouts/activity-panel/activity-entry/layout.html.twig b/templates/layouts/activity-panel/activity-entry/layout.html.twig index 1834a692a..b165add6e 100644 --- a/templates/layouts/activity-panel/activity-entry/layout.html.twig +++ b/templates/layouts/activity-panel/activity-entry/layout.html.twig @@ -1,6 +1,6 @@
diff --git a/templates/layouts/activity-panel/activity-entry/transition-entry.html.twig b/templates/layouts/activity-panel/activity-entry/transition-entry.html.twig index 07076b262..f757abd0e 100644 --- a/templates/layouts/activity-panel/activity-entry/transition-entry.html.twig +++ b/templates/layouts/activity-panel/activity-entry/transition-entry.html.twig @@ -1,13 +1,8 @@ {% extends 'layouts/activity-panel/activity-entry/layout.html.twig' %} {% block iboActivityEntryExtraClasses %}ibo-transition-entry{% endblock %} -{% block iboActivityEntryType %}transition{% endblock %} {% block iboActivityEntryExtraDataAttributes %}data-original-state-code="{{ oUIBlock.GetOriginalStateCode() }}" data-target-state-code="{{ oUIBlock.GetTargetStateCode() }}"{% endblock %} -{% block iboActivityEntryMainInformationIcon %} - -{% endblock %} - {% block iboActivityEntryMainInformationContent %} {% set sOriginalStateLabelAsHtml = '' ~ oUIBlock.GetOriginalStateLabel() ~ '' %} {% set sTargetStateLabelAsHtml = '' ~ oUIBlock.GetTargetStateLabel() ~ '' %}