scalar => [ qw(payment_term languages) ],
 );
 
-__PACKAGE__->run_before('load_payment_term', only => [ qw(         edit        update destroy move_up move_down) ]);
+__PACKAGE__->run_before('check_auth');
+__PACKAGE__->run_before('load_payment_term', only => [ qw(         edit        update destroy) ]);
 __PACKAGE__->run_before('load_languages',    only => [ qw(new list edit create update) ]);
 
 #
   $self->redirect_to(action => 'list');
 }
 
-sub action_move_up {
+sub action_reorder {
   my ($self) = @_;
-  $self->{payment_term}->move_position_up;
-  $self->redirect_to(action => 'list');
+
+  SL::DB::PaymentTerm->reorder_list(@{ $::form->{payment_term_id} || [] });
+
+  $self->render(\'', { type => 'json' });
 }
 
-sub action_move_down {
-  my ($self) = @_;
-  $self->{payment_term}->move_position_down;
-  $self->redirect_to(action => 'list');
+#
+# filters
+#
+
+sub check_auth {
+  $::auth->assert('config');
 }
 
 #