This commit was manufactured by cvs2svn to create tag
[freeside.git] / rt / html / Admin / Elements / EditCustomFields
diff --git a/rt/html/Admin/Elements/EditCustomFields b/rt/html/Admin/Elements/EditCustomFields
deleted file mode 100644 (file)
index 81c984d..0000000
+++ /dev/null
@@ -1,213 +0,0 @@
-%# BEGIN LICENSE BLOCK
-%# 
-%# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
-%# 
-%# (Except where explictly superceded by other copyright notices)
-%# 
-%# 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.
-%# 
-%# Unless otherwise specified, all modifications, corrections or
-%# extensions to this work which alter its source code become the
-%# property of Best Practical Solutions, LLC when submitted for
-%# inclusion in the work.
-%# 
-%# 
-%# END LICENSE BLOCK
-<& /Elements/ListActions, actions => \@actions &>
-
-<TABLE>
-<TR>
-<TD VALIGN=TOP>
-<h2><%$caption%></h2>
-</TD></TR></TABLE>
-% if ($CustomFields->Count == 0 ) {
-<P><i><&|/l&>(No custom fields)</&></i></P>
-% } else {
-<TABLE cellspacing=0 cellpadding=2>
-% my $count;
-% while (my $CustomFieldObj = $CustomFields->Next) { 
-<TR>
-  <TD valign="TOP">
-% if ($CustomFieldObj->Name) {
-    <A HREF="CustomField.html?Queue=<%$id%>&CustomField=<%$CustomFieldObj->id()%>"><b><%$CustomFieldObj->Name%></b></a><br>
-% } else {
-    <A HREF="CustomField.html?Queue=<%$id%>&CustomField=<%$CustomFieldObj->id()%>"><i>(<%loc("no name")%>)</i></a><br>
-% }
-    <%$CustomFieldObj->Description%>
-  </TD>
-  <TD valign="TOP">
-    <i><% $CustomFieldObj->FriendlyType %></i>
-  </TD>
-%  # show 'move up' unless it's the first item
-%  if ($count++) {
-  <TD valign="TOP">
-    <a href="CustomFields.html?id=<%$id%>&CustomField=<%$CustomFieldObj->id%>&Move=-1"><&|/l&>Move up</&></a>
-%  } else {
-  <TD valign="TOP" ALIGN=RIGHT>
-%  }
-
-%  # show 'move down' unless it's the last item
-%  if (!$CustomFields->IsLast) {
-%  $m->print(' | ') if $count > 1;
-    <a href="CustomFields.html?id=<%$id%>&CustomField=<%$CustomFieldObj->id%>&Move=1"><&|/l&>Move down</&></a>
-%  }
-</TD>
-</TR>
-% }
-
-</TABLE>
-% }
-<FORM METHOD=GET ACTION="CustomFields.html">
-% if ($id) {
-<INPUT TYPE="Hidden" NAME="id" VALUE="<%$id%>">
-% }
-<input type="checkbox" name="FindDisabledCustomFields"> <&|/l&>Include disabled custom fields in listing.</&>
-<input type=submit value="<&|/l&>Go!</&>">
-</FORM>
-
-
-<%INIT>
-my $CustomFields = RT::CustomFields->new($session{'CurrentUser'});
-my $QueueObj = RT::Queue->new($session{'CurrentUser'});
-my $caption;
-
-if ($id)  {
-        $QueueObj->Load($id);                        
-}
-
-if ($QueueObj->id) {
-       $CustomFields->LimitToQueue($id);
-}                                            
-else {                                       
-        $CustomFields->LimitToGlobal();
-}                                           
-
-if ($FindDisabledCustomFields) {
-    $caption = loc("All Custom Fields");
-    $CustomFields->{'find_disabled_rows'} = 1;
-} else {
-    $caption = loc("Enabled Custom Fields");
-}
-
-# {{{ deal with moving sortorder of custom fields
-if ($CustomField and $Move) {
-    my $SourceObj = RT::CustomField->new($session{'CurrentUser'});
-    $SourceObj->Load($CustomField) || Abort(loc('No CustomField'));
-
-    my $TargetObj;
-    my $target_order = $SourceObj->SortOrder + $Move;
-    while (my $CustomFieldObj = $CustomFields->Next) { 
-       my $this_order = $CustomFieldObj->SortOrder;
-
-       # if we have an exact match, finish the loop now
-       ($TargetObj = $CustomFieldObj, last) if $this_order == $target_order;
-
-       # otherwise, we need to apropos toward the general direction
-       # ... first, check the sign is correct
-       next unless ($this_order - $SourceObj->SortOrder) * $Move > 0;
-
-       # ... next, see if we already have a candidate
-       if ($TargetObj) {
-           # ... if yes, compare the delta and choose the smaller one
-           my $orig_delta = abs($TargetObj->SortOrder - $target_order);
-           my $this_delta = abs($this_order - $target_order);
-           next if $orig_delta < $this_delta;
-       }
-
-       $TargetObj = $CustomFieldObj;
-    }
-
-    if ($TargetObj) {
-       # swap their sort order
-       my ($s, $t) = ($SourceObj->SortOrder, $TargetObj->SortOrder);
-       $TargetObj->SetSortOrder($s);
-       $SourceObj->SetSortOrder($t);
-       # because order changed, we must redo search for subsequent uses
-       $CustomFields->RedoSearch;
-    }
-
-    $CustomFields->GotoFirstItem;
-}
-# }}}
-
-# {{{ now process the 'copy queue' action
-my @actions;
-if ($Source and $Source ne $id) {
-    my $SourceQueue = RT::Queue->new($session{'CurrentUser'});
-    $SourceQueue->Load($Source) || Abort(loc("Couldn't load queue"));
-    my $SourceCustomFields = RT::CustomFields->new($session{'CurrentUser'});
-    $SourceCustomFields->LimitToQueue($SourceQueue->id);
-
-    # delete old fields
-    foreach my $CustomFieldObj ( @{$CustomFields->ItemsArrayRef} ) { 
-       $CustomFieldObj->Delete;
-    }
-
-    # add new fields
-    while (my $SourceCustomFieldObj = $SourceCustomFields->Next) {
-       my $CustomFieldObj = RT::CustomField->new($session{'CurrentUser'});
-       my ($val, $msg) =  $CustomFieldObj->Create(
-           id => $SourceCustomFieldObj->id,
-           Queue => $id,
-           Name => $SourceCustomFieldObj->Name,
-           Type => $SourceCustomFieldObj->Type,
-           Description => $SourceCustomFieldObj->Description,
-       );
-       Abort(loc("Could not create CustomField") . ": $msg") unless ($val);
-       push @actions, $msg;
-
-       $CustomFieldObj->SetSortOrder($SourceCustomFieldObj->SortOrder);
-
-       # add new values
-       my $values = $SourceCustomFieldObj->Values();
-       while (my $v = $values->Next) {
-           my ( $addval, $addmsg ) = $CustomFieldObj->AddValue(
-               Name => $v->Name,
-               Description => $v->Description,
-               SortOrder => $v->SortOrder
-           );
-       }
-    }
-
-    # because content changed, we must redo search for subsequent uses
-    $CustomFields->RedoSearch;
-    $CustomFields->GotoFirstItem;
-}
-# }}}
-
-# {{{ deal with deleting existing custom fields
-foreach my $key (keys %ARGS) {
-  # {{{ if we're trying to delete the custom field
-  if ($key =~ /^DeleteCustomField-(\d+)/) {
-    my $id = $1;
-    my $CustomFieldObj = RT::CustomField->new($session{'CurrentUser'});
-    $CustomFieldObj->Load($id);
-    my ($retval, $msg) = $CustomFieldObj->Delete;
-    if ($retval) {
-      push @actions, loc("Custom field deleted");
-    }
-    else {
-      push @actions, $msg;
-    }
-  }
-  # }}}
-}
-# }}}
-
-</%INIT>
-<%ARGS>
-$id => 0
-$title => undef
-$Move => undef
-$Source => undef
-$CustomField => undef
-$FindDisabledCustomFields => undef
-</%ARGS>