This is because of this part of the code, line 635:

<?php
  foreach (uc_order_status_list('general') as $status) {
    $options[$status['id']] = $status['title'];
  }
  foreach (uc_order_status_list('specific') as $status) {
    $options[$status['id']] = $status['title'];
  }
?>

A quick way to fix it is to add the following after it:

<?php
  $sorted_options = array();
  foreach (uc_order_status_list() as $status) {
    if (isset($options[$status['id']])) {
      $sorted_options[$status['id']] = $status['title'];
    }
  }
  $options = $sorted_options;
?>
CommentFileSizeAuthor
#2 uc_order.order_pane.inc_.patch799 bytesanrikun

Comments

anrikun’s picture

Status: Active » Needs review
anrikun’s picture

Assigned: Unassigned » anrikun
StatusFileSize
new799 bytes

Here's the patch.

tr’s picture

Status: Needs review » Needs work

Let's see if we can get this tested.

tr’s picture

Status: Needs work » Needs review

Status: Needs review » Needs work

The last submitted patch, uc_order.order_pane.inc_.patch, failed testing.

longwave’s picture

Status: Needs work » Fixed

Fixed in both branches. This may have originally been "by design" but it makes more sense to display the statuses in the same order everywhere.

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.