Bug 682822: Hide 'obsolete attachments' section when there are none to display
r=LpSolit, a=LpSolit git-svn-id: svn://10.0.0.236/trunk@262794 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
parent
8f9ce887e2
commit
a98571dff6
@ -1 +1 @@
|
||||
7949
|
||||
7950
|
||||
@ -474,40 +474,51 @@ sub viewall {
|
||||
|
||||
# Display a form for entering a new attachment.
|
||||
sub enter {
|
||||
# Retrieve and validate parameters
|
||||
my $bug = Bugzilla::Bug->check(scalar $cgi->param('bugid'));
|
||||
my $bugid = $bug->id;
|
||||
Bugzilla::Attachment->_check_bug($bug);
|
||||
my $dbh = Bugzilla->dbh;
|
||||
my $user = Bugzilla->user;
|
||||
# Retrieve and validate parameters
|
||||
my $bug = Bugzilla::Bug->check(scalar $cgi->param('bugid'));
|
||||
my $bugid = $bug->id;
|
||||
Bugzilla::Attachment->_check_bug($bug);
|
||||
my $dbh = Bugzilla->dbh;
|
||||
my $user = Bugzilla->user;
|
||||
|
||||
# Retrieve the attachments the user can edit from the database and write
|
||||
# them into an array of hashes where each hash represents one attachment.
|
||||
my $canEdit = "";
|
||||
if (!$user->in_group('editbugs', $bug->product_id)) {
|
||||
$canEdit = "AND submitter_id = " . $user->id;
|
||||
}
|
||||
my $attach_ids = $dbh->selectcol_arrayref("SELECT attach_id FROM attachments
|
||||
WHERE bug_id = ? AND isobsolete = 0 $canEdit
|
||||
ORDER BY attach_id", undef, $bugid);
|
||||
# Retrieve the attachments the user can edit from the database and write
|
||||
# them into an array of hashes where each hash represents one attachment.
|
||||
|
||||
my ($can_edit, $not_private) = ('', '');
|
||||
if (!$user->in_group('editbugs', $bug->product_id)) {
|
||||
$can_edit = "AND submitter_id = " . $user->id;
|
||||
}
|
||||
if (!$user->is_insider) {
|
||||
$not_private = "AND isprivate = 0";
|
||||
}
|
||||
my $attach_ids = $dbh->selectcol_arrayref(
|
||||
"SELECT attach_id
|
||||
FROM attachments
|
||||
WHERE bug_id = ?
|
||||
AND isobsolete = 0
|
||||
$can_edit $not_private
|
||||
ORDER BY attach_id",
|
||||
undef, $bugid);
|
||||
|
||||
# Define the variables and functions that will be passed to the UI template.
|
||||
$vars->{'bug'} = $bug;
|
||||
$vars->{'attachments'} = Bugzilla::Attachment->new_from_list($attach_ids);
|
||||
# Define the variables and functions that will be passed to the UI template.
|
||||
$vars->{'bug'} = $bug;
|
||||
$vars->{'attachments'} = Bugzilla::Attachment->new_from_list($attach_ids);
|
||||
|
||||
my $flag_types = Bugzilla::FlagType::match({'target_type' => 'attachment',
|
||||
'product_id' => $bug->product_id,
|
||||
'component_id' => $bug->component_id});
|
||||
$vars->{'flag_types'} = $flag_types;
|
||||
$vars->{'any_flags_requesteeble'} =
|
||||
grep { $_->is_requestable && $_->is_requesteeble } @$flag_types;
|
||||
$vars->{'token'} = issue_session_token('create_attachment:');
|
||||
my $flag_types = Bugzilla::FlagType::match({
|
||||
'target_type' => 'attachment',
|
||||
'product_id' => $bug->product_id,
|
||||
'component_id' => $bug->component_id
|
||||
});
|
||||
$vars->{'flag_types'} = $flag_types;
|
||||
$vars->{'any_flags_requesteeble'} =
|
||||
grep { $_->is_requestable && $_->is_requesteeble } @$flag_types;
|
||||
$vars->{'token'} = issue_session_token('create_attachment:');
|
||||
|
||||
print $cgi->header();
|
||||
print $cgi->header();
|
||||
|
||||
# Generate and return the UI (HTML page) from the appropriate template.
|
||||
$template->process("attachment/create.html.tmpl", $vars)
|
||||
|| ThrowTemplateError($template->error());
|
||||
# Generate and return the UI (HTML page) from the appropriate template.
|
||||
$template->process("attachment/create.html.tmpl", $vars)
|
||||
|| ThrowTemplateError($template->error());
|
||||
}
|
||||
|
||||
# Insert a new attachment into the database.
|
||||
|
||||
@ -56,23 +56,19 @@ TUI_hide_default('attachment_text_field');
|
||||
[% PROCESS attachment/createformcontents.html.tmpl %]
|
||||
|
||||
[%# Additional fields for attachments on existing bugs: %]
|
||||
<tr>
|
||||
<th>Obsoletes:</th>
|
||||
<td>
|
||||
<em>(optional) Check each existing attachment made obsolete by your new attachment.</em><br>
|
||||
[% IF attachments.size %]
|
||||
[% IF attachments.size %]
|
||||
<tr>
|
||||
<th>Obsoletes:</th>
|
||||
<td>
|
||||
<em>(optional) Check each existing attachment made obsolete by your new attachment.</em><br>
|
||||
[% FOREACH attachment = attachments %]
|
||||
[% IF ((attachment.isprivate == 0) || user.is_insider) %]
|
||||
<input type="checkbox" id="[% attachment.id %]"
|
||||
name="obsolete" value="[% attachment.id %]">
|
||||
<a href="attachment.cgi?id=[% attachment.id %]&action=edit">[% attachment.id %]: [% attachment.description FILTER html %]</a><br>
|
||||
[% END %]
|
||||
<input type="checkbox" id="[% attachment.id %]"
|
||||
name="obsolete" value="[% attachment.id %]">
|
||||
<a href="attachment.cgi?id=[% attachment.id %]&action=edit">[% attachment.id %]: [% attachment.description FILTER html %]</a><br>
|
||||
[% END %]
|
||||
[% ELSE %]
|
||||
[no attachments can be made obsolete]
|
||||
[% END %]
|
||||
</td>
|
||||
</tr>
|
||||
</td>
|
||||
</tr>
|
||||
[% END %]
|
||||
|
||||
[% IF (user.id != bug.assigned_to.id) AND user.in_group("editbugs", bug.product_id) %]
|
||||
<tr>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user