Details
-
Bug
-
Resolution: Fixed
-
High
-
4.0.1
-
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.