Переглянути джерело

#208 Missing email notification tabs for tickets - now automatically added for any class

git-svn-id: http://svn.code.sf.net/p/itop/code/trunk@679 a333f486-631f-4898-b8df-5754b55c2be0
romainq 15 роки тому
батько
коміт
c942c6374b

+ 19 - 0
application/cmdbabstract.class.inc.php

@@ -228,6 +228,25 @@ abstract class cmdbAbstractObject extends CMDBObject
 			}
 		}
 		$oPage->SetCurrentTab('');
+
+		if (!$bEditMode)
+		{
+			// Get the actual class of the current object
+			// And look for triggers referring to it
+			// If any trigger has been found then display a tab with notifications
+			//			
+			$sClass = get_class($this);
+			$oTriggerSet = new CMDBObjectSet(DBObjectSearch::FromOQL("SELECT TriggerOnObject AS T WHERE T.target_class = '$sClass'"));
+			if ($oTriggerSet->Count() > 0)
+			{
+				$oPage->SetCurrentTab(Dict::S('UI:NotificationsTab'));
+		
+				// Display notifications regarding the object
+				$iId = $this->GetKey();
+				$oNotifSet = new CMDBObjectSet(DBObjectSearch::FromOQL("SELECT EventNotificationEmail AS Ev JOIN TriggerOnObject AS T ON Ev.trigger_id = T.id WHERE T.target_class = '$sClass' AND Ev.object_id = $iId"));
+				self::DisplaySet($oPage, $oNotifSet);
+			}
+		}
 	}
 
 	function GetBareProperties(WebPage $oPage, $bEditMode = false)

+ 1 - 0
dictionaries/dictionary.itop.ui.php

@@ -365,6 +365,7 @@ Dict::Add('EN US', 'English', 'English', array(
 	'UI:NoObject_Class_ToDisplay' => 'No %1$s to display',
 	'UI:History:LastModified_On_By' => 'Last modified on %1$s by %2$s.',
 	'UI:HistoryTab' => 'History',
+	'UI:NotificationsTab' => 'Notifications',
 	'UI:History:Date' => 'Date',
 	'UI:History:Date+' => 'Date of the change',
 	'UI:History:User' => 'User',

+ 1 - 0
dictionaries/fr.dictionary.itop.ui.php

@@ -366,6 +366,7 @@ Dict::Add('FR FR', 'French', 'Français', array(
 	'UI:NoObject_Class_ToDisplay' => 'Aucun objet %1$s à afficher',
 	'UI:History:LastModified_On_By' => 'Dernière modification par %2$s le %1$s.',
 	'UI:HistoryTab' => 'Historique',
+	'UI:NotificationsTab' => 'Notifications',
 	'UI:History:Date' => 'Date',
 	'UI:History:Date+' => 'Date de modification',
 	'UI:History:User' => 'Utilisateur',