« イースター休暇… | Home | Flex »

BugzillaでCloseと同時に自分のAssignに変更するチェックボックスを追加するパッチ

2007-04-10 - 21:08

最近の現実逃避ネタの一つが社内用Bugzillaいじり。いかに効率的に、(自分を含む)プログラマーがやる気をもってバグを直すようにするか、その一方でいかに自分のところにバグが辿りつかないようにするか、を考えつついじってる。

その中の一つ。なんでBugzillaについてないと思う機能の一つ。BugzillaのBugzillaには投稿されてたりするんだけど、かなり古いソースに対するパッチなので、3.0rc用に作り直した。

他にも色々いじってるんだけど、元のソースを結構いじってしまっていて、機能別にpatchを作るのがめんどくさい。BugzillaのBugzilla見てると、簡単に機能追加してもらえる雰囲気じゃないんだよな。 [追記: すでにAssignされている場合はチェックボックスを出さないようにした]

ぱっち

--- process_bug.cgi.org 2007-04-10 20:54:31.000000000 +0100
--- process_bug.cgi.org 2007-04-10 20:54:31.000000000 +0100
+++ process_bug.cgi     2007-04-10 20:52:30.000000000 +0100
@@ -1094,6 +1094,29 @@
         }

         ChangeResolution($bug, $cgi->param('resolution'));
+
+        if (defined $cgi->param('take_bug')
+            && trim($cgi->param('take_bug')) ne "") {
+            $assignee = $user->id;
+            if (Bugzilla->params->{"strict_isolation"}) {
+                $usercache{$assignee} ||= Bugzilla::User->new($assignee);
+                my $assign_user = $usercache{$assignee};
+                foreach my $product_id (@newprod_ids) {
+                    if (!$assign_user->can_edit_product($product_id)) {
+                        my $product_name = Bugzilla::Product->new($product_id)->name;
+                        ThrowUserError('invalid_user_group',
+                                          {'users'   => $assign_user->login,
+                                           'product' => $product_name,
+                                           'bug_id' => (scalar(@idlist) > 1)
+                                                         ? undef : $idlist[0]
+                                          });
+                    }
+                }
+            }
+            $::query .= ",assigned_to = ?";
+            push(@values, $assignee);
+            $assignee_checked = 1;
+        }
         last SWITCH;
     };
     /^reassign$/ && CheckonComment( "reassign" ) && do {
--- knob.html.tmpl.org  2007-04-10 20:55:18.000000000 +0100
+++ knob.html.tmpl      2007-04-11 18:56:01.000000000 +0100
@@ -192,6 +192,9 @@
       <option value="[% r FILTER html %]">[% get_resolution(r) FILTER html %]</option>
     [% END %]
   </select>
+  [% IF bug.assigned_to.id != user.id %]
+  <input  type="checkbox" name="take_bug" value="1" />Take bug</input>
+  [% END %]
   <br  />
   [% knum = knum + 1 %]
 [% END %]
使用タグ:
No comments

Trackback link:

トラックバック用URLを生成するには、JavaScriptを有効にしてください。

  
情報を記憶する

Emoticons / Textile
  (ユーザー登録 / ログイン)

通知:
アドレス非公開:

注意: 使用できるタグは <b> と <i> のみです。URLやメールアドレスはそのまま記述すればリンクになります。

 

設定

  • イギリス在住プログラマー
  • 趣味は城巡り
  • オープンソース好きという表向き
  • twitter
  • Blog
  • masatomon at gmail.com

最近のエントリ

blog始めました
会社でブログ始めました
ブリュッセルとルクセンブルク旅行
IRIS
ロンドンでの引っ越し

twitter

photos from mobile


きもちー



状況がわかんない…



近所のお気に入りパブ…



チェス



photo.jpg


最近のコメント

とり (Slony-I まとめ…): Operaでも崩れています。…
同じく通りすがり… (Slony-I まとめ…): Internet Explorer 8 でも…
通りすがりです… (Slony-I まとめ…): Slony の情報、大変参考に…
なかの (泥棒に入られた - …): ひろしまさん、 とりあえず…
mamoruk(usata) (泥棒に入られた - …): あれあれ、大変でしたね。 …

最近の参照元

07:40 [Go] process_bug.cgi…
07:37 [Go] slony
05:42 [Go] bugzilla
04:24 [Go] subversion uuid…
02:52 [Go] Flex IE
02:47 [Go] slony i
02:31 [Go] slony
02:30 [Go] slony
01:52 [Y] ロンドン引っ越し…
00:36 [Go] postgre work me…
00:16 [Go] FLEXible Adobe …
22:49 [Y] CentOS portage
17:51 [Go] gentoo vmware
11:33 [Go] ピサの斜塔 内…
10:25 [Go] Slony I
10:16 [Go] uuid subversion…

タグ

アーカイブ

2010-01
2009-11
2009-09
2009-02
2009-01
2008-12
2008-08
2008-07
2008-06
2008-05
2008-04
2008-03
2008-02
2008-01
2007-12
2007-08
2007-07
2007-06
2007-05
2007-04
2007-03
2007-02

Powered by Pivot - 1.40.6: 'Dreadwind'