Uploaded image for project: 'eZ Publish / Platform'
  1. eZ Publish / Platform
  2. EZP-15169

Adding a new order status breaks orderlist

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Medium
    • Resolution: Invalid
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: Legacy > Webshop
    • Labels:
      None
    • Environment:

      Operating System: Centos 5
      PHP Version: PHP 5.2.9 (cli)
      Database and version: mysql Ver 14.12 Distrib 5.0.45
      Browser (and version): Firefox 3.0.11

      Description

      If you make a new order status it adds an entry to the db similar to:

      +----+-----------+----------+-----------+
      | id | is_active | name     | status_id |
      +----+-----------+----------+-----------+
      |  7 |         1 | REJECTED |      1003 | 
      +----+-----------+----------+-----------+
      

      On line 1300 of kernel/classes/ezorder.php you get eZOrder::statusName using the $this->StatusID which in the above case is 7 rather than 1003. Because of this, the eZOrderStatus::fetchByStatus fails as it cannot find a DB entry with a status_id of 7. It works if you change the call to eZOrderStatus::fetch. Or eZOrder could be changed to stored the status_id number rather than id.

      Steps to reproduce

      Log into the admin interface and go to Webshop. Click Order status in the left menu. Add a new order status.

      Create an order that uses this status.

      Try to view the order list. You should get:
      Fatal error: Call to a member function attribute() on a non-object in /var/www/html/designtest/kernel/classes/ezorder.php on line 1302

        Attachments

          Activity

            People

            Assignee:
            unknown unknown
            Reporter:
            jonEMC Jon Staines
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: