禪道 給禪道缺陷增加自定義字段供不同的缺陷操作頁面使用


給禪道缺陷增加自定義字段供不同的缺陷操作頁面使用

by:授客 QQ1033553122

實踐環境

禪道項目管理軟件9.2.1 、8.0開源Linux版

需求描述

在禪道創建、修改、查看、關閉缺陷頁面添加一個自定義字段---一個單選下拉選框,並針對不同的頁面做是否必填校驗。

 

給數據庫表zt_bug新增自定義字段

ALTER TABLE `zt_bug` ADD COLUMN source VARCHAR(100) AFTER severity

 

修改zentaopms/module/bug/lang/zh-cn.php

如下圖,新增圖示選框Bug字段,即在合適的位置插入以下代碼

$lang->bug->source = 'Bug根源';

 

 

 

 

如下圖,在合適的位置插入以下代碼

$lang->bug->sourceList['codeerror'] = '產品設計缺陷';

$lang->bug->sourceList['bug']           = '程序編碼錯誤';

 

說明:這里定義的'產品設計缺陷'和'程序編碼錯誤'用於存放對應字段select下拉選框中的數據,上述'bug','productDesign',創建Bug/編輯Bug並保存后,會被存儲到數據庫中。

 

 

 

 

 

注意:筆者使用的禪道,語言設置的是中文,所以僅修改zh-cn.php,不修改英文en.php和tw.php

修改zentaopms/module/bug/view/create.html.php

如下圖,在合適的位置插入以下代碼

<tr>

    <th><?php echo $lang->bug->source;?></th>

    <td>

        <?php echo html::select('source', $lang->bug->sourceList, $source, "class='form-control'");?></span>

    </td>

</tr>

 

 

 

 

     

修改效果

  

 

 

 

 

修改zentaopms/module/bug/view/edit.html.php

如下圖,在合適的位置插入以下代碼

js::set('source'                 , $bug->source);

 

 

 

 

 

如下圖,在合適的位置插入以下代碼

<tr>

    <th><?php echo $lang->bug->source;?></th>

    <td><?php echo html::select('source', $lang->bug->sourceList, $bug->source, "class='form-control'");?></td>

</tr>

 

 

 

 

修改效果

 

當然,如果希望在編輯頁面左側展示添加的字段,如下圖,也可以在合適的位置插入以下代碼

<fieldset>

    <legend><?php echo $lang->bug->source;?></legend>

    <div class='form-group'>

        <?php echo html::select('source', $lang->bug->sourceList, $bug->source, "class='form-control'");?>

    </div>

</fieldset>

 

 

 

 

修改效果

 

 

 

 

修改zentaopms/module/bug/view/view.html.php

如下圖,在合適的位置插入以下代碼

<tr>

    <th><?php echo $lang->bug->source;?></th>

    <td><strong><?php echo zget($lang->bug->sourceList, $bug->source, $bug->source);?></strong></td>

</tr>

 

 

 

 

 

 

修改效果

 

 

 

 

當然,我們如果希望把新增字段放左側頁面展示,如下圖,也可以在合適的位置插入以下代碼

<fieldset>

    <legend><?php echo $lang->bug->source;?></legend>

    <div class="content">

        <strong><?php echo zget($lang->bug->sourceList, $bug->source, $bug->source);?></strong>

    </div>

</fieldset>

 

 

 

 

修改效果

 

 

 

 

修改zentaopms/module/bug/view/resolve.html.php

如下圖,在合適的位置插入以下代碼

 <tr>

      <th class='w-80px'><?php echo $lang->bug->source;?></th>

     <td class='w-p35-f'><?php echo html::select('source', $lang->bug->sourceList,'', "class='form-control' ");?>

      <font color='red'>請認真選擇Bug根源分類</font></td><td></td>

 </tr>

 

 

 

 

 

修改效果

 

 

 

 

修改zentaopms/module/bug/view/close.html.php

如下圖,在合適的位置插入以下代碼

js::set('source'                 , $bug->source);

 

 

 

如下圖,在合適的位置插入以下代碼

<tr>

<th><?php echo $lang->bug->source;?></th>

    <td><?php echo html::select('source', $lang->bug->sourceList, $bug->source, "class='form-control'");?><font color='red' "class='form-control'">請確認Bug根源分類是否正確</font></td>

</tr>

 

 

 

修改效果

 

 

 

 

備注:提示語 “請確認Bug根源分類是否符正確”,改成 “請確認Bug根源分類是否符合實際” 會比較恰當

修改zentaopms/module/bug/config.php

如下圖,可以選擇創建,編輯,解決Bug時分別定義新增字段是否必填。本例中設置解決Bug時新增source字段必填

 

 

 

 

修改效果

 

 

 

 

 

需要注意的地方

本人實踐時,想在關閉頁面,把自定義字段也設置為必填,於是參考上面,在合適位置插入下圖圖示框選部分的代碼,結果發現,自定義字段select選框右側有紅色的 * (見下圖),但是提交關閉Bug請求時,並沒有不為空限制

 

 

 

 

 

 

 

 

 

解決方法,如下,給select選框增加reuqired='true'

 

<tr>

<th><?php echo $lang->bug->source;?></th>

    <td><?php echo html::select('source', $lang->bug->sourceList, $bug->source, "class='form-control' required='true'");?><font color='red' "class='form-control'">請確認Bug根源分類是否正確</font></td>

</tr>

 

修改效果如下:

 

 

 

 

如下,找到$config->bug->list->exportFields變量,增加新增的自定義字段名稱,解決缺陷導出報表中沒有新增字段的問題,如下

 

 

 

 

如下,找到global $lang,在其下方合適的位置新增搜索字段,即我們自定義的字段,並給字段設置可選搜索項,解決缺陷搜索中沒有新增字段問題。

 

 

 

 

 

修改效果

 

 

 

 

 

修改zentaopms/module/bug/control.php

修改public function export($productID, $orderBy)函數代碼,如下,在合適位置增加以下代碼,解決導出報表,新增字段列的值不為設置的枚舉選項值,而是為索引值問題。

  

if(isset($bugLang->sourceList[$bug->source]))         $bug->source     = $bugLang->sourceList[$bug->source];

 

 

 

 

 

修改效果

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM