diff options
author | mkanat%bugzilla.org <> | 2009-12-12 23:15:42 +0100 |
---|---|---|
committer | mkanat%bugzilla.org <> | 2009-12-12 23:15:42 +0100 |
commit | b9eec82ea5b8c3fb034e2955ee34df7ff98782c4 (patch) | |
tree | 594831464e547283aefdd55b50d67c7bca723b89 /editwhines.cgi | |
parent | e1b433e3d54504dceb151213d4addac42a1e5ca9 (diff) | |
download | bugzilla-b9eec82ea5b8c3fb034e2955ee34df7ff98782c4.tar.gz bugzilla-b9eec82ea5b8c3fb034e2955ee34df7ff98782c4.tar.xz |
Bug 530467: Create a read-only Bugzilla::Whine::Query object and have editwhines.cgi use it
Patch by Eric Black <eblack@higherone.com> r=mkanat, a=mkanat
Diffstat (limited to 'editwhines.cgi')
-rwxr-xr-x | editwhines.cgi | 55 |
1 files changed, 22 insertions, 33 deletions
diff --git a/editwhines.cgi b/editwhines.cgi index e93437647..671774ef7 100755 --- a/editwhines.cgi +++ b/editwhines.cgi @@ -37,6 +37,7 @@ use Bugzilla::User; use Bugzilla::Group; use Bugzilla::Token; use Bugzilla::Whine::Schedule; +use Bugzilla::Whine::Query; # require the user to have logged in my $user = Bugzilla->login(LOGIN_REQUIRED); @@ -267,16 +268,9 @@ if ($cgi->param('update')) { } # Check queries for changes - $sth = $dbh->prepare("SELECT id " . - "FROM whine_queries " . - "WHERE eventid=?"); - $sth->execute($eventid); - my @queries = (); - while (my ($qid) = $sth->fetchrow_array) { - push @queries, $qid; - } - - for my $qid (@queries) { + my $queries = Bugzilla::Whine::Query->match({ eventid => $eventid }); + for my $query (@$queries) { + my $qid = $query->id; if ($cgi->param("remove_query_$qid")) { $sth = $dbh->prepare("SELECT whine_queries.id " . @@ -371,32 +365,27 @@ for my $event_id (keys %{$events}) { $mailto = $schedule->mailto->name; } - my $this_schedule = { - 'day' => $schedule->run_day, - 'time' => $schedule->run_time, - 'mailto_type' => $mailto_type, - 'mailto' => $mailto, - 'id' => $schedule->id, - }; - push @{$events->{$event_id}->{'schedule'}}, $this_schedule; + push @{$events->{$event_id}->{'schedule'}}, + { + 'day' => $schedule->run_day, + 'time' => $schedule->run_time, + 'mailto_type' => $mailto_type, + 'mailto' => $mailto, + 'id' => $schedule->id, + }; } # queries - $sth = $dbh->prepare("SELECT query_name, title, sortkey, id, " . - "onemailperbug " . - "FROM whine_queries " . - "WHERE eventid=? " . - "ORDER BY sortkey"); - $sth->execute($event_id); - for my $row (@{$sth->fetchall_arrayref}) { - my $this_query = { - 'name' => $row->[0], - 'title' => $row->[1], - 'sort' => $row->[2], - 'id' => $row->[3], - 'onemailperbug' => $row->[4], - }; - push @{$events->{$event_id}->{'queries'}}, $this_query; + my $queries = Bugzilla::Whine::Query->match({ eventid => $event_id }); + for my $query (@$queries) { + push @{$events->{$event_id}->{'queries'}}, + { + 'name' => $query->name, + 'title' => $query->title, + 'sort' => $query->sortkey, + 'id' => $query->id, + 'onemailperbug' => $query->one_email_per_bug, + }; } } |