浏览代码

Customer portal : Formatted date in case log entries header

git-svn-id: http://svn.code.sf.net/p/itop/code/trunk@4180 a333f486-631f-4898-b8df-5754b55c2be0
glajarige 9 年之前
父节点
当前提交
eb8c79453d
共有 1 个文件被更改,包括 52 次插入35 次删除
  1. 52 35
      sources/renderer/bootstrap/fieldrenderer/bssimplefieldrenderer.class.inc.php

+ 52 - 35
sources/renderer/bootstrap/fieldrenderer/bssimplefieldrenderer.class.inc.php

@@ -22,6 +22,7 @@ namespace Combodo\iTop\Renderer\Bootstrap\FieldRenderer;
 use \utils;
 use \Dict;
 use \UserRights;
+use \AttributeDateTime;
 use \InlineImage;
 use \Combodo\iTop\Renderer\FieldRenderer;
 use \Combodo\iTop\Renderer\RenderingOutput;
@@ -109,41 +110,7 @@ EOF
 					// Then the previous entries if necessary
 					if ($sFieldClass === 'Combodo\\iTop\\Form\\Field\\CaseLogField')
 					{
-						$aEntries = $this->oField->GetEntries();
-						if (count($aEntries) > 0)
-						{
-							$oOutput->AddHtml('<div>');
-							for ($i = 0; $i < count($aEntries); $i++)
-							{
-								$sEntryDate = $aEntries[$i]['date'];
-								$sEntryUser = $aEntries[$i]['user_login'];
-								$sEntryHeader = Dict::Format('UI:CaseLog:Header_Date_UserName', $sEntryDate, $sEntryUser);
-
-								// Only the last 2 entries are expanded by default
-								$sEntryContentExpanded = ($i < 2) ? 'true' : 'false';
-								$sEntryHeaderButtonClass = ($i < 2) ? '' : 'collapsed';
-								$sEntryContentClass = ($i < 2) ? 'in' : '';
-								$sEntryContentId = 'caselog_field_entry_content-' . $this->oField->GetGlobalId() . '-' . $i;
-
-								// Note : We use CKEditor stylesheet to format this
-								$oOutput->AddHtml(
-<<<EOF
-									<div class="caselog_field_entry cke_inner">
-										<div class="caselog_field_entry_header">
-											{$sEntryHeader}
-											<div class="pull-right">
-												<span class="caselog_field_entry_button {$sEntryHeaderButtonClass}" data-toggle="collapse" href="#{$sEntryContentId}" aria-expanded="{$sEntryContentExpanded}" aria-controls="{$sEntryContentId}"></span>
-											</div>
-										</div>
-										<div class="caselog_field_entry_content collapse {$sEntryContentClass}" id="{$sEntryContentId}">
-											{$aEntries[$i]['message_html']}
-										</div>
-									</div>
-EOF
-								);
-							}
-							$oOutput->AddHtml('</div>');
-						}
+						$this->PreparingCaseLogEntries($oOutput);
 					}
 
 					$oOutput->AddHtml('</div>');
@@ -260,6 +227,17 @@ EOF
 						$oOutput->AddHtml('</div>');
 						break;
 
+					case 'Combodo\\iTop\\Form\\Field\\CaseLogField':
+						$oOutput->AddHtml('<div class="form-group ' . $sFieldMandatoryClass . '">');
+						if ($this->oField->GetLabel() !== '')
+						{
+							$oOutput->AddHtml('<label for="' . $this->oField->GetGlobalId() . '" class="control-label">')->AddHtml($this->oField->GetLabel(), true)->AddHtml('</label>');
+						}
+						// Entries if necessary
+						$this->PreparingCaseLogEntries($oOutput);
+						$oOutput->AddHtml('</div>');
+						break;
+
 					case 'Combodo\\iTop\\Form\\Field\\DateTimeField':
 						$oOutput->AddHtml('<div class="form-group">');
 						// Showing label / value only if read-only but not hidden
@@ -406,4 +384,43 @@ EOF
 		return $oOutput;
 	}
 
+	protected function PreparingCaseLogEntries(RenderingOutput &$oOutput)
+	{
+		$aEntries = $this->oField->GetEntries();
+		if (count($aEntries) > 0)
+		{
+			$oOutput->AddHtml('<div>');
+			for ($i = 0; $i < count($aEntries); $i++)
+			{
+				$sEntryDate = AttributeDateTime::GetFormat()->Format($aEntries[$i]['date']);
+				$sEntryUser = $aEntries[$i]['user_login'];
+				$sEntryHeader = Dict::Format('UI:CaseLog:Header_Date_UserName', $sEntryDate, $sEntryUser);
+
+				// Only the last 2 entries are expanded by default
+				$sEntryContentExpanded = ($i < 2) ? 'true' : 'false';
+				$sEntryHeaderButtonClass = ($i < 2) ? '' : 'collapsed';
+				$sEntryContentClass = ($i < 2) ? 'in' : '';
+				$sEntryContentId = 'caselog_field_entry_content-' . $this->oField->GetGlobalId() . '-' . $i;
+
+				// Note : We use CKEditor stylesheet to format this
+				$oOutput->AddHtml(
+<<<EOF
+					<div class="caselog_field_entry cke_inner">
+						<div class="caselog_field_entry_header">
+							{$sEntryHeader}
+							<div class="pull-right">
+								<span class="caselog_field_entry_button {$sEntryHeaderButtonClass}" data-toggle="collapse" href="#{$sEntryContentId}" aria-expanded="{$sEntryContentExpanded}" aria-controls="{$sEntryContentId}"></span>
+							</div>
+						</div>
+						<div class="caselog_field_entry_content collapse {$sEntryContentClass}" id="{$sEntryContentId}">
+							{$aEntries[$i]['message_html']}
+						</div>
+					</div>
+EOF
+				);
+			}
+			$oOutput->AddHtml('</div>');
+		}
+	}
+
 }