VBO not updating order status without notifying via email

Created on 27 July 2015, almost 9 years ago
Updated 13 October 2021, over 2 years ago

OS: Debian 8
Database: MySQL 5.5.44-0+deb8u1
Web Server: Apache/2.4.10
PHP: 5.6.9-0+deb8u1
Drupal: 7.38
Ubercart: 7.x-3.8

The problem
I've noticed, that order status stays the same when using Views Bulk Operations (VBO) without notifying via email (checkbox). I think, that it was working before (I dont know what changed). I've even debugged the function and the uc_order_update_status(xxx) is working correctly, but there is probably another update of the database records.

What are the steps required to reproduce the bug?

  1. Edit the admin/store/orders/view view and add Views Bulk Operation "update order status" (or create another view)
  2. Select multiple orders and update their status WITHOUT notifying via email (checkbox)

What behavior were you expecting?
The order status should be updated to the chosen one.

What happened instead?
The order status stays the same.

πŸ› Bug report
Status

Needs review

Version

3.0

Component

Orders

Created by

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

Not all content is available!

It's likely this issue predates Contrib.social: some issue and comment data are missing.

  • πŸ‡­πŸ‡°Hong Kong Graham Leach

    I implemented the code in the patch, but maybe I'm missing something.

    Using VBO on my Ubercart (D7U3) implementation, I am able to check an arbitrary number of orders and select the bulk operation (set order status) but then I get a confirmation screen that says:

    You selected the following 2 items
    -
    -
    (CONFIRM)

    The item details are BLANK, but the operation is successful.

    This happens *regardless* of whether email confirmation is checked or not.

    The line that generates this confirmation is in:

    views_bulk_operations.module

    At:

    line 677

    As:

    $output = theme('item_list', array('items' => $items, 'title' => t('You selected the following %count:', array('%count' => $count))));

    The parent function is:

    function theme_views_bulk_operations_confirmation($variables) {

    Apparently, $variables does not contain the information the screen output command needs to identify the rows being affected.

    Here's the .info file for the version of VBO I am running:

    # cat views_bulk_operations.info
    name = Views Bulk Operations
    description = Provides a way of selecting multiple rows and applying operations to them.
    dependencies[] = entity
    dependencies[] = views (>=3.12)
    package = Views
    core = 7.x
    php = 5.2.9

    files[] = plugins/operation_types/base.class.php
    files[] = views/views_bulk_operations_handler_field_operations.inc

    ; Information added by Drupal.org packaging script on 2022-10-19
    version = "7.x-3.7"
    core = "7.x"
    project = "views_bulk_operations"
    datestamp = "1666149180"

Production build 0.69.0 2024