From aaedc17c5e2f7375195cb95dbd25fbc6c42febc0 Mon Sep 17 00:00:00 2001 From: Dave Lawrence Date: Fri, 5 Oct 2012 17:35:22 -0400 Subject: Fix attachment flag creation errors due to FlagTypeComment extension --- extensions/FlagTypeComment/Extension.pm | 19 +++++++++++-------- .../default/hook/admin/flag-type/edit-rows.html.tmpl | 8 ++++++-- 2 files changed, 17 insertions(+), 10 deletions(-) (limited to 'extensions/FlagTypeComment') diff --git a/extensions/FlagTypeComment/Extension.pm b/extensions/FlagTypeComment/Extension.pm index 2e3bba2ba..d9098a5db 100644 --- a/extensions/FlagTypeComment/Extension.pm +++ b/extensions/FlagTypeComment/Extension.pm @@ -97,13 +97,13 @@ sub _set_ftc_states { } else { return unless FLAGTYPE_COMMENT_ATTACHMENT_FLAGS; } - $db_result = $dbh->selectall_arrayref( - "SELECT type_id AS flagtype, on_status AS state, comment AS text - FROM flagtype_comments - WHERE type_id = ?", - { Slice => {} }, - $id); - + if ($id) { + $db_result = $dbh->selectall_arrayref( + "SELECT type_id AS flagtype, on_status AS state, comment AS text + FROM flagtype_comments + WHERE type_id = ?", + { Slice => {} }, $id); + } } else { # creating/editing attachment / viewing bug my $bug; @@ -161,7 +161,10 @@ sub _set_flagtypes { my $dbh = Bugzilla->dbh; foreach my $state (FLAGTYPE_COMMENT_STATES) { - my $text = $input->{"ftc_${flagtype_id}_$state"} || ''; + next if (!defined $input->{"ftc_${flagtype_id}_$state"} + && !defined $input->{"ftc_new_$state"}); + + my $text = $input->{"ftc_${flagtype_id}_$state"} || $input->{"ftc_new_$state"} || ''; $text =~ s/\r\n/\n/g; trick_taint($text); diff --git a/extensions/FlagTypeComment/template/en/default/hook/admin/flag-type/edit-rows.html.tmpl b/extensions/FlagTypeComment/template/en/default/hook/admin/flag-type/edit-rows.html.tmpl index 71aaad424..3ca5e8aa7 100644 --- a/extensions/FlagTypeComment/template/en/default/hook/admin/flag-type/edit-rows.html.tmpl +++ b/extensions/FlagTypeComment/template/en/default/hook/admin/flag-type/edit-rows.html.tmpl @@ -27,13 +27,17 @@ [% FOREACH state = ftc_states %] + [% ftc_type_id = "ftc_${type.id}_$state" %] + [% IF action == 'insert' %] + [% ftc_type_id = "ftc_new_$state" %] + [% END %]   for [% state FILTER html %]
-- cgit v1.2.3-24-g4f1b