X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=rt%2Fhtml%2FAdmin%2FElements%2FEditCustomFields;h=9b1176a400428a396452dd4aedaf714e374ae5ff;hp=1cd3df568d19c0eec6b6e70f42551d7145f99a18;hb=ef20b2b6b1feb47ad02b5ff7525f1a0fd11d0fa4;hpb=a513c0bef534d05f03c1242831b6f3be19b97dae diff --git a/rt/html/Admin/Elements/EditCustomFields b/rt/html/Admin/Elements/EditCustomFields index 1cd3df568..9b1176a40 100644 --- a/rt/html/Admin/Elements/EditCustomFields +++ b/rt/html/Admin/Elements/EditCustomFields @@ -2,7 +2,7 @@ %# %# COPYRIGHT: %# -%# This software is Copyright (c) 1996-2005 Best Practical Solutions, LLC +%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC %# %# %# (Except where explicitly superseded by other copyright notices) @@ -22,7 +22,9 @@ %# %# 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., 675 Mass Ave, Cambridge, MA 02139, USA. +%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +%# 02110-1301 or visit their web page on the internet at +%# http://www.gnu.org/copyleft/gpl.html. %# %# %# CONTRIBUTION SUBMISSION POLICY: @@ -45,11 +47,11 @@ %# END BPS TAGGED BLOCK }}} <& /Elements/ListActions, actions => \@results &> -
- - - - + + + + + % if ($Object->Id) {

<&|/l&>Global Custom Fields

@@ -61,7 +63,7 @@ <& PickCustomFields, CustomFields => \@UnassignedCFs, id => $id, SubType => $SubType &> <& /Elements/Submit, CheckAll => 1, ClearAll => 1 &> -
+ <%INIT> @@ -71,7 +73,7 @@ my (@GlobalCFs, @UnassignedCFs); my $id = $Object->Id; if ($id and !$Object->CurrentUserHasRight('AssignCustomFields')) { - $m->out('

', loc('(No custom fields)'), '

'); + $m->out('

', loc('(No custom fields)'), '

'); return; } @@ -88,6 +90,20 @@ $ObjectCFs->UnLimit; $ObjectCFs->LimitToObjectId($id); $ObjectCFs->LimitToLookupType($lookup); +# Check sanity of SortOrders +my %SortOrders; +$SortOrders{$_->SortOrder}++ + while ($_ = $ObjectCFs->Next); + +# If there are duplicates, run though and squash them +if (grep {$_ > 1} values %SortOrders) { + my $i = 1; + while (my $ObjectCF = $ObjectCFs->Next) { + $ObjectCF->SetSortOrder($i++); + } + $ObjectCFs->GotoFirstItem; +} + # {{{ deal with moving sortorder of custom fields if ($CustomField and $Move) { my $SourceObj = RT::ObjectCustomField->new($session{'CurrentUser'});