From 573e7f4e319fa2f21e30548e7f488ff6f5cd0a2f Mon Sep 17 00:00:00 2001 From: Denis Flaven Date: Sun, 5 Sep 2010 09:13:28 +0000 Subject: [PATCH] - Fixed Trac #177: Icons for everything ! For Incidents, User Requests and Changes the icon depends on the state of the object. SVN:trunk[762] --- .../images/change-approved.png | Bin 0 -> 3268 bytes .../images/change-closed.png | Bin 0 -> 2107 bytes .../images/change-rejected.png | Bin 0 -> 2815 bytes .../itop-change-mgmt-1.0.0/images/change.png | Bin 0 -> 2472 bytes .../model.itop-change-mgmt.php | 50 ++++++++++ .../itop-config-mgmt-1.0.0/images/switch.png | Bin 3343 -> 2509 bytes .../images/incident-closed.png | Bin 0 -> 4770 bytes .../images/incident-deadline.png | Bin 0 -> 2750 bytes .../images/incident-escalated.png | Bin 0 -> 4182 bytes .../images/incident.png | Bin 0 -> 4944 bytes .../model.itop-incident-mgmt.php | 88 ++++++++++++++++++ .../images/known-error.png | Bin 0 -> 2738 bytes .../model.itop-knownerror-mgmt.php | 1 + .../en.dict.itop-problem-mgmt.php | 4 +- .../model.itop-problem-mgmt.php | 1 + .../images/user-request-closed.png | Bin 0 -> 2049 bytes .../images/user-request-deadline.png | Bin 0 -> 2878 bytes .../images/user-request-escalated.png | Bin 0 -> 4167 bytes .../images/user-request.png | Bin 0 -> 2211 bytes .../model.itop-request-mgmt.php | 87 +++++++++++++++++ .../en.dict.itop-tickets.php | 4 +- 21 files changed, 231 insertions(+), 4 deletions(-) create mode 100644 modules/itop-change-mgmt-1.0.0/images/change-approved.png create mode 100644 modules/itop-change-mgmt-1.0.0/images/change-closed.png create mode 100644 modules/itop-change-mgmt-1.0.0/images/change-rejected.png create mode 100644 modules/itop-change-mgmt-1.0.0/images/change.png create mode 100644 modules/itop-incident-mgmt-1.0.0/images/incident-closed.png create mode 100644 modules/itop-incident-mgmt-1.0.0/images/incident-deadline.png create mode 100644 modules/itop-incident-mgmt-1.0.0/images/incident-escalated.png create mode 100644 modules/itop-incident-mgmt-1.0.0/images/incident.png create mode 100644 modules/itop-knownerror-mgmt-1.0.0/images/known-error.png create mode 100644 modules/itop-request-mgmt-1.0.0/images/user-request-closed.png create mode 100644 modules/itop-request-mgmt-1.0.0/images/user-request-deadline.png create mode 100644 modules/itop-request-mgmt-1.0.0/images/user-request-escalated.png create mode 100644 modules/itop-request-mgmt-1.0.0/images/user-request.png diff --git a/modules/itop-change-mgmt-1.0.0/images/change-approved.png b/modules/itop-change-mgmt-1.0.0/images/change-approved.png new file mode 100644 index 0000000000000000000000000000000000000000..a1014575b8386d85e369c579460b1b6ed0f278fb GIT binary patch literal 3268 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 RxS#+4002ovPDHLkV1nVyI|={* literal 0 HcmV?d00001 diff --git a/modules/itop-change-mgmt-1.0.0/images/change.png b/modules/itop-change-mgmt-1.0.0/images/change.png new file mode 100644 index 0000000000000000000000000000000000000000..68e0cb3f0a5824a64d6c0062b093f13d264b6c9a GIT binary patch literal 2472 zcmV;Z30L-sP)jQWo28q10^)v|?*nTeerEK#8Chv?-)gTaZEp6m6o>Xc`Ro z2Q?AU(6ou7F)=C;u|||ytq|oRDO4*|sLQRl?b*}abLQsnJKt>fY(rOAciU~!N#2~9 z`DVU(pYM6z%gnA31c98%n<;1bb{4={0RQJ^4>!2WFoqnv*n0_ib&W5wjJu~`k7Dn< z7iX-{-t8IlPLgbf1>lTeMbu-Aq^z0#eR)`+*t1qv1O-`alraszd7+(F3E@B@yF%`1 z+%MAj50U1T(#5$e&zKl6nd$v zck3r4_QAqZnFR~ijAsC?%?ssPixrn7b~!c)TZsK#F7AU0F-~3 z>9VfgWFF)pmtoD}fDv|PD)aYaRAl)Ob`%y!v5}7pLodp{59uXtNw0-JG%a~5g0agm(M={2W}f$~kJbhgfuxpE}TI>@5GS7h6Ek@Yuo zDyOge*)M2={ul=F007!-8wRW??2>x3Ghv}d?f_TKDTx8aK=m|PU(*-{W(SrPIoQqW zQ-v3iN)Lvb?_-ts>1v=GQdZbvr+|K;9W6FR6kZhJU*>*{IZvmhQ zCns?7II?MBC1K*1zY4z=P{gv-hMt}is@wgN}K~;V6>1o)^bkX%e2t`TrobXPyf? z)PXNU#LlMgP`K$_xBQJ%I)`HS7cOaKC?~fD`i*+@0I1bBZRu*7BNsbJBA^kDTv)OC zo=%l}|4AXEuw|>M1r#=m*?;gYktax{TYto5hQ4mgR^;}O$N|7@X8%x!?)!S5MnB7> zfhj*fs#!?+S365?Nuck3`hJV-VP?bX8m2`LCf09a1-WJh<8dTXA`a>(aGP)^O}p{M zZ`04wMBjez;4=;%6nRj|=fed2u5vb#c$2ITbcGq6AXYDi^gYX*{o3EurQt_OJDdS2 z-Tz&Yr;x$dH_&2J$gJ>FW^X|=buF^$X2o~@l{rrMe)#ZXNNuXFcRhaq^b)Cqg$<)3 zp>oeZMQ%>lO0=K0IYzO1feiBd--^6Q4nII=d6>dgU8Pt5szrL%x{SVmf7oij@;uHz z`|i)kQ_&wpezYfY1b}u`nT5{<`W0#9U#CL=Szg$0a9Mp9NmLPdJ71tx{wWGVLLTP= zE{d~!HUL&`elM`}&{4QD%#g`(xNm+) z-2`@l;{wbbLsEJ6^96mbuW#^^^wku$&7|DdpW#i3l6L6lk}r14Odj#-f{}b)XI`^q zseD>BZEnB5I*&$sO5ux3m=;ybP>1s-)&?*urcJ%J8w9TbBNqD}=So9MjYfQ~Lw z1Lp#7Xo9eCHV&{fHR4>%A{o49=r*L6-l_&h;w`ee)GZHi`OEKHLc3X7J1wgwe^nl_ z`o#2mLx*6%>(lLo12DH&19ZY)moZ<(M=`wK8~Q3L6|H&YVpV3Aa`K>2tRlT0ct{>u z7z8)HZw4NlJXx*UHs=9jpP4f|s-nfljP2&qF}FUGaO=}4r#{u_)+SrLWIW=<6Sg0Z z*nZ6NQI)IPZ3RThPl0rZ4L2Vi1JWym)*mudQFqEIm}Jqk8fGk+H6jV^m^g7@dHy6` z@MnHgEKO1hLCQEL8PoHtY(L0EJTDauyi{DgRKj#qNz+ZI`AyqSCKGq6GVxLd;OR_* zn@F`fsbs=UC!>rTemrXUQQHWjs)tf-Nua>=X@D`_?yPiKsyjvmAmKPCUTeW`1dDPM zE&tWUFi?qIDj9Z=7eghULjeMT1PRoR$4_2-!w)>u3w&iZ9s$^l1)dcTJUeN)u~fuK zWGp9@vD`#eq?Ae}oSL@1y^VF>>wSp_Z60wQIN@)8J>dsLRWxIU$}<6Ms9GGTdaSx6 z)vA@}jg-v*E-*vrL0~AAm~K%_r{9P=B)Aedi=6CZ5R(F+3w~aXr`~a-E3seBbC1Yq z0H}<&QfT?gq!Kzk=)C?4J#fCdqfa+5t mDP(8DcJ^NlPWSd-0R{jg$x;a^T$JMg0000 "id", "db_finalclass_field" => "", "display_template" => "", + "icon" => "../modules/itop-change-mgmt-1.0.0/images/change.png", ); MetaModel::Init_Params($aParams); MetaModel::Init_InheritAttributes(); @@ -296,6 +297,55 @@ abstract class Change extends Ticket $sName = sprintf('C-%06d', $iKey); $this->Set('ref', $sName); } + + /** + * Get the icon representing this object + * @param boolean $bImgTag If true the result is a full IMG tag (or an emtpy string if no icon is defined) + * @return string Either the full IMG tag ($bImgTag == true) or just the path to the icon file + */ + public function GetIcon($bImgTag = true) + { + $sStatus = $this->Get('status'); + switch($this->GetState()) + { + case 'approved': + case 'implemented': + case 'monitored': + $sIconName = self::MakeIconFromName('change-approved.png'); + break; + + case 'rejected': + case 'notapproved': + $sIconName = self::MakeIconFromName('change-rejected.png'); + break; + + case 'closed': + $sIcon = self::MakeIconFromName('change-closed.png'); + break; + + default: + $sIcon = MetaModel::GetClassIcon(get_class($this), $bImgTag); + } + return $sIcon; + } + + protected static function MakeIconFromName($sIconName, $bImgTag = true) + { + $sIcon = ''; + if ($sIconName != '') + { + $sPath = '../modules/itop-change-mgmt-1.0.0/images/'.$sIconName; + if ($bImgTag) + { + $sIcon = ""; + } + else + { + $sIcon = $sPath; + } + } + return $sIcon; + } } class RoutineChange extends Change diff --git a/modules/itop-config-mgmt-1.0.0/images/switch.png b/modules/itop-config-mgmt-1.0.0/images/switch.png index b32274acd24f6ce1d03a1fc6a8b159a02fc2a3a9..bca7e198860709954ead60c3a3bbae8271464fc1 100644 GIT binary patch delta 2447 zcmV;A32^q08qE`sSbqs$NklX0!R_1yEgGjl+izqrbmj45jg2US4o@b%l?Q57w?-i;Rp6golT}d;sd| z>TvMjL3DR_!+&Hl!NbEtjOVM1iwoS{JroFU0g{rEf(;usz}wsVQZ?*$@#CffXxO$oJ0;z`(!&jvhUVTeogahfgIfy{u`X>BCnV!s|44 zVq!u7xPQ7#8^@sYJzqygM$psKgDLe#AYox)2nq_4wVx>f>ie-{$52&OHFHfHuQ^W; z8UQD$LLj`xL2ol6G|q0fi$b}&x=cIAHUJa<)OW+f!vcb9KNA3a*zx1XrC8}f!?eLh zqqX-nRXFK=zLN8!qoc5o+Tr5vqQICiIXR)$v46<@Xi~)4NvV*(r#yo>z-zo$sHLLg=kF)-DtTi7 zIDcOx9t&Xa-n}?|`ZT<~yb&20iQtgnM>ubsvkf;IZv>z}(^%bV&^XeR*SLN_K!DuK zHFyuBKhYRn=7pZVy31Vmv}ZLT0?}h&o2&X&9$2W}F(Jj;J;? zFfeeY4dJ?^a7RanAYZ9C=5jElvfA< zD#dK-7`d;FH-gabjlbc&T6+0C>jRCyckiCmpalVFY-~hDMFonk7NK2*E?sqx@qh6N zaB+5dMz(X&^e1e9zXL{Z?~xvowp2 zI#~03vZ>o6lYIoet<7*#3bb|GHmqK?dQOGBT~~{fCr{$TGarhVn3OcY5p|3aGDbj8 zf}o7jXf}!u9z2j|QeqbjfCVMq8h?x5|Lq(S|CocDwow!p79cD<3>iDr#w6^~jmg;f z7(To784evfgbR5WU^ba&I?(yJKig=d_jS_Jcv6R8sDR6tFJBk{{(vJfIR)qMG~UrvXMZOxjVFy* zjS~_Q98$>X4{8`Ma3g-{(j~O2Mc#@D$Jm2f^nOu{Q6+I4T=eG6oAC1Y!nUp3q-UYG z7&SfGJKAyO$`y1y?1I&5MQCW~jEp)mo{?d9O3vT8b4Q}U`?-tb8jdRQoc#bJKq{O% zbqXGQ2p3je;!F>uy2zE$Z-1a|Lpz2F?AWpHZCKZ=LGizf@%a~@ix>GYzH+kP-?L{A zcJJOT`9Yw@dZA^Qj-l7<>+3~GsCH3NQP{F&iwK0HF((4_3i-wb+LRYs+8_Pr1B<5x zSy@@|?(l`Jtq(U!Z=j*E0o!-{1l!-UaVo0Zv zHr%4pcvfYC<^K6eJGMCh#7MpYgC7y1TpL>(Z}~o|cZzmQJ`OIU~R2 zDhA7K_|?0=L`%F0UBawOn~ZziF)-;Qs} zzs2Uwo6&iv9@oFAKuc!_!k2|1DIpnwApz*>?vkE{lp;l0__l7{Dv8Y`CNQ4jrKhJa z_{im{P9-F<6@Mje-@Yvsl3JgWlY@uKsCP1Vsl9ToikdI#8X8r8q@wsrF?_5R^v6yh zv?Kr#kzrU7wF2W4FG@uRY1N_jKbK8CJ;cz`d(>;bvdCP!b`59Go>l5G zhTr}6*H{|ljsaEp*2G&8mmG(RhH8vh2GMKlMR!>@Hh*r~BuYc|p;L6Lz{GtT;}>+(E!QcOZ%|HH;QYvmcJ&>F8Peq{=1cv#^$ph~#`%f9- z;@67AQibRkDh^fext|Le2UQ|IK3+Ud)Wbh0 zN;dF38-JRdnh-Ucnwk_E=~Ft&>I(&+ho7Gx)~#D7@<%YyZ$zUYzW{Z$bucUMX6*ba z>gpTN*Vl*Pp=sKTj*bZBSaV`xVq}dMax&-eUrLmIGYXVmc8{#M7xFHmD%PDHLkV1j8$wuS%z delta 3287 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 VicerQjB5Y@002ovPDHLkV1nPJSls{s diff --git a/modules/itop-incident-mgmt-1.0.0/images/incident-closed.png b/modules/itop-incident-mgmt-1.0.0/images/incident-closed.png new file mode 100644 index 0000000000000000000000000000000000000000..264ce583d62a275ad38821cb90e26e5b59bb8820 GIT binary patch literal 4770 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 literal 0 HcmV?d00001 diff --git a/modules/itop-incident-mgmt-1.0.0/images/incident.png b/modules/itop-incident-mgmt-1.0.0/images/incident.png new file mode 100644 index 0000000000000000000000000000000000000000..237db0c76e1de66f653c05b1281abd4a1429bf68 GIT binary patch literal 4944 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 "id", "db_finalclass_field" => "", "display_template" => "", + "icon" => "../modules/itop-incident-mgmt-1.0.0/images/incident.png", ); MetaModel::Init_Params($aParams); MetaModel::Init_InheritAttributes(); @@ -93,6 +94,93 @@ class Incident extends ResponseTicket } parent::OnInsert(); } + + /** + * Get the icon representing this object + * @param boolean $bImgTag If true the result is a full IMG tag (or an emtpy string if no icon is defined) + * @return string Either the full IMG tag ($bImgTag == true) or just the path to the icon file + */ + public function GetIcon($bImgTag = true) + { + $sStatus = $this->Get('status'); + switch($this->GetState()) + { + + case 'escalated_tto': + case 'escalated_ttr': + $sIconName = self::MakeIconFromName('incident-escalated.png'); + break; + + case 'resolved': + case 'closed': + $sIcon = self::MakeIconFromName('incident-closed.png'); + break; + + case 'new': + $sIcon = self::MakeIconFromName('incident.png'); + $oEscalationDeadline = $this->Get('tto_escalation_deadline'); + if ($oEscalationDeadline != null) + { + // A SLA is running + $iStartDate = AttributeDateTime::GetAsUnixSeconds($this->Get('start_date')); + $iEscalationDeadline = AttributeDateTime::GetAsUnixSeconds($oEscalationDeadline); + $ratio = ($iEscalationDeadline - time())/($iEscalationDeadline - $iStartDate); + if ($ratio <= 0) + { + $sIcon = self::MakeIconFromName('incident-escalated.png'); + } + else if ($ratio <= 0.25) + { + $sIcon = self::MakeIconFromName('incident-deadline.png'); + } + } + break; + + case 'assigned': + $sIcon = self::MakeIconFromName('incident.png'); + $oEscalationDeadline = $this->Get('ttr_escalation_deadline'); + if ($oEscalationDeadline != null) + { + // A SLA is running + $iStartDate = AttributeDateTime::GetAsUnixSeconds($this->Get('start_date')); + $iEscalationDeadline = AttributeDateTime::GetAsUnixSeconds($oEscalationDeadline); + $ratio = ($iEscalationDeadline - time())/($iEscalationDeadline - $iStartDate); + if ($ratio <= 0) + { + $sIcon = self::MakeIconFromName('incident-escalated.png'); + } + else if ($ratio <= 0.25) + { + $sIcon = self::MakeIconFromName('incident-deadline.png'); + } + } + break; + + + default: + $sIcon = MetaModel::GetClassIcon(get_class($this), $bImgTag); + } + return $sIcon; + } + + protected static function MakeIconFromName($sIconName, $bImgTag = true) + { + $sIcon = ''; + if ($sIconName != '') + { + $sPath = '../modules/itop-incident-mgmt-1.0.0/images/'.$sIconName; + if ($bImgTag) + { + $sIcon = ""; + } + else + { + $sIcon = $sPath; + } + } + return $sIcon; + } + } class lnkTicketToIncident extends cmdbAbstractObject diff --git a/modules/itop-knownerror-mgmt-1.0.0/images/known-error.png b/modules/itop-knownerror-mgmt-1.0.0/images/known-error.png new file mode 100644 index 0000000000000000000000000000000000000000..0871dfbc06749a4df1f804cdfc4cbe84c3136c26 GIT binary patch literal 2738 zcmV;j3QhHiP)%6Uyu;0 zcnU>Df(HahAR!P^P*Ex*q*6s~(>5ivkdW55wY^t+FSB#MaL!zI*K0RUvnx=gPI5f6 z_>tJ03VUC5mD`a4>~7 z1x*}TIps$RKvT7GDJor&B$5%*X)fnyy-w-37pohXBNo_l-JWnD8e-3OI0G4g7S*F>I zK09s(pV@rjBLKQW0L1+rX2%SR3d;0NH|WMz;CP?;pQB`RyUq_+L6VVFj0EENkg zz(vgT;m^9R1Faq68a1_evX}C3PmU*2NqjaxjgO_HAn&kD{qFBu+t{o($OEBA#V%dk z{K!;@=uZ~To5tW`%me^g;NDQy=dW~#x=TTna&a5 z$sB5*`6Qm(UcwKqzYEkNSFAS~WpO2iMYSAfOS0jKGl zY2n-FmhjBQ5Q;aE#T9&i>GSyb`6qGVgrQI4ao z8yg()unrgq1K8CISc$mtd3-l;esLbpWN!g4U53@(hI9Np@RetQFZ~#5Y!WhMt$qD> zcw+Mxc>3WJevR~azi_WLAl^d_z#ss&?c7~Tw<{2sTBI6+7{R3n3EXQxM~ALc3@-}{3RQ`U*cL~kLJm1jHN0k1#0RA`Y;4_T zW?LTb7Z0UzR(lJL@@*)lPQs%@-gpC!QuDy+rV51ssJe`%(nNCk&p5v@<nw(M1w&VB%)l=8XmIAO3nI>=2V5pOR;Cf<9IrVMm;R-kR&^rTiJ$z=c@ z2vb9=^fpeUeEtiR0ixj{+Ru2$?vOId8%2MEBTiC^K`9OCgf^*=rueiY-WrrKMQeG- zE;(VUE$saJc|@j;qSLMrEoA~jwPeVY5gm576MI02f9@>Z>h{n@Y>}g;Wfe(@oKX82 z0M`a7R8NWIrr!%h0n0lrG{=t-uz>4iOrzH34K!}OfOziH=qMfUyeu1#rcdHuEvwg! z-GM?LjzWBiP$d96Os9S+_$VFs7 z^%P~m@@N=~3XqpB;IHp)(#_Ea!Yzzs7IIyitx02bo$u8zrR+dgO8KF!ZGRkcO#JZ8 z8d8t_2oWJh%rfB8leTYPMe)VU*nH`y-qhhx|2zG~OL(@HL%CY@o$1a-PX1n0=)f9a z`6Q}n)CZ>+518|l-y{L~*%zw#|qi?>jJ`x+`Yt`R6& zYtBw#@eALDbs%A0@o# z>W02-=J%JtT!}4*>Cfl{zv~sg&n1bAQiN+8_X?v1=hBMntcU?rd$~ zPSNqti|~p)LRs=1cY6b1k3v~qdk+nO9rQTvxa*pxd7XDZDdlXqw6GBjem5j^hdLpo z1s_P_?s41Q*YR+lqMt{|)`ndV1XQw1v^wJtLRiFm7Wkbu1cjPeYOEL8&^fn%MTWaM z-hbWv&_zsRL|6-3nx@MHXo4xUuas&Xzo8|^`WleCk8|(o@Zdf_bSLh`&D|ynRhcqj z2KG#)ROBx8f^J{vt#kW3?B4Uvz4HLZDKimiJrW@0vzcVa|sD?ek(7+QrwIVBa^;sriSX$XLeHw5He%Wo*c!K_R1{dq3**Tw*q zNZ*jP)Z7!DcSiDR(VK}((^zG>v1mJcta6VN; zjx0-QRwHF-72;?Seb%Uu>3H{4%EkbE3ei|?o4$13tx)$XD4F|j2E@sN)#BIl8}~m>hyTb?0<%F=sq4LJlzb^= zAY8~H0G9wjRf0z4>|ekhm$0FAi74ed8_M8V~`$xbrs$zep>#U!W#`zj zW0;$p!}$0(vP(yhnKme*5)Q>BOeSK!rIMJSX_nUz$+2-nXlAlvNhneRb#mpO#FjPH z##-INYcdUvv1sO?uc!_LkjwYJFyV-=uB;aGg#z-098R7TkxVAN5u1&jPsO505VPY^ zTDc`t5aLPC$+i^7He&dXEn?kpQS6u~S2UE`RkYi(tII7FN~@hv<;IvM*QTvbWwBGa zX-1;ep#V%}rgk;8?BVR@(UrXhYKicCTg;ct+I-Cr$Tit z(L#FS=>oUEtxPIb~$N~bJsGwGOHamU({T&F_)rcUM2a0NlOL`kE)HIh#3UCiTx z>nvZrdKI&?vnZ8H-uK5mPBfcMQ|riz^w7DM_~1u&67B8!xS^D@mcEs@&CR%Lm7<=5 zs8K!bP;YKIf~b&#I!{2ZNRurhqyM6Na4uSypMU=L?b|=ObLY+{h(0y4^32RkDVNJ_ zNzrIYw9P7t|DctP*mNk0 "id", "db_finalclass_field" => "", "display_template" => "", + "icon" => "../modules/itop-knownerror-mgmt-1.0.0/images/known-error.png", ); MetaModel::Init_Params($aParams); MetaModel::Init_InheritAttributes(); diff --git a/modules/itop-problem-mgmt-1.0.0/en.dict.itop-problem-mgmt.php b/modules/itop-problem-mgmt-1.0.0/en.dict.itop-problem-mgmt.php index b9fd7481d..0c5e10966 100644 --- a/modules/itop-problem-mgmt-1.0.0/en.dict.itop-problem-mgmt.php +++ b/modules/itop-problem-mgmt-1.0.0/en.dict.itop-problem-mgmt.php @@ -107,7 +107,7 @@ Dict::Add('EN US', 'English', 'English', array( 'Class:Problem/Attribute:impact/Value:2+' => '', 'Class:Problem/Attribute:impact/Value:3' => 'A Department', 'Class:Problem/Attribute:impact/Value:3+' => '', - 'Class:Problem/Attribute:urgency' => 'urgency', + 'Class:Problem/Attribute:urgency' => 'Urgency', 'Class:Problem/Attribute:urgency+' => '', 'Class:Problem/Attribute:urgency/Value:1' => 'Low', 'Class:Problem/Attribute:urgency/Value:1+' => 'Low', @@ -115,7 +115,7 @@ Dict::Add('EN US', 'English', 'English', array( 'Class:Problem/Attribute:urgency/Value:2+' => 'Medium', 'Class:Problem/Attribute:urgency/Value:3' => 'High', 'Class:Problem/Attribute:urgency/Value:3+' => 'High', - 'Class:Problem/Attribute:priority' => 'priority', + 'Class:Problem/Attribute:priority' => 'Priority', 'Class:Problem/Attribute:priority+' => '', 'Class:Problem/Attribute:priority/Value:1' => 'Low', 'Class:Problem/Attribute:priority/Value:1+' => '', diff --git a/modules/itop-problem-mgmt-1.0.0/model.itop-problem-mgmt.php b/modules/itop-problem-mgmt-1.0.0/model.itop-problem-mgmt.php index 50f00ff80..3c1261fc2 100644 --- a/modules/itop-problem-mgmt-1.0.0/model.itop-problem-mgmt.php +++ b/modules/itop-problem-mgmt-1.0.0/model.itop-problem-mgmt.php @@ -38,6 +38,7 @@ class Problem extends Ticket "db_key_field" => "id", "db_finalclass_field" => "", "display_template" => "", + "icon" => "../modules/itop-problem-mgmt-1.0.0/images/problem.png", ); MetaModel::Init_Params($aParams); MetaModel::Init_InheritAttributes(); diff --git a/modules/itop-request-mgmt-1.0.0/images/user-request-closed.png b/modules/itop-request-mgmt-1.0.0/images/user-request-closed.png new file mode 100644 index 0000000000000000000000000000000000000000..77ac9138bbd094ffd5095ac64849f3c3087b19ac GIT binary patch literal 2049 zcmV+c2>$npP)R6yFE{c zM8e=~YCPTA+FF{Dl5&6DW?*)9HtFcA;6JFUuBo@Bq;l;Y9bmOt;l%529^!dZ^Y!c3 zh{VXcc!0npLqG#xT~qtDV773BgM;k;*_l~zxqIN1W5lVn*cR)^d7BjUZNpR2SgF_{Ui|md(XEYkgSyK-r5qXkLJ;`Qx*vrn_pMDBnd-XV^ z*lY~=wd<{Lv%LdMI2#j_lkoft2aBVTNYjwV^EQ$mc_b1d@K%yd4ar6UZxRF$a2z>& zn1N>x#}xQtNeOJ-ycuFR6LcT?01EdXD9*{vZNk~fS$6_zPmT5q(mXlq9s z$_I-X`<)~u<4~Ui4o7}bdV0DOjh?gS9+=BEwHSF-HX3;Cz={iT0mUVz%KI0&lTc zD5Wyv3MMqPSpbXK!g?KdPcPPm2)kAzz{sexLJ0t8qKG%SoxYKgQbAbyObE&3`9!jz zgTOiLb~t|QWk$q!eDUR15DJADITn4DfHotNngAS*f?^ZTH{JDmOOcdsMJ6UgqS0!Z zY!(4eAn1Iz%LU*6a31>a48)NWu^MZ@C7lnnLBEMC#m<5we_!#g-MgD&(P;Lv3D85a zx2dhFsriOdkT{H=RXLuNXy?QmCr1U^8dJpKyuoR2gYbp?cJS4Ga?~|BfV>!zr zfDb!#`pnt-)U-`}BJlIfsEaC2KjwRBL897qqV8V(GqgH^W`=#w78d8`=AIM97@stO zjEsyo^78ToFI8BRDGt1BkieWVRS=63(1T7OCCz(bZ0Voav-cP_h1p3HK*RM-PftS{ z=4mZ8DpHW*qG_B3S(Xy|L`onZ<1FaOQ!+p~`7nUfNfW>YO~a*zhQ=Ma+bM;{MKDf2 z^M-5y4-1-Ce_lUZncKF(#Kc6Tueaw@Boa)T09MqQ&dz_%{CKIsNi8vXKr}`?QB+yK zBPBGktS7Cu*v6>S_wsLYu-R)|b{fSj6zb~gDsOf+Hm9YfvK%hzUaSYO z*bLADU6K>uV+4=hgJ>ii?PzbS!tWR9ohxeQki<-1UtjqzS1z}hu_d4f8nr7LfQh3K$;2ZJ5 zPj~OKJg(IXYD0OHACc4~m_RnwBpWJ($?ixcwI;@#JQD~6%3R(5Uc|-uN$Te%Rr8^l z8Mu7qXJ%Mq!$yM^H0UYzNj}NU%p~w=*yLriqFo6j5t^Q!D(~%aH_ssGxfYqV)Ml_^ z0kYs~%c>3nO+CL&T_-cytP=P|H?|hb8bo4hDp1zf<7!c|jcU-m2zVv(Sfohv*k@@T zqV}EMYaF!AxhfLUIz=KvgI-EAG2tICce}frQ&LlbBNILp{Da8T^9VQ%<18gsIH%2IkK%{ye+C?@*$n>Q+P#dThju^wF5 zf8e5fUQ&PKbYQ_idc_B~@t-|5 f2(0Y*Pk;dcW{7wf_D~o_00000NkvXXu0mjf7Dv`J literal 0 HcmV?d00001 diff --git a/modules/itop-request-mgmt-1.0.0/images/user-request-deadline.png b/modules/itop-request-mgmt-1.0.0/images/user-request-deadline.png new file mode 100644 index 0000000000000000000000000000000000000000..1fb42ec00be23857b5f6165621944aa6684b692e GIT binary patch literal 2878 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 literal 0 HcmV?d00001 diff --git a/modules/itop-request-mgmt-1.0.0/model.itop-request-mgmt.php b/modules/itop-request-mgmt-1.0.0/model.itop-request-mgmt.php index a81637017..6bd86d55f 100644 --- a/modules/itop-request-mgmt-1.0.0/model.itop-request-mgmt.php +++ b/modules/itop-request-mgmt-1.0.0/model.itop-request-mgmt.php @@ -38,6 +38,7 @@ class UserRequest extends ResponseTicket "db_key_field" => "id", "db_finalclass_field" => "", "display_template" => "", + "icon" => "../modules/itop-request-mgmt-1.0.0/images/user-request.png", ); MetaModel::Init_Params($aParams); MetaModel::Init_InheritAttributes(); @@ -84,6 +85,92 @@ class UserRequest extends ResponseTicket $this->Set('ref', $sName); return parent::ComputeValues(); } + + /** + * Get the icon representing this object + * @param boolean $bImgTag If true the result is a full IMG tag (or an emtpy string if no icon is defined) + * @return string Either the full IMG tag ($bImgTag == true) or just the path to the icon file + */ + public function GetIcon($bImgTag = true) + { + $sStatus = $this->Get('status'); + switch($this->GetState()) + { + + case 'escalated_tto': + case 'escalated_ttr': + $sIconName = self::MakeIconFromName('user-request-escalated.png'); + break; + + case 'resolved': + case 'closed': + $sIcon = self::MakeIconFromName('user-request-closed.png'); + break; + + case 'new': + $sIcon = self::MakeIconFromName('user-request.png'); + $oEscalationDeadline = $this->Get('tto_escalation_deadline'); + if ($oEscalationDeadline != null) + { + // A SLA is running + $iStartDate = AttributeDateTime::GetAsUnixSeconds($this->Get('start_date')); + $iEscalationDeadline = AttributeDateTime::GetAsUnixSeconds($oEscalationDeadline); + $ratio = ($iEscalationDeadline - time())/($iEscalationDeadline - $iStartDate); + if ($ratio <= 0) + { + $sIcon = self::MakeIconFromName('user-request-escalated.png'); + } + else if ($ratio <= 0.25) + { + $sIcon = self::MakeIconFromName('user-request-deadline.png'); + } + } + break; + + case 'assigned': + $sIcon = self::MakeIconFromName('user-request.png'); + $oEscalationDeadline = $this->Get('ttr_escalation_deadline'); + if ($oEscalationDeadline != null) + { + // A SLA is running + $iStartDate = AttributeDateTime::GetAsUnixSeconds($this->Get('start_date')); + $iEscalationDeadline = AttributeDateTime::GetAsUnixSeconds($oEscalationDeadline); + $ratio = ($iEscalationDeadline - time())/($iEscalationDeadline - $iStartDate); + if ($ratio <= 0) + { + $sIcon = self::MakeIconFromName('user-request-escalated.png'); + } + else if ($ratio <= 0.25) + { + $sIcon = self::MakeIconFromName('user-request-deadline.png'); + } + } + break; + + + default: + $sIcon = MetaModel::GetClassIcon(get_class($this), $bImgTag); + } + return $sIcon; + } + + protected static function MakeIconFromName($sIconName, $bImgTag = true) + { + $sIcon = ''; + if ($sIconName != '') + { + $sPath = '../modules/itop-request-mgmt-1.0.0/images/'.$sIconName; + if ($bImgTag) + { + $sIcon = ""; + } + else + { + $sIcon = $sPath; + } + } + return $sIcon; + } } $oMyMenuGroup = new MenuGroup('RequestManagement', 30 /* fRank */); diff --git a/modules/itop-tickets-1.0.0/en.dict.itop-tickets.php b/modules/itop-tickets-1.0.0/en.dict.itop-tickets.php index 50d11e41d..0316201e7 100644 --- a/modules/itop-tickets-1.0.0/en.dict.itop-tickets.php +++ b/modules/itop-tickets-1.0.0/en.dict.itop-tickets.php @@ -49,7 +49,7 @@ Dict::Add('EN US', 'English', 'English', array( 'Class:Ticket/Attribute:ref+' => '', 'Class:Ticket/Attribute:title' => 'Title', 'Class:Ticket/Attribute:title+' => '', - 'Class:Ticket/Attribute:description' => 'description', + 'Class:Ticket/Attribute:description' => 'Description', 'Class:Ticket/Attribute:description+' => '', 'Class:Ticket/Attribute:ticket_log' => 'Log', 'Class:Ticket/Attribute:ticket_log+' => '', @@ -255,7 +255,7 @@ Dict::Add('EN US', 'English', 'English', array( 'Class:ResponseTicket/Stimulus:ev_reassign+' => '', 'Class:ResponseTicket/Stimulus:ev_timeout' => 'Escalation', 'Class:ResponseTicket/Stimulus:ev_timeout+' => '', - 'Class:ResponseTicket/Stimulus:ev_resolve' => 'Mark a resolved', + 'Class:ResponseTicket/Stimulus:ev_resolve' => 'Mark as resolved', 'Class:ResponseTicket/Stimulus:ev_resolve+' => '', 'Class:ResponseTicket/Stimulus:ev_close' => 'Close', 'Class:ResponseTicket/Stimulus:ev_close+' => '',