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

Workflow cronjob gives fatal error if node is moved to different location before approval.

    XMLWordPrintable

Details

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: High High
    • 4.0.2, 4.1.0alpha1
    • 4.0.1
    • Cronjobs
    • None

    Description

      Reproducable in eZ Publish 4.0.1

      Basically After editing the object while new version is waiting for approval before that if you move the object to other location and after that if you try to approve the object then "cronjobs/workflow.php" cronjob gives following fatal error.

         Running cronjobs/workflow.php
         Checking for workflow processes
      
         Fatal error: Call to a member function attribute() on a non-object in /data/orig/securitycenter/sc401/kernel/content/ezcontentoperationcollection.php on line 306
      
         Fatal error: eZ Publish did not finish its request
         The execution of eZ Publish was abruptly ended, the debug output is present below.
      
      

      When "cronjobs/workflow.php" cronjob is executed again then that approved item reappears again in colloboration list for approval and never gets approved.

      Steps to reproduce
      Basic Steps:
      1. Install fresh eZ Publish 4.0.1
      2. Create a new user(test) under Editor  
      3. Give proper access to Editor user group so users of this group can login to site admin interface.
      4. Go to Setup -> Workflows -> Standard
      5. Create new work flow let say "Test workflow"
          Add new Approve Event with following specification.
               Affected sections: All sections
               Affected languages: All language 
               Affected versions: All versions
              Users who approve content :: (Select the <test>user from Editor user group)
         Click on "OK" button
      
      6. Go to Setup -> Triggers (Select "Test workflow") for 
          content 	publish 	before
      7. Click on Apply Changes.
      
      
      
      
      Reproducable steps.
      a) Login to admin interface with admin user.
      b) Create a object of any class let's say folder class and let's name it "AABBCC".
      c) Login to admin interface with "test" user.
      d) Go to "My account" -> "Collaboration"
      e) Approve the object from item list.
      f) run the cronjob from command line "php ./runcronjobs.php frequent".
      g) Again login to admin interface with "admin" user and go to "Content Structure" -> "AABBCC"
      h) Create another object below this node let's name it  "EEFFGG".
      i) Again follow above  steps from (c) to (g)
      j) Edit node "EEFFGG" and republish the object.
      k) Now move "EEFFGG" node to root node(2)
      l) Approve node "EEFFGG" 
      m) now again run the cronjob from command line "php ./runcronjobs.php frequent".
         and you will get following error
         Running cronjobs/workflow.php
         Checking for workflow processes
      
         Fatal error: Call to a member function attribute() on a non-object in /data/orig/securitycenter/sc401/kernel/content/ezcontentoperationcollection.php on line 306
      
         Fatal error: eZ Publish did not finish its request
         The execution of eZ Publish was abruptly ended, the debug output is present below.
      J) Check Colloboration list for "test" user it is empty.
      k) Now if again we execute "php ./runcronjobs.php frequent".
          Check the Colloboration list for "test" user and that item again re appears for approval.
      l) This Collaboration items never gets approved every second time we run "php ./runcronjobs.php frequent". that colloboration re appears.
      
      

      OH: Added missing step l/m.

      Attachments

        Activity

          People

            oh oh
            gv gv
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: