From c3cb299b6f0a2e873bdd5c6ae2aecfb654c3c2e4 Mon Sep 17 00:00:00 2001 From: haneul Date: Sat, 15 Nov 2008 06:32:10 +0000 Subject: [PATCH] =?UTF-8?q?issue=20status=20=EB=B3=80=EA=B2=BD=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: http://xe-core.googlecode.com/svn/sandbox@4861 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- modules/issuetracker/conf/module.xml | 1 - .../issuetracker/issuetracker.controller.php | 5 --- modules/issuetracker/issuetracker.model.php | 39 ++++++++++++++++++- modules/issuetracker/issuetracker.view.php | 12 ++++++ modules/issuetracker/queries/getHistories.xml | 3 ++ .../skins/xe_issuetracker/css/common.css | 5 +++ .../skins/xe_issuetracker/timeline.html | 9 ++++- 7 files changed, 64 insertions(+), 10 deletions(-) diff --git a/modules/issuetracker/conf/module.xml b/modules/issuetracker/conf/module.xml index 5da3d4ff3..560fa1052 100644 --- a/modules/issuetracker/conf/module.xml +++ b/modules/issuetracker/conf/module.xml @@ -55,7 +55,6 @@ - diff --git a/modules/issuetracker/issuetracker.controller.php b/modules/issuetracker/issuetracker.controller.php index f8304d29b..c9545711f 100644 --- a/modules/issuetracker/issuetracker.controller.php +++ b/modules/issuetracker/issuetracker.controller.php @@ -395,10 +395,5 @@ } } - function procIssuetrackerSync() - { - $this->syncChangeset(); - } - } ?> diff --git a/modules/issuetracker/issuetracker.model.php b/modules/issuetracker/issuetracker.model.php index 01c998bc1..003a9a0c3 100644 --- a/modules/issuetracker/issuetracker.model.php +++ b/modules/issuetracker/issuetracker.model.php @@ -7,6 +7,13 @@ require_once(_XE_PATH_.'modules/issuetracker/issuetracker.item.php'); + function _compare($a, $b) + { + if(!$a->date || !$b->date) return 0; + return strcmp($a->date, $b->date) * -1; + } + + class issuetrackerModel extends issuetracker { var $oSvn = null; @@ -360,6 +367,7 @@ else return 0; } + function getChangesets($module_srl, $enddate = null, $limit = 90) { if(!$enddate) @@ -375,10 +383,37 @@ debugPrint($output); return array(); } - else + + $solvedHistory = array(); + $output2 = executeQueryArray("issuetracker.getHistories", $args); + foreach($output2->data as $history) { - return $output->data; + $hist = unserialize($history->history); + $h = array(); + if(!is_array($hist)) continue; + $res = ""; + $bFirst = true; + foreach($hist as $key => $val) { + if($bFirst) { $bFirst = false; } + else { $res .= "
"; } + if($val[0]) $str = Context::getLang('history_format'); + else $str = Context::getLang('history_format_not_source'); + $str = str_replace('[source]', $val[0], $str); + $str = str_replace('[target]', $val[1], $str); + $str = str_replace('[key]', Context::getLang($key), $str); + $res .= $str; + } + $obj = null; + $obj->date = $history->regdate; + $obj->type = "i"; + $obj->message = $res; + $obj->target_srl = $history->target_srl; + $obj->author = $history->nick_name; + $output->data[] = $obj; } + usort($output->data, _compare); + + return $output->data; } } ?> diff --git a/modules/issuetracker/issuetracker.view.php b/modules/issuetracker/issuetracker.view.php index c45ee475b..1ac20b3ac 100644 --- a/modules/issuetracker/issuetracker.view.php +++ b/modules/issuetracker/issuetracker.view.php @@ -69,9 +69,21 @@ function dispIssuetrackerTimeline() { if(!$this->grant->access) return $this->dispIssuetrackerMessage('msg_not_permitted'); + $oController = &getController('issuetracker'); + $oController->syncChangeset(); $oModel = &getModel('issuetracker'); $changesets = $oModel->getChangesets($this->module_info->module_srl); Context::set('changesets', $changesets); + $issues = array(); + foreach($changesets as $changeset) + { + if(!$changeset->target_srl) continue; + if(!$issues[$changeset->target_srl]) + { + $issues[$changeset->target_srl] = $oModel->getIssue($changeset->target_srl); + } + } + Context::set('issues', $issues); $this->setTemplateFile('timeline'); } diff --git a/modules/issuetracker/queries/getHistories.xml b/modules/issuetracker/queries/getHistories.xml index e3d34725c..6d9ce5b9e 100644 --- a/modules/issuetracker/queries/getHistories.xml +++ b/modules/issuetracker/queries/getHistories.xml @@ -7,6 +7,9 @@ + + + diff --git a/modules/issuetracker/skins/xe_issuetracker/css/common.css b/modules/issuetracker/skins/xe_issuetracker/css/common.css index 0a409d397..61d48bf7f 100644 --- a/modules/issuetracker/skins/xe_issuetracker/css/common.css +++ b/modules/issuetracker/skins/xe_issuetracker/css/common.css @@ -273,3 +273,8 @@ dd { color: #777766; font-size: 0.90em; } dl { line-height: 1.3em; margin: 0; } dt { padding: 5px 4px 2px 0 } dd.changeset p { margin: 0; padding: 0; } +span.status { color: #222222; } +dd span.source { color:#4F86B0; } +dd span.target { color:#4F86B0; font-weight:bold; } +dd span.key { color:#888888; font-weight:bold; } +dt a { color:#373737; text-decoration: none; } diff --git a/modules/issuetracker/skins/xe_issuetracker/timeline.html b/modules/issuetracker/skins/xe_issuetracker/timeline.html index 1587a1d70..e3988f925 100644 --- a/modules/issuetracker/skins/xe_issuetracker/timeline.html +++ b/modules/issuetracker/skins/xe_issuetracker/timeline.html @@ -13,8 +13,13 @@
{zdate($changeset->date,"H:i")} - Changeset [{$changeset->revision}] by {$changeset->author} + + Issue #{$changeset->target_srl} ({$issues[$changeset->target_srl]->getTitleText(20)}) by {$changeset->author} + + Changeset [{$changeset->revision}] by {$changeset->author} +
-

{$changeset->message}

+
+

{$changeset->message}
{$issues[$changeset->target_srl]->getContentText(50)}{$changeset->message}