aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPerl Tidy <perltidy@bugzilla.org>2019-01-30 20:00:43 -0500
committerDylan William Hardison <dylan@hardison.net>2019-01-30 20:31:44 -0500
commit7f3a749d7bd78a3e4aee163f562d7e95b0954b44 (patch)
treef86271c0b1f3ece6d55d8fa44767d41bb890f1f6 /post_bug.cgi
parentBug 1226123 - Email addresses with an apostrophe in them break the "Send Mail... (diff)
downloadbugzilla-7f3a749d7bd78a3e4aee163f562d7e95b0954b44.tar.gz
bugzilla-7f3a749d7bd78a3e4aee163f562d7e95b0954b44.tar.bz2
bugzilla-7f3a749d7bd78a3e4aee163f562d7e95b0954b44.zip
no bug - reformat all the code using the new perltidy rules
Diffstat (limited to 'post_bug.cgi')
-rwxr-xr-xpost_bug.cgi190
1 files changed, 100 insertions, 90 deletions
diff --git a/post_bug.cgi b/post_bug.cgi
index ca029c01a..6428f5892 100755
--- a/post_bug.cgi
+++ b/post_bug.cgi
@@ -28,10 +28,10 @@ use List::MoreUtils qw(uniq);
my $user = Bugzilla->login(LOGIN_REQUIRED);
-my $cgi = Bugzilla->cgi;
-my $dbh = Bugzilla->dbh;
+my $cgi = Bugzilla->cgi;
+my $dbh = Bugzilla->dbh;
my $template = Bugzilla->template;
-my $vars = {};
+my $vars = {};
######################################################################
# Main Script
@@ -39,8 +39,8 @@ my $vars = {};
# redirect to enter_bug if no field is passed.
unless ($cgi->param()) {
- print $cgi->redirect(correct_urlbase() . 'enter_bug.cgi');
- exit;
+ print $cgi->redirect(correct_urlbase() . 'enter_bug.cgi');
+ exit;
}
# Detect if the user already used the same form to submit a bug
@@ -48,40 +48,43 @@ my $token = trim($cgi->param('token'));
check_token_data($token, 'create_bug', 'index.cgi');
# do a match on the fields if applicable
-Bugzilla::User::match_field ({
- 'cc' => { 'type' => 'multi' },
- 'assigned_to' => { 'type' => 'single' },
- 'qa_contact' => { 'type' => 'single' },
+Bugzilla::User::match_field({
+ 'cc' => {'type' => 'multi'},
+ 'assigned_to' => {'type' => 'single'},
+ 'qa_contact' => {'type' => 'single'},
});
if (defined $cgi->param('maketemplate')) {
- $vars->{'url'} = $cgi->canonicalise_query('token');
- $vars->{'short_desc'} = $cgi->param('short_desc');
-
- print $cgi->header();
- $template->process("bug/create/make-template.html.tmpl", $vars)
- || ThrowTemplateError($template->error());
- exit;
+ $vars->{'url'} = $cgi->canonicalise_query('token');
+ $vars->{'short_desc'} = $cgi->param('short_desc');
+
+ print $cgi->header();
+ $template->process("bug/create/make-template.html.tmpl", $vars)
+ || ThrowTemplateError($template->error());
+ exit;
}
# The format of the initial comment can be structured by adding fields to the
# enter_bug template and then referencing them in the comment template.
my $comment;
-my $format = $template->get_format("bug/create/comment",
- scalar($cgi->param('format')), "txt");
+my $format
+ = $template->get_format("bug/create/comment", scalar($cgi->param('format')),
+ "txt");
$template->process($format->{'template'}, $vars, \$comment)
- || ThrowTemplateError($template->error());
+ || ThrowTemplateError($template->error());
# Include custom fields editable on bug creation.
-my @custom_bug_fields = grep {$_->type != FIELD_TYPE_MULTI_SELECT && $_->enter_bug}
- Bugzilla->active_custom_fields;
+my @custom_bug_fields
+ = grep { $_->type != FIELD_TYPE_MULTI_SELECT && $_->enter_bug }
+ Bugzilla->active_custom_fields;
# Undefined custom fields are ignored to ensure they will get their default
# value (e.g. "---" for custom single select fields).
my @bug_fields = grep { defined $cgi->param($_->name) } @custom_bug_fields;
@bug_fields = map { $_->name } @bug_fields;
-push(@bug_fields, qw(
+push(
+ @bug_fields, qw(
product
component
@@ -106,23 +109,25 @@ push(@bug_fields, qw(
see_also
estimated_time
deadline
-));
+ )
+);
my %bug_params;
foreach my $field (@bug_fields) {
- $bug_params{$field} = $cgi->param($field);
+ $bug_params{$field} = $cgi->param($field);
}
foreach my $field (qw(cc groups)) {
- next if !$cgi->should_set($field);
- $bug_params{$field} = [$cgi->param($field)];
+ next if !$cgi->should_set($field);
+ $bug_params{$field} = [$cgi->param($field)];
}
$bug_params{'comment'} = $comment;
-my @multi_selects = grep {$_->type == FIELD_TYPE_MULTI_SELECT && $_->enter_bug}
- Bugzilla->active_custom_fields;
+my @multi_selects
+ = grep { $_->type == FIELD_TYPE_MULTI_SELECT && $_->enter_bug }
+ Bugzilla->active_custom_fields;
foreach my $field (@multi_selects) {
- next if !$cgi->should_set($field->name);
- $bug_params{$field->name} = [$cgi->param($field->name)];
+ next if !$cgi->should_set($field->name);
+ $bug_params{$field->name} = [$cgi->param($field->name)];
}
my $bug = Bugzilla::Bug->create(\%bug_params);
@@ -133,15 +138,18 @@ delete_token($token);
# We do this directly from the DB because $bug->creation_ts has the seconds
# formatted out of it (which should be fixed some day).
-my $timestamp = $dbh->selectrow_array(
- 'SELECT creation_ts FROM bugs WHERE bug_id = ?', undef, $id);
+my $timestamp
+ = $dbh->selectrow_array('SELECT creation_ts FROM bugs WHERE bug_id = ?',
+ undef, $id);
# Set Version cookie, but only if the user actually selected
# a version on the page.
if (defined $cgi->param('version')) {
- $cgi->send_cookie(-name => "VERSION-" . $bug->product,
- -value => $bug->version,
- -expires => "Fri, 01-Jan-2038 00:00:00 GMT");
+ $cgi->send_cookie(
+ -name => "VERSION-" . $bug->product,
+ -value => $bug->version,
+ -expires => "Fri, 01-Jan-2038 00:00:00 GMT"
+ );
}
# We don't have to check if the user can see the bug, because a user filing
@@ -149,88 +157,90 @@ if (defined $cgi->param('version')) {
# after the bug is filed.
# Add an attachment if requested.
-my $data_fh = $cgi->upload('data');
+my $data_fh = $cgi->upload('data');
my $attach_text = $cgi->param('attach_text');
if ($data_fh || $attach_text) {
- $cgi->param('isprivate', $cgi->param('comment_is_private'));
-
- # Must be called before create() as it may alter $cgi->param('ispatch').
- my $content_type = Bugzilla::Attachment::get_content_type();
- my $attachment;
-
- # If the attachment cannot be successfully added to the bug,
- # we notify the user, but we don't interrupt the bug creation process.
- my $error_mode_cache = Bugzilla->error_mode;
- Bugzilla->error_mode(ERROR_MODE_DIE);
- eval {
- $attachment = Bugzilla::Attachment->create(
- {bug => $bug,
- creation_ts => $timestamp,
- data => $attach_text || $data_fh,
- description => scalar $cgi->param('description'),
- filename => $attach_text ? "file_$id.txt" : $data_fh,
- ispatch => scalar $cgi->param('ispatch'),
- isprivate => scalar $cgi->param('isprivate'),
- mimetype => $content_type,
- });
- };
- Bugzilla->error_mode($error_mode_cache);
-
- if ($attachment) {
- # Set attachment flags.
- my ($flags, $new_flags) = Bugzilla::Flag->extract_flags_from_cgi(
- $bug, $attachment, $vars, SKIP_REQUESTEE_ON_ERROR);
- $attachment->set_flags($flags, $new_flags);
- $attachment->update($timestamp);
- my $comment = $bug->comments->[0];
- $comment->set_all({ type => CMT_ATTACHMENT_CREATED,
- extra_data => $attachment->id });
- $comment->update();
- }
- else {
- $vars->{'message'} = 'attachment_creation_failed';
- }
+ $cgi->param('isprivate', $cgi->param('comment_is_private'));
+
+ # Must be called before create() as it may alter $cgi->param('ispatch').
+ my $content_type = Bugzilla::Attachment::get_content_type();
+ my $attachment;
+
+ # If the attachment cannot be successfully added to the bug,
+ # we notify the user, but we don't interrupt the bug creation process.
+ my $error_mode_cache = Bugzilla->error_mode;
+ Bugzilla->error_mode(ERROR_MODE_DIE);
+ eval {
+ $attachment = Bugzilla::Attachment->create({
+ bug => $bug,
+ creation_ts => $timestamp,
+ data => $attach_text || $data_fh,
+ description => scalar $cgi->param('description'),
+ filename => $attach_text ? "file_$id.txt" : $data_fh,
+ ispatch => scalar $cgi->param('ispatch'),
+ isprivate => scalar $cgi->param('isprivate'),
+ mimetype => $content_type,
+ });
+ };
+ Bugzilla->error_mode($error_mode_cache);
+
+ if ($attachment) {
+
+ # Set attachment flags.
+ my ($flags, $new_flags)
+ = Bugzilla::Flag->extract_flags_from_cgi($bug, $attachment, $vars,
+ SKIP_REQUESTEE_ON_ERROR);
+ $attachment->set_flags($flags, $new_flags);
+ $attachment->update($timestamp);
+ my $comment = $bug->comments->[0];
+ $comment->set_all(
+ {type => CMT_ATTACHMENT_CREATED, extra_data => $attachment->id});
+ $comment->update();
+ }
+ else {
+ $vars->{'message'} = 'attachment_creation_failed';
+ }
}
# Set bug flags.
-my ($flags, $new_flags) = Bugzilla::Flag->extract_flags_from_cgi($bug, undef, $vars,
- SKIP_REQUESTEE_ON_ERROR);
+my ($flags, $new_flags)
+ = Bugzilla::Flag->extract_flags_from_cgi($bug, undef, $vars,
+ SKIP_REQUESTEE_ON_ERROR);
$bug->set_flags($flags, $new_flags);
$bug->update($timestamp);
-$vars->{'id'} = $id;
+$vars->{'id'} = $id;
$vars->{'bug'} = $bug;
-Bugzilla::Hook::process('post_bug_after_creation', { vars => $vars });
+Bugzilla::Hook::process('post_bug_after_creation', {vars => $vars});
-my $recipients = { changer => $user };
+my $recipients = {changer => $user};
my $bug_sent = Bugzilla::BugMail::Send($id, $recipients);
$bug_sent->{type} = 'created';
$bug_sent->{id} = $id;
my @all_mail_results = ($bug_sent);
foreach my $dep (@{$bug->dependson || []}, @{$bug->blocked || []}) {
- my $dep_sent = Bugzilla::BugMail::Send($dep, $recipients);
- $dep_sent->{type} = 'dep';
- $dep_sent->{id} = $dep;
- push(@all_mail_results, $dep_sent);
+ my $dep_sent = Bugzilla::BugMail::Send($dep, $recipients);
+ $dep_sent->{type} = 'dep';
+ $dep_sent->{id} = $dep;
+ push(@all_mail_results, $dep_sent);
}
# Sending emails for any referenced bugs.
-foreach my $ref_bug_id (uniq @{ $bug->{see_also_changes} || [] }) {
- my $ref_sent = Bugzilla::BugMail::Send($ref_bug_id, $recipients);
- $ref_sent->{id} = $ref_bug_id;
- push(@all_mail_results, $ref_sent);
+foreach my $ref_bug_id (uniq @{$bug->{see_also_changes} || []}) {
+ my $ref_sent = Bugzilla::BugMail::Send($ref_bug_id, $recipients);
+ $ref_sent->{id} = $ref_bug_id;
+ push(@all_mail_results, $ref_sent);
}
$vars->{sentmail} = \@all_mail_results;
$format = $template->get_format("bug/create/created",
- scalar($cgi->param('created-format')),
- "html");
+ scalar($cgi->param('created-format')), "html");
print $cgi->header();
$template->process($format->{'template'}, $vars)
- || ThrowTemplateError($template->error());
+ || ThrowTemplateError($template->error());
1;