From 462ca9d14af505ec017cbcb854236b5959fe7f2f Mon Sep 17 00:00:00 2001 From: misol Date: Mon, 12 Jan 2009 12:43:33 +0000 Subject: [PATCH] =?UTF-8?q?#17630982=20issuetracker=20=EC=97=90=EC=84=9C?= =?UTF-8?q?=20=EC=9E=90=EC=8B=A0=EC=9D=B4=20=EC=9E=91=EC=84=B1=ED=95=9C=20?= =?UTF-8?q?=EA=B8=80=20=EB=B3=B4=EA=B8=B0=20=EC=B6=94=EA=B0=80,=20?= =?UTF-8?q?=EC=A3=BC=EC=84=9D=20=EC=9D=B4=EC=83=81=ED=95=9C=20=EA=B2=83=20?= =?UTF-8?q?=EA=B3=A0=EC=B9=A8?= 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@5334 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- modules/issuetracker/issuetracker.class.php | 4 +++ .../issuetracker/issuetracker.controller.php | 34 +++++++++++++++++++ modules/member/member.model.php | 4 +-- 3 files changed, 40 insertions(+), 2 deletions(-) diff --git a/modules/issuetracker/issuetracker.class.php b/modules/issuetracker/issuetracker.class.php index 7a364a571..a40008ffb 100644 --- a/modules/issuetracker/issuetracker.class.php +++ b/modules/issuetracker/issuetracker.class.php @@ -48,6 +48,10 @@ $oModuleController->insertActionForward('issuetracker', 'controller', 'procIssuetrackerAdminAttachRelease'); + // 아이디 클릭시 나타나는 팝업메뉴에 작성글 보기 기능 추가 + $oModuleController->insertTrigger('member.getMemberMenu', 'issuetracker', 'controller', 'triggerMemberMenu', 'after'); + + $oDB = &DB::getInstance(); $oDB->addIndex("issue_changesets","idx_unique_revision", array("module_srl","revision"), true); } diff --git a/modules/issuetracker/issuetracker.controller.php b/modules/issuetracker/issuetracker.controller.php index 1963f1001..7741d1efd 100644 --- a/modules/issuetracker/issuetracker.controller.php +++ b/modules/issuetracker/issuetracker.controller.php @@ -426,5 +426,39 @@ } } + /** + * @brief 아이디 클릭시 나타나는 팝업메뉴에 "작성글 보기" 메뉴를 추가하는 trigger - board 모듈과 동일 + **/ + function triggerMemberMenu(&$obj) { + $member_srl = Context::get('target_srl'); + $mid = Context::get('cur_mid'); + + if(!$member_srl || !$mid) return new Object(); + + $logged_info = Context::get('logged_info'); + + // 호출된 모듈의 정보 구함 + $oModuleModel = &getModel('module'); + $cur_module_info = $oModuleModel->getModuleInfoByMid($mid); + + if($cur_module_info->module != 'issuetracker') return new Object(); + + // 자신의 아이디를 클릭한 경우 + if($member_srl == $logged_info->member_srl) { + $member_info = $logged_info; + } else { + $oMemberModel = &getModel('member'); + $member_info = $oMemberModel->getMemberInfoByMemberSrl($member_srl); + } + + if(!$member_info->user_id) return new Object(); + + // 아이디로 검색기능 추가 + $url = getUrl('','mid',$mid,'act','dispIssuetrackerViewIssue','status%5B%5D','new','status%5B%5D','reviewing','status%5B%5D','assign','status%5B%5D','resolve','status%5B%5D','reopen','status%5B%5D','postponed','status%5B%5D','duplicated','status%5B%5D','invalid','search_target','user_id','search_keyword',$member_info->user_id); + $oMemberController = &getController('member'); + $oMemberController->addMemberPopupMenu($url, 'cmd_view_own_document', './modules/member/tpl/images/icon_view_written.gif'); + + return new Object(); + } } ?> diff --git a/modules/member/member.model.php b/modules/member/member.model.php index 75e5a63c5..8e691295b 100644 --- a/modules/member/member.model.php +++ b/modules/member/member.model.php @@ -203,7 +203,7 @@ } /** - * @brief userid에 해당하는 member_srl을 구함 + * @brief EmailAddress에 해당하는 member_srl을 구함 **/ function getMemberSrlByEmailAddress($email_address) { $args->email_address = $email_address; @@ -212,7 +212,7 @@ } /** - * @brief userid에 해당하는 member_srl을 구함 + * @brief NickName에 해당하는 member_srl을 구함 **/ function getMemberSrlByNickName($nick_name) { $args->nick_name = $nick_name;