$dbh->bz_commit_transaction;
- # Define the variables and functions that will be passed to the UI template.
- $vars->{'attachment'} = $attachment;
-
- # We cannot reuse the $bug object as delta_ts has eventually been updated
- # since the object was created.
- $vars->{'bugs'} = [new Bugzilla::Bug($bugid)];
- $vars->{'header_done'} = 1;
- $vars->{'contenttypemethod'} = $cgi->param('contenttypemethod');
-
+ # Persist details of what changed and redirect to show_bug page.
my $recipients = {'changer' => $user, 'owner' => $owner};
- $vars->{'sent_bugmail'} = Bugzilla::BugMail::Send($bugid, $recipients);
-
- # BMO: add show_bug_format hook for experimental UI work
- my $show_bug_format = {};
- Bugzilla::Hook::process('show_bug_format', $show_bug_format);
-
- if ($show_bug_format->{format} eq 'modal') {
- $C->content_security_policy(SHOW_BUG_MODAL_CSP($bugid));
- }
-
- print $cgi->header();
-
- # Generate and return the UI (HTML page) from the appropriate template.
- $template->process("attachment/created.html.tmpl", $vars)
- || ThrowTemplateError($template->error());
+ my $sent_bugmail = Bugzilla::BugMail::Send($bugid, $recipients);
+ my $content_type_method = $cgi->param('contenttypemethod');
+
+ my $last_sent_attachment_change = {
+ attachment => {
+ id => $attachment->id,
+ bug_id => $attachment->bug_id,
+ contenttype => $attachment->contenttype,
+ description => $attachment->description,
+ },
+ type => 'created',
+ recipient_count => scalar @{$sent_bugmail->{sent}},
+ content_type_method => $content_type_method,
+ };
+ $Bugzilla::App::CGI::C->flash(last_sent_attachment_changes => [$last_sent_attachment_change]);
+
+ my $redirect_url = $Bugzilla::App::CGI::C->url_for('show_bugcgi')->query(id => $bugid);
+ $Bugzilla::App::CGI::C->redirect_to($redirect_url);
}
# Displays a form for editing attachment properties.
# Commit the transaction now that we are finished updating the database.
$dbh->bz_commit_transaction();
- # Define the variables and functions that will be passed to the UI template.
- $vars->{'attachment'} = $attachment;
- $vars->{'bugs'} = [$bug];
- $vars->{'header_done'} = 1;
- $vars->{'sent_bugmail'}
- = Bugzilla::BugMail::Send($bug->id, {'changer' => $user});
-
- # BMO: add show_bug_format hook for experimental UI work
- my $show_bug_format = {};
- Bugzilla::Hook::process('show_bug_format', $show_bug_format);
-
- if ($show_bug_format->{format} eq 'modal') {
- $C->content_security_policy(SHOW_BUG_MODAL_CSP($bug->id));
- }
-
- print $cgi->header();
-
- # Generate and return the UI (HTML page) from the appropriate template.
- $template->process("attachment/updated.html.tmpl", $vars)
- || ThrowTemplateError($template->error());
+ # Persist details of what changed and redirect to show_bug page.
+ my $sent_bugmail = Bugzilla::BugMail::Send($bug->id, {'changer' => $user});
+
+ my $last_sent_attachment_change = {
+ attachment => {
+ id => $attachment->id,
+ bug_id => $attachment->bug_id,
+ contenttype => $attachment->contenttype,
+ description => $attachment->description,
+ },
+ type => 'updated',
+ recipient_count => scalar @{$sent_bugmail->{sent}},
+ };
+ $Bugzilla::App::CGI::C->flash(last_sent_attachment_changes => [$last_sent_attachment_change]);
+
+ my $redirect_url = $Bugzilla::App::CGI::C->url_for('show_bugcgi')->query(id => $bug->id);
+ $Bugzilla::App::CGI::C->redirect_to($redirect_url);
}
# Only administrators can delete attachments.
# Insert the comment.
$bug->update();
- # Required to display the bug the deleted attachment belongs to.
- $vars->{'bugs'} = [$bug];
- $vars->{'header_done'} = 1;
-
- $vars->{'sent_bugmail'}
- = Bugzilla::BugMail::Send($bug->id, {'changer' => $user});
-
- # BMO: add show_bug_format hook for experimental UI work
- my $show_bug_format = {};
- Bugzilla::Hook::process('show_bug_format', $show_bug_format);
-
- if ($show_bug_format->{format} eq 'modal') {
- $C->content_security_policy(SHOW_BUG_MODAL_CSP($bug->id));
- }
-
- print $cgi->header();
- $template->process("attachment/updated.html.tmpl", $vars)
- || ThrowTemplateError($template->error());
+ # Persist details of what changed and redirect to show_bug page.
+ my $sent_bugmail = Bugzilla::BugMail::Send($bug->id, {'changer' => $user});
+
+ my $last_sent_attachment_change = {
+ attachment => {
+ id => $attachment->id,
+ bug_id => $attachment->bug_id,
+ contenttype => $attachment->contenttype,
+ description => $attachment->description,
+ },
+ type => 'deleted',
+ recipient_count => scalar @{$sent_bugmail->{sent}},
+ };
+ $Bugzilla::App::CGI::C->flash(last_sent_attachment_changes => [$last_sent_attachment_change]);
+
+ my $redirect_url = $Bugzilla::App::CGI::C->url_for('show_bugcgi')->query(id => $bug->id);
+ $Bugzilla::App::CGI::C->redirect_to($redirect_url);
}
else {
# Create a token.
--- /dev/null
+[%# The contents of this file are subject to the Mozilla Public
+ # License Version 1.1 (the "License"); you may not use this file
+ # except in compliance with the License. You may obtain a copy of
+ # the License at http://www.mozilla.org/MPL/
+ #
+ # Software distributed under the License is distributed on an "AS
+ # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+ # implied. See the License for the specific language governing
+ # rights and limitations under the License.
+ #
+ # The Original Code is the Bugzilla Bug Tracking System.
+ #
+ # The Initial Developer of the Original Code is Netscape Communications
+ # Corporation. Portions created by Netscape are
+ # Copyright (C) 1998 Netscape Communications Corporation. All
+ # Rights Reserved.
+ #
+ # Contributor(s): Israel Madueme <imadueme@mozilla.org>
+ #%]
+
+[%# INTERFACE:
+ # attachment: Actual attachment object or dictionary containing all of the following properties:
+ # {id, bug_id, contenttype, description}
+ # type: string; the type of change/check that was made. Should be one of:
+ # (created, updated, deleted)
+ # recipient_count: string; The number of people that were emailed.
+ # content_type_method: string; How the content type method was determined; one of:
+ # ('autodetect', 'manual')
+ #%]
+
+[% PROCESS global/variables.none.tmpl %]
+
+<dl>
+ <dt>
+ [% IF type == 'created' %]
+ <a title="[% attachment.description FILTER html %]"
+ href="[% basepath FILTER none %]attachment.cgi?id=[% attachment.id FILTER none %]&action=edit">Attachment #[% attachment.id FILTER none %]</a>
+ to [% "$terms.bug $attachment.bug_id" FILTER bug_link(attachment.bug_id) FILTER none %] created
+ [% ELSE %]
+ Changes to
+ <a title="[% attachment.description FILTER html %]"
+ href="[% basepath FILTER none %]attachment.cgi?id=[% attachment.id FILTER none %]&action=edit">attachment [% attachment.id FILTER none %]</a>
+ of [% "$terms.bug $attachment.bug_id" FILTER bug_link(attachment.bug_id) FILTER none %] submitted
+ [% END %]
+ </dt>
+ <dd>
+ [% INCLUDE "bug/process/bugmail.html.tmpl"
+ mailing_bugid = attachment.bug_id
+ recipient_count = recipient_count
+ %]
+ [% IF content_type_method == 'autodetect' %]
+ <p>
+ <b>Note:</b> [% terms.Bugzilla %] automatically detected the content type
+ <em>[% attachment.contenttype FILTER html %]</em> for this attachment. If this is
+ incorrect, correct the value by editing the attachment's
+ <a href="[% basepath FILTER none %]attachment.cgi?id=[% attachment.id FILTER none %]&action=edit">details</a>.
+ </p>
+ [% END %]
+
+ [%# Links to more information about the changed bug. %]
+ [% Hook.process("links") %]
+ </dd>
+</dl>
+
+<p>
+<a href="[% basepath FILTER none %]attachment.cgi?bugid=[% attachment.bug_id FILTER none %]&action=enter">Create
+ Another Attachment to [% terms.Bug %] [%+ attachment.bug_id FILTER none %]</a>
+</p>