diff options
Diffstat (limited to 'rt/share/html/User')
-rw-r--r-- | rt/share/html/User/Elements/Portlets/ActiveTickets | 70 | ||||
-rw-r--r-- | rt/share/html/User/Elements/Portlets/CreateTicket | 58 | ||||
-rw-r--r-- | rt/share/html/User/Elements/Portlets/ExtraInfo | 56 | ||||
-rw-r--r-- | rt/share/html/User/Elements/Portlets/InactiveTickets | 70 | ||||
-rw-r--r-- | rt/share/html/User/Elements/TicketList | 115 | ||||
-rw-r--r-- | rt/share/html/User/Elements/UserInfo | 64 | ||||
-rw-r--r-- | rt/share/html/User/History.html | 67 | ||||
-rwxr-xr-x | rt/share/html/User/Prefs.html | 27 | ||||
-rw-r--r-- | rt/share/html/User/Search.html | 101 | ||||
-rw-r--r-- | rt/share/html/User/Summary.html | 99 |
10 files changed, 713 insertions, 14 deletions
diff --git a/rt/share/html/User/Elements/Portlets/ActiveTickets b/rt/share/html/User/Elements/Portlets/ActiveTickets new file mode 100644 index 000000000..f281d3269 --- /dev/null +++ b/rt/share/html/User/Elements/Portlets/ActiveTickets @@ -0,0 +1,70 @@ +%# BEGIN BPS TAGGED BLOCK {{{ +%# +%# COPYRIGHT: +%# +%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC +%# <sales@bestpractical.com> +%# +%# (Except where explicitly superseded by other copyright notices) +%# +%# +%# LICENSE: +%# +%# This work is made available to you under the terms of Version 2 of +%# the GNU General Public License. A copy of that license should have +%# been provided with this software, but in any event can be snarfed +%# from www.gnu.org. +%# +%# This work is distributed in the hope that it will be useful, but +%# WITHOUT ANY WARRANTY; without even the implied warranty of +%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +%# General Public License for more details. +%# +%# You should have received a copy of the GNU General Public License +%# along with this program; if not, write to the Free Software +%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +%# 02110-1301 or visit their web page on the internet at +%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html. +%# +%# +%# CONTRIBUTION SUBMISSION POLICY: +%# +%# (The following paragraph is not intended to limit the rights granted +%# to you to modify and distribute this software under the terms of +%# the GNU General Public License and is only of importance to you if +%# you choose to contribute your changes and enhancements to the +%# community by submitting them to Best Practical Solutions, LLC.) +%# +%# By intentionally submitting any modifications, corrections or +%# derivatives to this work, or any other work intended for use with +%# Request Tracker, to Best Practical Solutions, LLC, you confirm that +%# you are the copyright holder for those contributions and you grant +%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable, +%# royalty-free, perpetual, license to use, copy, create derivative +%# works based on those contributions, and sublicense and distribute +%# those contributions and any derivatives thereof. +%# +%# END BPS TAGGED BLOCK }}} +<& /User/Elements/TicketList , + User => $User, + conditions => $conditions, + Rows => $Rows, + WatcherTypes => [qw(Watcher)], + Class => "user active-tickets", + Title => loc('Active Tickets'), + TitleBox => 1, + ShowHeader => 1, + Format => RT->Config->Get('UserSummaryTicketListFormat'), +&> +<%INIT> +unless ( @$conditions ) { + foreach (RT::Queue->ActiveStatusArray()) { + push @$conditions, { cond => "Status = '$_'", name => loc($_) }; + } +} +</%INIT> +<%ARGS> +$User => undef +$conditions => [] +$Rows => 10 +</%ARGS> diff --git a/rt/share/html/User/Elements/Portlets/CreateTicket b/rt/share/html/User/Elements/Portlets/CreateTicket new file mode 100644 index 000000000..b4df5a39c --- /dev/null +++ b/rt/share/html/User/Elements/Portlets/CreateTicket @@ -0,0 +1,58 @@ +%# BEGIN BPS TAGGED BLOCK {{{ +%# +%# COPYRIGHT: +%# +%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC +%# <sales@bestpractical.com> +%# +%# (Except where explicitly superseded by other copyright notices) +%# +%# +%# LICENSE: +%# +%# This work is made available to you under the terms of Version 2 of +%# the GNU General Public License. A copy of that license should have +%# been provided with this software, but in any event can be snarfed +%# from www.gnu.org. +%# +%# This work is distributed in the hope that it will be useful, but +%# WITHOUT ANY WARRANTY; without even the implied warranty of +%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +%# General Public License for more details. +%# +%# You should have received a copy of the GNU General Public License +%# along with this program; if not, write to the Free Software +%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +%# 02110-1301 or visit their web page on the internet at +%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html. +%# +%# +%# CONTRIBUTION SUBMISSION POLICY: +%# +%# (The following paragraph is not intended to limit the rights granted +%# to you to modify and distribute this software under the terms of +%# the GNU General Public License and is only of importance to you if +%# you choose to contribute your changes and enhancements to the +%# community by submitting them to Best Practical Solutions, LLC.) +%# +%# By intentionally submitting any modifications, corrections or +%# derivatives to this work, or any other work intended for use with +%# Request Tracker, to Best Practical Solutions, LLC, you confirm that +%# you are the copyright holder for those contributions and you grant +%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable, +%# royalty-free, perpetual, license to use, copy, create derivative +%# works based on those contributions, and sublicense and distribute +%# those contributions and any derivatives thereof. +%# +%# END BPS TAGGED BLOCK }}} +<&| /Widgets/TitleBox, title => loc('Quick ticket creation'), class => "user create-ticket" &> +<form action="<%RT->Config->Get('WebPath')%>/Ticket/Create.html"> +<&|/l&>Create a ticket with this user as the Requestor in Queue</&> +<input type="hidden" name="Requestors" value="<%$User->EmailAddress%>"> +<& /Elements/SelectNewTicketQueue &> +<input type="submit" value="<&|/l&>Create</&>"> +</form> +</&> +<%ARGS> +$User +</%ARGS> diff --git a/rt/share/html/User/Elements/Portlets/ExtraInfo b/rt/share/html/User/Elements/Portlets/ExtraInfo new file mode 100644 index 000000000..70007cdac --- /dev/null +++ b/rt/share/html/User/Elements/Portlets/ExtraInfo @@ -0,0 +1,56 @@ +%# BEGIN BPS TAGGED BLOCK {{{ +%# +%# COPYRIGHT: +%# +%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC +%# <sales@bestpractical.com> +%# +%# (Except where explicitly superseded by other copyright notices) +%# +%# +%# LICENSE: +%# +%# This work is made available to you under the terms of Version 2 of +%# the GNU General Public License. A copy of that license should have +%# been provided with this software, but in any event can be snarfed +%# from www.gnu.org. +%# +%# This work is distributed in the hope that it will be useful, but +%# WITHOUT ANY WARRANTY; without even the implied warranty of +%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +%# General Public License for more details. +%# +%# You should have received a copy of the GNU General Public License +%# along with this program; if not, write to the Free Software +%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +%# 02110-1301 or visit their web page on the internet at +%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html. +%# +%# +%# CONTRIBUTION SUBMISSION POLICY: +%# +%# (The following paragraph is not intended to limit the rights granted +%# to you to modify and distribute this software under the terms of +%# the GNU General Public License and is only of importance to you if +%# you choose to contribute your changes and enhancements to the +%# community by submitting them to Best Practical Solutions, LLC.) +%# +%# By intentionally submitting any modifications, corrections or +%# derivatives to this work, or any other work intended for use with +%# Request Tracker, to Best Practical Solutions, LLC, you confirm that +%# you are the copyright holder for those contributions and you grant +%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable, +%# royalty-free, perpetual, license to use, copy, create derivative +%# works based on those contributions, and sublicense and distribute +%# those contributions and any derivatives thereof. +%# +%# END BPS TAGGED BLOCK }}} +<&| /Widgets/TitleBox, title => loc('User Information'), class => "user extra-info" &> + +% $m->callback( User => $User, CallbackName => 'BeforeExtraInfo' ); +<& /User/Elements/UserInfo, User => $User, FormatConfig => 'UserSummaryExtraInfo', ClassPrefix => 'user-summary' &> + +</&> +<%ARGS> +$User +</%ARGS> diff --git a/rt/share/html/User/Elements/Portlets/InactiveTickets b/rt/share/html/User/Elements/Portlets/InactiveTickets new file mode 100644 index 000000000..52cced117 --- /dev/null +++ b/rt/share/html/User/Elements/Portlets/InactiveTickets @@ -0,0 +1,70 @@ +%# BEGIN BPS TAGGED BLOCK {{{ +%# +%# COPYRIGHT: +%# +%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC +%# <sales@bestpractical.com> +%# +%# (Except where explicitly superseded by other copyright notices) +%# +%# +%# LICENSE: +%# +%# This work is made available to you under the terms of Version 2 of +%# the GNU General Public License. A copy of that license should have +%# been provided with this software, but in any event can be snarfed +%# from www.gnu.org. +%# +%# This work is distributed in the hope that it will be useful, but +%# WITHOUT ANY WARRANTY; without even the implied warranty of +%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +%# General Public License for more details. +%# +%# You should have received a copy of the GNU General Public License +%# along with this program; if not, write to the Free Software +%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +%# 02110-1301 or visit their web page on the internet at +%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html. +%# +%# +%# CONTRIBUTION SUBMISSION POLICY: +%# +%# (The following paragraph is not intended to limit the rights granted +%# to you to modify and distribute this software under the terms of +%# the GNU General Public License and is only of importance to you if +%# you choose to contribute your changes and enhancements to the +%# community by submitting them to Best Practical Solutions, LLC.) +%# +%# By intentionally submitting any modifications, corrections or +%# derivatives to this work, or any other work intended for use with +%# Request Tracker, to Best Practical Solutions, LLC, you confirm that +%# you are the copyright holder for those contributions and you grant +%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable, +%# royalty-free, perpetual, license to use, copy, create derivative +%# works based on those contributions, and sublicense and distribute +%# those contributions and any derivatives thereof. +%# +%# END BPS TAGGED BLOCK }}} +<& /User/Elements/TicketList , + User => $User, + conditions => $conditions, + Rows => $Rows, + WatcherTypes => [qw(Watcher)], + Class => "user inactive-tickets", + Title => loc('Inactive Tickets'), + TitleBox => 1, + ShowHeader => 1, + Format => RT->Config->Get('UserSummaryTicketListFormat'), +&> +<%INIT> +unless ( @$conditions ) { + foreach (RT::Queue->InactiveStatusArray()) { + push @$conditions, { cond => "Status = '$_'", name => loc($_) }; + } +} +</%INIT> +<%ARGS> +$User => undef +$conditions => [] +$Rows => 10 +</%ARGS> diff --git a/rt/share/html/User/Elements/TicketList b/rt/share/html/User/Elements/TicketList new file mode 100644 index 000000000..6d17afe4c --- /dev/null +++ b/rt/share/html/User/Elements/TicketList @@ -0,0 +1,115 @@ +%# BEGIN BPS TAGGED BLOCK {{{ +%# +%# COPYRIGHT: +%# +%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC +%# <sales@bestpractical.com> +%# +%# (Except where explicitly superseded by other copyright notices) +%# +%# +%# LICENSE: +%# +%# This work is made available to you under the terms of Version 2 of +%# the GNU General Public License. A copy of that license should have +%# been provided with this software, but in any event can be snarfed +%# from www.gnu.org. +%# +%# This work is distributed in the hope that it will be useful, but +%# WITHOUT ANY WARRANTY; without even the implied warranty of +%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +%# General Public License for more details. +%# +%# You should have received a copy of the GNU General Public License +%# along with this program; if not, write to the Free Software +%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +%# 02110-1301 or visit their web page on the internet at +%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html. +%# +%# +%# CONTRIBUTION SUBMISSION POLICY: +%# +%# (The following paragraph is not intended to limit the rights granted +%# to you to modify and distribute this software under the terms of +%# the GNU General Public License and is only of importance to you if +%# you choose to contribute your changes and enhancements to the +%# community by submitting them to Best Practical Solutions, LLC.) +%# +%# By intentionally submitting any modifications, corrections or +%# derivatives to this work, or any other work intended for use with +%# Request Tracker, to Best Practical Solutions, LLC, you confirm that +%# you are the copyright holder for those contributions and you grant +%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable, +%# royalty-free, perpetual, license to use, copy, create derivative +%# works based on those contributions, and sublicense and distribute +%# those contributions and any derivatives thereof. +%# +%# END BPS TAGGED BLOCK }}} +% if ( $TitleBox ) { + <& /Widgets/TitleBoxStart, title => $Title, title_href => $url, class => $Class &> +% } else { + <span class="label"><a href="<% $url %>"><% $Title %>:</a></span> +% } + +<& /Elements/CollectionList, + %QueryProperties, + + Class => 'RT::Tickets', + Page => 1, + AllowSorting => 0, + ShowNavigation => 0, +&> + +% if ( $TitleBox ) { + <& /Widgets/TitleBoxEnd &> +% } +<%INIT> + +my $sql = ''; + +$sql = join(' OR ', map { "$_.id = ".$User->Id } @WatcherTypes ); +$sql = "( $sql )"; + +$m->callback( CallbackName => 'ModifyWatcherSQL', + %ARGS, + sql => \$sql, +); + +if (@$conditions) { + $sql .= " AND (".join( " OR ", map $_->{cond}, @$conditions).")"; +} + +my %QueryProperties = ( + Query => $sql, + OrderBy => 'Priority|id', + Order => 'DESC|DESC', + Rows => $Rows || 10, + ShowHeader => $ShowHeader, + Format => $Format, +); + +$m->callback( CallbackName => 'ModifyQueryProperties', + %ARGS, + QueryProperties => \%QueryProperties, +); + +my $url = RT->Config->Get('WebPath') . '/Search/Results.html?'; + $url .= $m->comp('/Elements/QueryString', + Query => $QueryProperties{'Query'}, + OrderBy => $QueryProperties{'OrderBy'}, + Order => $QueryProperties{'Order'}, + ); + +</%INIT> +<%ARGS> +$Title => '' +$Class => '' +@WatcherTypes => (qw(Watcher)) +$User => undef +$conditions +$Rows => 10 +$Description => '' +$TitleBox => 0 +$Format => '' +$ShowHeader => 0 +</%ARGS> diff --git a/rt/share/html/User/Elements/UserInfo b/rt/share/html/User/Elements/UserInfo new file mode 100644 index 000000000..6944483d0 --- /dev/null +++ b/rt/share/html/User/Elements/UserInfo @@ -0,0 +1,64 @@ +%# BEGIN BPS TAGGED BLOCK {{{ +%# +%# COPYRIGHT: +%# +%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC +%# <sales@bestpractical.com> +%# +%# (Except where explicitly superseded by other copyright notices) +%# +%# +%# LICENSE: +%# +%# This work is made available to you under the terms of Version 2 of +%# the GNU General Public License. A copy of that license should have +%# been provided with this software, but in any event can be snarfed +%# from www.gnu.org. +%# +%# This work is distributed in the hope that it will be useful, but +%# WITHOUT ANY WARRANTY; without even the implied warranty of +%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +%# General Public License for more details. +%# +%# You should have received a copy of the GNU General Public License +%# along with this program; if not, write to the Free Software +%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +%# 02110-1301 or visit their web page on the internet at +%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html. +%# +%# +%# CONTRIBUTION SUBMISSION POLICY: +%# +%# (The following paragraph is not intended to limit the rights granted +%# to you to modify and distribute this software under the terms of +%# the GNU General Public License and is only of importance to you if +%# you choose to contribute your changes and enhancements to the +%# community by submitting them to Best Practical Solutions, LLC.) +%# +%# By intentionally submitting any modifications, corrections or +%# derivatives to this work, or any other work intended for use with +%# Request Tracker, to Best Practical Solutions, LLC, you confirm that +%# you are the copyright holder for those contributions and you grant +%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable, +%# royalty-free, perpetual, license to use, copy, create derivative +%# works based on those contributions, and sublicense and distribute +%# those contributions and any derivatives thereof. +%# +%# END BPS TAGGED BLOCK }}} +<& /Elements/ShowRecord, + Object => $User, + Format => $format, + TrustFormat => 1, # Only modifiable by the RT server admin, so no need to scrub. + Class => "$ClassPrefix-extra", + &> +<%INIT> +return unless blessed($User) and $User->id; +return unless $FormatConfig; +my $format = RT->Config->Get($FormatConfig); +return unless $format; +</%INIT> +<%ARGS> +$User => undef +$FormatConfig => undef +$ClassPrefix => undef +</%ARGS> diff --git a/rt/share/html/User/History.html b/rt/share/html/User/History.html new file mode 100644 index 000000000..a5ad3d238 --- /dev/null +++ b/rt/share/html/User/History.html @@ -0,0 +1,67 @@ +%# BEGIN BPS TAGGED BLOCK {{{ +%# +%# COPYRIGHT: +%# +%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC +%# <sales@bestpractical.com> +%# +%# (Except where explicitly superseded by other copyright notices) +%# +%# +%# LICENSE: +%# +%# This work is made available to you under the terms of Version 2 of +%# the GNU General Public License. A copy of that license should have +%# been provided with this software, but in any event can be snarfed +%# from www.gnu.org. +%# +%# This work is distributed in the hope that it will be useful, but +%# WITHOUT ANY WARRANTY; without even the implied warranty of +%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +%# General Public License for more details. +%# +%# You should have received a copy of the GNU General Public License +%# along with this program; if not, write to the Free Software +%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +%# 02110-1301 or visit their web page on the internet at +%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html. +%# +%# +%# CONTRIBUTION SUBMISSION POLICY: +%# +%# (The following paragraph is not intended to limit the rights granted +%# to you to modify and distribute this software under the terms of +%# the GNU General Public License and is only of importance to you if +%# you choose to contribute your changes and enhancements to the +%# community by submitting them to Best Practical Solutions, LLC.) +%# +%# By intentionally submitting any modifications, corrections or +%# derivatives to this work, or any other work intended for use with +%# Request Tracker, to Best Practical Solutions, LLC, you confirm that +%# you are the copyright holder for those contributions and you grant +%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable, +%# royalty-free, perpetual, license to use, copy, create derivative +%# works based on those contributions, and sublicense and distribute +%# those contributions and any derivatives thereof. +%# +%# END BPS TAGGED BLOCK }}} +<& /Elements/Header, Title => loc('History of the user [_1]', $User->Format) &> +<& /Elements/Tabs &> + +<& /Elements/ShowHistory, + Object => $User, + ShowDisplayModes => 0, + DisplayPath => 'History.html', +&> + +<%INIT> +my $User = RT::User->new( $session{'CurrentUser'} ); +my ($status, $msg) = $User->Load($id); +unless ($status) { + RT->Logger->error("Unable to load user $id: $msg"); + Abort("Unable to load User $id"); +} +</%INIT> +<%ARGS> +$id => undef +</%ARGS> diff --git a/rt/share/html/User/Prefs.html b/rt/share/html/User/Prefs.html index d491145e0..be2919a65 100755 --- a/rt/share/html/User/Prefs.html +++ b/rt/share/html/User/Prefs.html @@ -80,6 +80,7 @@ <td class="label"><&|/l&>Timezone</&>:</td> <td class="value"><& /Elements/SelectTimezone, Name => 'Timezone', Default => $UserObj->Timezone &></td> </tr> +<& /Elements/EditCustomFields, Object => $UserObj, Grouping => 'Identity', InTable => 1 &> </table> </&> <&| /Widgets/TitleBox, title => loc('Phone numbers'), id => "user-prefs-phone" &> @@ -100,11 +101,12 @@ <td class="label"><&|/l&>Pager</&>:</td> <td class="value"><input name="PagerPhone" value="<%$UserObj->PagerPhone || ''%>" size="13" /></td> </tr> +<& /Elements/EditCustomFields, Object => $UserObj, Grouping => 'Phones', InTable => 1 &> </table> </&> %if ($UserObj->Privileged) { -<&| /Widgets/TitleBox, title => loc('Signature') &> +<&| /Widgets/TitleBox, title => loc('Signature'), id => "user-prefs-signature" &> <textarea cols="80" rows="5" name="Signature" class="signature" wrap="hard"> <%$UserObj->Signature || ''%></textarea> </&> @@ -119,6 +121,9 @@ User => $UserObj, Name => [qw(CurrentPass Pass1 Pass2)], &> + +<& /Elements/EditCustomFields, Object => $UserObj, Grouping => 'Access control' &> + </&> <&| /Widgets/TitleBox, title => loc('Location'), id => "user-prefs-location" &> @@ -151,27 +156,21 @@ <td class="label"><&|/l&>Country</&>:</td> <td class="value"><input name="Country" value="<%$UserObj->Country || ''%>" /></td> </tr> +<& /Elements/EditCustomFields, Object => $UserObj, Grouping => 'Location', InTable => 1 &> </table> </&> -<&| /Widgets/TitleBox, title => loc('Custom Fields') &> -<table> -% my $CustomFields = $UserObj->CustomFields; -% while ( my $CF = $CustomFields->Next ) { -<tr valign="top"> -<td align="right"><% loc( $CF->Name ) %>:</td> -<td><& /Elements/EditCustomField, - %ARGS, Object => $UserObj, CustomField => $CF -&></td></tr> -% } -</table> -</&> + + +<& /Elements/EditCustomFieldCustomGroupings, Object => $UserObj &> + + <& /Elements/Submit, Label => loc('Save Preferences') &> <&| /Widgets/TitleBox, title => loc('Secret authentication token'), id => "user-prefs-feeds" &> -<&|/l&>All iCal feeds embed a secret token which authorizes you. If the URL one of your iCal feeds got exposed to the outside world, you can get a new secret, <b>breaking all existing iCal feeds</b> below.</&> +<&|/l&>All iCal feeds embed a secret token which authorizes you. If the URL for one of your iCal feeds was exposed to the outside world, you can get a new secret, <b>breaking all existing iCal feeds</b>, below.</&> <a href="#" id="ResetAuthTokenPrompt" style="display: none"> <&|/l&>I want to reset my secret token.</&> diff --git a/rt/share/html/User/Search.html b/rt/share/html/User/Search.html new file mode 100644 index 000000000..bb9c5bf43 --- /dev/null +++ b/rt/share/html/User/Search.html @@ -0,0 +1,101 @@ +%# BEGIN BPS TAGGED BLOCK {{{ +%# +%# COPYRIGHT: +%# +%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC +%# <sales@bestpractical.com> +%# +%# (Except where explicitly superseded by other copyright notices) +%# +%# +%# LICENSE: +%# +%# This work is made available to you under the terms of Version 2 of +%# the GNU General Public License. A copy of that license should have +%# been provided with this software, but in any event can be snarfed +%# from www.gnu.org. +%# +%# This work is distributed in the hope that it will be useful, but +%# WITHOUT ANY WARRANTY; without even the implied warranty of +%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +%# General Public License for more details. +%# +%# You should have received a copy of the GNU General Public License +%# along with this program; if not, write to the Free Software +%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +%# 02110-1301 or visit their web page on the internet at +%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html. +%# +%# +%# CONTRIBUTION SUBMISSION POLICY: +%# +%# (The following paragraph is not intended to limit the rights granted +%# to you to modify and distribute this software under the terms of +%# the GNU General Public License and is only of importance to you if +%# you choose to contribute your changes and enhancements to the +%# community by submitting them to Best Practical Solutions, LLC.) +%# +%# By intentionally submitting any modifications, corrections or +%# derivatives to this work, or any other work intended for use with +%# Request Tracker, to Best Practical Solutions, LLC, you confirm that +%# you are the copyright holder for those contributions and you grant +%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable, +%# royalty-free, perpetual, license to use, copy, create derivative +%# works based on those contributions, and sublicense and distribute +%# those contributions and any derivatives thereof. +%# +%# END BPS TAGGED BLOCK }}} +<& /Elements/Header, Title => loc('User Search'), Focus => '#autocomplete-UserString' &> +<& /Elements/Tabs &> + +<& /Elements/GotoUser, Default => $UserString||'' &> + +<p> <&|/l&>This will search for users by looking in the following fields:</&> <% $search_fields %></p> + +% if ($UserString) { + +% unless ( $users->Count ) { +<p><&|/l&>No users matching search criteria found.</&></p> +% } else { +<p><&|/l&>Select a user</&>:</p> + +<& /Elements/CollectionList, + OrderBy => 'Name', + Order => 'ASC', + Rows => 100, + %ARGS, + Format => $Format, + Collection => $users, + AllowSorting => 1, + PassArguments => [qw(Format Rows Page Order OrderBy UserString)], +&> + +% } +% } + +<%INIT> + +my $users; +my $Format; +if ( $UserString ) { + my $exclude = [RT->Nobody->Id, RT->System->Id]; + $users = RT::Users->new($session{'CurrentUser'}); + $users->SimpleSearch( Return => 'Name', + Term => $UserString, + Max => 100, + Exclude => $exclude ); + my $first = $users->First; + RT::Interface::Web::Redirect(RT->Config->Get('WebURL')."User/Summary.html?id=".$first->Id) + if $users->Count == 1; + $users->GotoFirstItem; + $Format = RT->Config->Get('UserSearchResultFormat'); +} + +my $search_fields = join ", ", + sort map {s/^CF\.(?:\{(.*)}|(.*))/$1 || $2/e; loc($_)} + keys %{RT->Config->Get('UserSearchFields')}; + +</%INIT> +<%ARGS> +$UserString => undef +</%ARGS> diff --git a/rt/share/html/User/Summary.html b/rt/share/html/User/Summary.html new file mode 100644 index 000000000..6b2c4c0a1 --- /dev/null +++ b/rt/share/html/User/Summary.html @@ -0,0 +1,99 @@ +%# BEGIN BPS TAGGED BLOCK {{{ +%# +%# COPYRIGHT: +%# +%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC +%# <sales@bestpractical.com> +%# +%# (Except where explicitly superseded by other copyright notices) +%# +%# +%# LICENSE: +%# +%# This work is made available to you under the terms of Version 2 of +%# the GNU General Public License. A copy of that license should have +%# been provided with this software, but in any event can be snarfed +%# from www.gnu.org. +%# +%# This work is distributed in the hope that it will be useful, but +%# WITHOUT ANY WARRANTY; without even the implied warranty of +%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +%# General Public License for more details. +%# +%# You should have received a copy of the GNU General Public License +%# along with this program; if not, write to the Free Software +%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +%# 02110-1301 or visit their web page on the internet at +%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html. +%# +%# +%# CONTRIBUTION SUBMISSION POLICY: +%# +%# (The following paragraph is not intended to limit the rights granted +%# to you to modify and distribute this software under the terms of +%# the GNU General Public License and is only of importance to you if +%# you choose to contribute your changes and enhancements to the +%# community by submitting them to Best Practical Solutions, LLC.) +%# +%# By intentionally submitting any modifications, corrections or +%# derivatives to this work, or any other work intended for use with +%# Request Tracker, to Best Practical Solutions, LLC, you confirm that +%# you are the copyright holder for those contributions and you grant +%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable, +%# royalty-free, perpetual, license to use, copy, create derivative +%# works based on those contributions, and sublicense and distribute +%# those contributions and any derivatives thereof. +%# +%# END BPS TAGGED BLOCK }}} +<& /Elements/Header, Title => loc('User: [_1]', $User->Format) &> +<& /Elements/Tabs &> + +<& /Elements/GotoUser &> +<& /Elements/ListActions, actions => \@results &> + +<%perl> +$m->callback( CallbackName => 'BeforePortlets', User => $User ); +for my $portlet (@$portlets) { + $show_portlet->($portlet); +} +$m->callback( CallbackName => 'AfterPortlets', User => $User ); +</%perl> + +<%INIT> +my $User = RT::User->new( $session{'CurrentUser'} ); +my ($status, $msg) = $User->Load($id); +unless ($status) { + RT->Logger->error("Unable to load user $id: $msg"); + Abort("Unable to load User $id"); +} + +my @results; +if ( $User->Disabled ){ + if ( $session{'CurrentUser'}->HasRight( + Object => RT->System, Right => 'AdminUsers' ) ){ + push @results, loc('User [_1] is currently disabled. Edit the user and select "Let this user access RT" to enable.', $User->Name); + } + else{ + push @results, loc('User [_1] is currently disabled.', $User->Name); + } +} + +my $portlets = RT->Config->Get('UserSummaryPortlets'); + +my $show_portlet = sub { + my $portlet = shift; + my $full_path = "/User/Elements/Portlets/$portlet"; + unless ( RT::Interface::Web->ComponentPathIsSafe($full_path) ) { + RT->Logger->error("unsafe portlet $portlet specified in UserSummaryPortlets"); + return; + } + unless ( $m->comp_exists($full_path) ) { + RT->Logger->error("Unable to find $portlet in /User/Elements/Portlets - specified in UserSummaryPortlets"); + return; + } + $m->comp( $full_path, User => $User ); +}; +</%INIT> +<%ARGS> +$id => undef +</%ARGS> |