现在的位置: 首页 > 综合 > 正文

修改Bugfree实现多指派 必填项 下拉列表 提示信息

2012年08月21日 ⁄ 综合 ⁄ 共 4110字 ⁄ 字号 评论关闭
修改Bugfree实现多指派 必填项 下拉列表 提示信息

《宋轶聪的工作日志20110928 》

==========================修改Bugfree实现多指派================================

0、修改bug.tpl,将AssigedTo的样式替换成mailto的样式,上下两处修改

1、获取指派人  FuncModel.inc.php

$AssignedToUserInfo = testGetUserInfoByName($PostBugInfo['AssignedTo']);

2、获取收件人的邮箱地址

if(true)    {

        $AssignedToMail = $AssignedToUserInfo['Email'];

        $AssignedToUserInfo['RealName'] == '' ? $AssignedToUserInfo['RealName'] = $PostBugInfo['AssignedTo'] : '';

                  $MailToList['Email'][] = $AssignedToUserInfo['Email'];

    }

3、 组织邮件内容

$MainMessage = testCreateMailMessage($BugID, $ActionType ,$ActionUser,$AssignedToUserInfo['RealName'],$ChangeNote . "\n" . $EditPostArray['ReplyNote'],'Bug', $ActionDesc);

$MailToList = testGetMailToList(sysStripSlash($PostBugInfo['AssignedTo']), $ProjectID, true);

4、 系统发送邮件

sysMail($AssignedToMail, $MailToList['Email'], 'Bug #' . $BugID . ' ' . $BugMailTitle, $MainMessage);

5、为了让bug显示信息中指派人显示realname,做如下修改

在所有包含如下代码段的地方添加一段类似的代码

找到下面代码:

if($BugInfo['MailTo'] != '')
        {
              $BugInfo['MailToName'] = testGetMailToList($BugInfo['MailTo']);
              $BugInfo['MailToName'] = @join(',',$BugInfo['MailToName']['RealName']);
        }
        else
        {
            $BugInfo['MailToName'] = '';
        }

添加如下代码:

 if($BugInfo['AssignedTo'] != '')
        {
            //$BugInfo['AssignedToName'] = $UserNameList[$BugInfo['AssignedTo']] == '' ? $BugInfo['AssignedTo'] : $UserNameList[$BugInfo['AssignedTo']];
   $BugInfo['AssignedToName'] = testGetMailToList($BugInfo['AssignedTo']);
            $BugInfo['AssignedToName'] = @join(',',$BugInfo['AssignedToName']['RealName']);
        }else{$BugInfo['AssignedToName'] = '';}

6、由于指派人从单选变为多选,需要修改

 // update buginfo
    dbUpdateRow('BugInfo','ProjectID',"'{$PostBugInfo[ProjectID]}'",'ModuleID',"'{$PostBugInfo[ModuleID]}'",
                          'ProjectName',"'{$PostBugInfo[ProjectName]}'",'ModulePath',"'{$PostBugInfo[ModulePath]}'",
                          'BugTitle',"'{$PostBugInfo[BugTitle]}'",
                          'BugStatus',"'{$BugStatus}'",
                          'BugType',"'{$PostBugInfo[BugType]}'",'BugOS',"'{$PostBugInfo[BugOS]}'",
                          'BugSeverity',"'{$PostBugInfo[BugSeverity]}'",'BugPriority',"{$PostBugInfo[BugPriority]}",
                          'BugBrowser',"'{$PostBugInfo[BugBrowser]}'",'BugMachine',"'{$PostBugInfo[BugMachine]}'",
                          'BugSubStatus',"'{$PostBugInfo[BugSubStatus]}'",
                          'HowFound',"'{$PostBugInfo[HowFound]}'",'BugKeyword',"'{$PostBugInfo[BugKeyword]}'",
                          'ReproSteps',"'{$PostBugInfo[ReproSteps]}'",
                          'AssignedTo',"'{$PostBugInfo[AssignedTo]}'",'MailTo',"'{$PostBugInfo[MailTo]}'",
                          'OpenedBuild',"'{$PostBugInfo[OpenedBuild]}'",
                          'ResolvedBy',"'{$ResolvedBy}'",'ResolvedDate',"'{$ResolvedDate}'",'ResolvedBuild',"'{$ResolvedBuild}'",'Resolution',"'{$Resolution}'",
                          'ClosedBy',"'{$ClosedBy}'",'ClosedDate',"'{$ClosedDate}'",
                          'LinkID',"'{$PostBugInfo[LinkID]}'",'DuplicateID',"'{$PostBugInfo[DuplicateID]}'",
                          'CaseID',"'{$PostBugInfo[CaseID]}'",
                          'AssignedDate', "'{$PostBugInfo[AssignedDate]}'",
                          'LastEditedBy',"'{$LastEditedBy}'",'LastEditedDate','now()',
                          'ModifiedBy', "CONCAT(ModifiedBy,'{$LastEditedBy}',',')",
                          "BugID='{$BugID}'");

7、   //Open Bug 处也需要修改

 $ValueSql .= "'{$MailTo}','{$OpenedBy}',now(),'{$OpenedBuild}','{$PostBugInfo[AssignedTo]}',{$AssignDate},'{$LastEditedBy}',now(),',{$OpenedBy},',";
   

上述修改经过老宋本人测试,能够实现指派多人的个性化要求。

 =========================去掉必填项bug.php  bug.tpl   FuncModel.inc.php===================================

1、 删除bug.php  bug.tpl两个文件中非必填项的 class="MyInput RequiredField"

2、去掉页面校验,搜索并注释 FuncModel.inc.php中如下面的代码

/**
 if($PostBugInfo['AssignedTo'] != '')
    {
        $ActionMsg['FailedMsg'][] = $_LANG['NoAssignedTo'];
    }**/

 =============================修改下拉列表、提示信息等=================================================

修改_COMMON.php

 如增加了指派人的校验,找到$_LANG['NoBugTitle']        = 'Bug 标题不能为空';

增加如下代码:

$_LANG['NoAssignedTo'] = '指派人不能为空';

抱歉!评论已关闭.