зеркало из https://github.com/mozilla/pjs.git
Bug 365890: Searches shared by users with bless rights are in the footer by default, with no warning - Patch by Teemu Mannermaa <wicked@sci.fi> r/a=LpSolit
This commit is contained in:
Родитель
83c2fec9b6
Коммит
7e3f801a02
|
@ -41,6 +41,7 @@
|
|||
title = "User Preferences"
|
||||
subheader = filtered_login
|
||||
style_urls = ['skins/standard/admin.css']
|
||||
javascript_urls = ['js/util.js']
|
||||
%]
|
||||
|
||||
[% tabs = [{ name => "settings", label => "General Preferences",
|
||||
|
|
|
@ -22,8 +22,25 @@
|
|||
[%# INTERFACE:
|
||||
# queryshare_groups: list of groups the user may share queries with
|
||||
# (id, name).
|
||||
# bless_group_ids: list of group ids the user may bless.
|
||||
#%]
|
||||
|
||||
[% IF user.can_bless %]
|
||||
<script type="text/javascript"><!--
|
||||
function update_checkbox(group) {
|
||||
var bless_groups = [[% bless_group_ids.join(",") FILTER js %]];
|
||||
var checkbox = document.getElementById(group.name.replace(/share_(\d+)/, "force_$1"));
|
||||
|
||||
if (bz_isValueInArray(bless_groups, group.value)) {
|
||||
checkbox.disabled = false;
|
||||
} else {
|
||||
checkbox.disabled = true;
|
||||
checkbox.checked = false;
|
||||
}
|
||||
} //-->
|
||||
</script>
|
||||
[% END %]
|
||||
|
||||
<p>Your saved searches are as follows:</p>
|
||||
|
||||
<blockquote>
|
||||
|
@ -103,7 +120,8 @@
|
|||
</td>
|
||||
[% IF may_share %]
|
||||
<td>
|
||||
<select name="share_[% q.id FILTER html %]">
|
||||
<select name="share_[% q.id FILTER html %]"
|
||||
[% IF user.can_bless %] onchange="update_checkbox(this);"[% END %]>
|
||||
<option value="">Don't share</option>
|
||||
[% FOREACH group = queryshare_groups %]
|
||||
<option value="[% group.id %]"
|
||||
|
@ -112,6 +130,14 @@
|
|||
>[% group.name FILTER html %]</option>
|
||||
[% END %]
|
||||
</select>
|
||||
[% IF user.can_bless %]
|
||||
<input type="checkbox" id="force_[% q.id FILTER html %]"
|
||||
name="force_[% q.id FILTER html %]" value="1"
|
||||
[% " disabled"
|
||||
IF !bless_group_ids.grep("^$q.shared_with_group.id\$").0
|
||||
%]>
|
||||
<label for="force_[% q.id FILTER html %]">Add to footer</label>
|
||||
[% END %]
|
||||
[% IF q.shared_with_users %]
|
||||
(shared with [% q.shared_with_users FILTER html %]
|
||||
[%+ q.shared_with_users > 1 ? "users" : "user" %])
|
||||
|
@ -121,6 +147,11 @@
|
|||
</tr>
|
||||
[% END %]
|
||||
</table>
|
||||
[% IF user.can_bless %]
|
||||
<p>Note that for every search that has the "Add to footer" selected, a
|
||||
link to the shared search is added to the footer of every user that is
|
||||
a direct member of the group at the time you click Submit Changes.</p>
|
||||
[% END %]
|
||||
</blockquote>
|
||||
|
||||
<p>You may use these searches saved and shared by others:</p>
|
||||
|
|
|
@ -399,6 +399,7 @@ sub DoSavedSearches {
|
|||
$vars->{'queryshare_groups'} =
|
||||
Bugzilla::Group->new_from_list($user->queryshare_groups);
|
||||
}
|
||||
$vars->{'bless_group_ids'} = [map {$_->{'id'}} @{$user->bless_groups}];
|
||||
}
|
||||
|
||||
sub SaveSavedSearches {
|
||||
|
@ -458,10 +459,9 @@ sub SaveSavedSearches {
|
|||
}
|
||||
|
||||
# If we're sharing our query with a group we can bless, we
|
||||
# subscribe direct group members to our search automatically.
|
||||
# Otherwise, the group members need to opt in. This behaviour
|
||||
# is deemed most likely to fit users' needs.
|
||||
if ($user->can_bless($group_id)) {
|
||||
# have the ability to add link to our search to the footer of
|
||||
# direct group members automatically.
|
||||
if ($user->can_bless($group_id) && $cgi->param('force_' . $q->id)) {
|
||||
my $group = new Bugzilla::Group($group_id);
|
||||
my $members = $group->members_non_inherited;
|
||||
foreach my $member (@$members) {
|
||||
|
|
Загрузка…
Ссылка в новой задаче