From 966842dba39639720103cc10de922479550a970b Mon Sep 17 00:00:00 2001 From: Byron Jones Date: Mon, 2 Sep 2013 15:48:30 +0800 Subject: Bug 909843: trackingflags do not support "Can be set on bug creation" --- extensions/TrackingFlags/lib/Admin.pm | 5 +++++ extensions/TrackingFlags/lib/Flag.pm | 8 ++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) (limited to 'extensions/TrackingFlags/lib') diff --git a/extensions/TrackingFlags/lib/Admin.pm b/extensions/TrackingFlags/lib/Admin.pm index 3529d30a7..c87570632 100644 --- a/extensions/TrackingFlags/lib/Admin.pm +++ b/extensions/TrackingFlags/lib/Admin.pm @@ -110,6 +110,7 @@ sub admin_edit { } $flag->set_sortkey(_next_unique_sortkey($flag->sortkey)); $flag->set_type($flag->flag_type); + $flag->set_enter_bug($flag->enter_bug); # always default new flags as active, even when copying an inactive one $flag->set_is_active(1); @@ -122,6 +123,7 @@ sub admin_edit { $vars->{mode} = 'new'; $vars->{flag} = { sortkey => 0, + enter_bug => 1, is_active => 1, }; $vars->{values} = _flag_values_to_json([ @@ -149,10 +151,12 @@ sub _load_from_input { description => trim($input->{flag_desc} || ''), sortkey => $input->{flag_sort} || 0, type => trim($input->{flag_type} || ''), + enter_bug => $input->{flag_enter_bug} ? 1 : 0, is_active => $input->{flag_active} ? 1 : 0, }; detaint_natural($flag->{id}); detaint_natural($flag->{sortkey}); + detaint_natural($flag->{enter_bug}); detaint_natural($flag->{is_active}); # values @@ -289,6 +293,7 @@ sub _update_db_flag { description => $flag->{description}, sortkey => $flag->{sortkey}, type => $flag->{type}, + enter_bug => $flag->{enter_bug}, is_active => $flag->{is_active}, }; diff --git a/extensions/TrackingFlags/lib/Flag.pm b/extensions/TrackingFlags/lib/Flag.pm index f35b661eb..b7abe97d2 100644 --- a/extensions/TrackingFlags/lib/Flag.pm +++ b/extensions/TrackingFlags/lib/Flag.pm @@ -35,6 +35,7 @@ use constant DB_COLUMNS => qw( description type sortkey + enter_bug is_active ); @@ -45,6 +46,7 @@ use constant UPDATE_COLUMNS => qw( description type sortkey + enter_bug is_active ); @@ -53,8 +55,8 @@ use constant VALIDATORS => { description => \&_check_description, type => \&_check_type, sortkey => \&_check_sortkey, + enter_bug => \&Bugzilla::Object::check_boolean, is_active => \&Bugzilla::Object::check_boolean, - }; use constant UPDATE_VALIDATORS => { @@ -62,6 +64,7 @@ use constant UPDATE_VALIDATORS => { description => \&_check_description, type => \&_check_type, sortkey => \&_check_sortkey, + enter_bug => \&Bugzilla::Object::check_boolean, is_active => \&Bugzilla::Object::check_boolean, }; @@ -338,6 +341,7 @@ sub set_name { $_[0]->set('name', $_[1]); } sub set_description { $_[0]->set('description', $_[1]); } sub set_type { $_[0]->set('type', $_[1]); } sub set_sortkey { $_[0]->set('sortkey', $_[1]); } +sub set_enter_bug { $_[0]->set('enter_bug', $_[1]); } sub set_is_active { $_[0]->set('is_active', $_[1]); } ############################### @@ -349,6 +353,7 @@ sub name { return $_[0]->{'name'}; } sub description { return $_[0]->{'description'}; } sub flag_type { return $_[0]->{'type'}; } sub sortkey { return $_[0]->{'sortkey'}; } +sub enter_bug { return $_[0]->{'enter_bug'}; } sub is_active { return $_[0]->{'is_active'}; } sub values { @@ -421,7 +426,6 @@ sub legal_values { return $_[0]->values; } sub custom { return 1; } sub in_new_bugmail { return 1; } sub obsolete { return 0; } -sub enter_bug { return 1; } sub buglist { return 1; } sub is_select { return 1; } sub is_abnormal { return 1; } -- cgit v1.2.3-24-g4f1b