X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=rt%2Fshare%2Fhtml%2FAdmin%2FArticles%2FClasses%2FModify.html;fp=rt%2Fshare%2Fhtml%2FAdmin%2FArticles%2FClasses%2FModify.html;h=8dbd2897d69a6a9f9cfcb4eb3e724c2884fc8966;hb=33beebf4cb42eba3e1dd868ad5e0af102de961da;hp=0000000000000000000000000000000000000000;hpb=7ac86daf67b0a95153b736d5811f9050363f6553;p=freeside.git diff --git a/rt/share/html/Admin/Articles/Classes/Modify.html b/rt/share/html/Admin/Articles/Classes/Modify.html new file mode 100644 index 000000000..8dbd2897d --- /dev/null +++ b/rt/share/html/Admin/Articles/Classes/Modify.html @@ -0,0 +1,199 @@ +%# BEGIN BPS TAGGED BLOCK {{{ +%# +%# COPYRIGHT: +%# +%# This software is Copyright (c) 1996-2012 Best Practical Solutions, LLC +%# +%# +%# (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 }}} +<& /Admin/Elements/Header, Title => $title &> +<& /Elements/Tabs &> +<& /Elements/ListActions, actions => \@results &> + +
+ +%if ($Create ) { + +% } else { + +% } + + + + + + + + + + + + + + + + + + +
<&|/l&>Class Name:
<&|/l&>Description:
 > <&|/l&>Enabled (Unchecking this box disables this class)
 > <&|/l&>All Articles in this class should be listed in a dropdown of the ticket reply page
+ +

When inserting articles in this class into emails:

+ + +%$m->callback( CallbackName => 'BeforeSubmit', CustomFields => $cfs, ClassObj => $ClassObj ); + +% if ( $Create ) { +<& /Elements/Submit, Label => loc('Create') &> +% } else { +<& /Elements/Submit, Label => loc('Save Changes') &> +% } +
+ +<%INIT> + +my $ClassObj = RT::Class->new($session{'CurrentUser'}); +my ($title, @results, $Disabled); + +if ($Create) { + $title = loc("Create a Class"); +} else { + my ( $val, $msg ); + if ($id eq 'new') { + ($val, $msg) = $ClassObj->Create(Name => $Name); + if ( $val ) { + push @results, $msg; + } + else { + push @results, loc('Class could not be created: [_1]', $msg); + } + } else { + $ClassObj->Load($id) || $ClassObj->Load($Name) || $m->comp("/Elements/Error", Why => "Couldn't load class '$Name'"); + $val = $ClassObj->id; + } + + if ( $val ) { + $title = loc('Modify the Class [_1]', $ClassObj->Name); + } + else { + $title = loc("Create a Class"); + $Create = 1; + } +} + +if ($ClassObj->Id()) { + $ARGS{HotList} ||= 0 if $Submitted; + my @attribs= qw(Description Name HotList); + $m->callback( CallbackName => 'AttributeList', Attributes => \@attribs, ARGSRef => \%ARGS ); + push @results, UpdateRecordObject( AttributesRef => \@attribs, + Object => $ClassObj, + ARGSRef => \%ARGS); +} + +#we're asking about enabled on the web page but really care about disabled. +if ((defined $Enabled && $Enabled == 1) or (not defined $Enabled and $Create)) { + $Disabled = 0; +} else { + $Disabled = 1; +} + +my %include = (Name => 1, Summary => 1); + +my $cfs; +if ( $ClassObj->id ) { + $cfs = $ClassObj->ArticleCustomFields; + $include{"CF-Title-".$_->Id} = $include{"CF-Value-".$_->Id} = 1 while $_ = $cfs->Next; +} + +if ( $ClassObj->id && $Submitted ) { + if ( $Disabled != $ClassObj->Disabled) { + my ($code, $msg) = $ClassObj->SetDisabled($Disabled); + push @results, loc('Enabled status [_1]', loc_fuzzy($msg)); + } + + for (keys %include) { + if ($ARGS{"Include-$_"}) { + $ClassObj->DeleteAttribute("Skip-$_"); + } else { + $ClassObj->SetAttribute(Name => "Skip-$_", Content => 1); + } + } +} + +# This code does automatic redirection if any updates happen. +MaybeRedirectForResults( + Actions => \@results, + Arguments => { id => $ClassObj->Id }, +) if $ClassObj->id; + + +if ( $ClassObj->id ) { + $include{$_} = not $ClassObj->FirstAttribute("Skip-$_") for keys %include; +} + +$include{$_} = $include{$_} ? " CHECKED" : "" for keys %include; + +my $EnabledChecked = ($Create ? $Disabled : $ClassObj->Disabled()) ? "" : "CHECKED"; +my $HotListChecked = $ClassObj->id && $ClassObj->HotList ? "CHECKED" : ""; + + + +<%ARGS> +$id => undef +$result => undef +$Name => undef +$Create => undef +$Description => undef +$Submitted => undef +$Enabled => undef +