Forums / Developer / Workflow removeSubtrees & addLocation

Workflow removeSubtrees & addLocation

Author Message

Dirk Bensel

Friday 21 August 2009 9:03:13 am

Hi everbody!

I have extended my user class with an optionfield User_group.
If an Editor wants to create a user, he just have to select the group in the frontend-form.

I use the createmultiplelocationrule event - Before publish.
The user is published in the default user_group 12 and in the selected location.
Works fine!

But now i run into trouble.
If an editor wants to change the selected group of an user, the old location has to be removed and the new location has to be assigned.

...
$db = eZDB::instance();
$db->begin();	

$nodes = $object->attribute('assigned_nodes');
$mainNodeId = $object->attribute('main_node_id');

 //remove all nodes that are not main 
foreach ($nodes as $node)
{
  $nodeid = $node->attribute('node_id');
  if ( $nodeid != $mainNodeId )
  {
  $deleteIDArray[] = $nodeid;
  }
}
$removeSubtrees = eZContentObjectTreeNode::removeSubtrees( $deleteIDArray, false );

//it works
...
$object->addLocation( $destID, false );
//it works, but only on first creation not on changing
$db->commit();
...

After publishing the user-object, the new locations are not assigned.
After editing the user again, doing no changes, the user location are assigned correct.

Any hint?

---
ROCK ON
Dirk

André R.

Saturday 22 August 2009 4:00:09 am

Have a look in: http://pubsvn.ez.no/nextgen/stable/4.1/kernel/content/ezcontentoperationcollection.php

Especially ::removeAssignment(), you can probably use that as is. (there is a ::addAssignment also).

eZ Online Editor 5: http://projects.ez.no/ezoe || eZJSCore (Ajax): http://projects.ez.no/ezjscore || eZ Publish EE http://ez.no/eZPublish/eZ-Publish-Enterprise-Subscription
@: http://twitter.com/andrerom

Dirk Bensel

Tuesday 25 August 2009 8:13:04 am

Got it!
(using ezp 4.0.6)

I changed the TriggerType in the addLoactionEventWorkflow to AfterPublish and build a removeLocationEventWorkflow with TriggerType BeforePublish.

---
ROCK ON
Dirk

eZ debug

Timing: Jan 18 2025 10:26:04
Script start
Timing: Jan 18 2025 10:26:04
Module start 'content'
Timing: Jan 18 2025 10:26:04
Module end 'content'
Timing: Jan 18 2025 10:26:05
Script end

Main resources:

Total runtime0.7868 sec
Peak memory usage4,096.0000 KB
Database Queries194

Timing points:

CheckpointStart (sec)Duration (sec)Memory at start (KB)Memory used (KB)
Script start 0.00000.0095 588.8672180.8281
Module start 'content' 0.00950.6342 769.6953558.9453
Module end 'content' 0.64370.1430 1,328.6406336.7734
Script end 0.7868  1,665.4141 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.00460.5828210.0002
Check MTime0.00170.2101210.0001
Mysql Total
Database connection0.00100.124010.0010
Mysqli_queries0.706889.82541940.0036
Looping result0.00200.25961920.0000
Template Total0.753295.720.3766
Template load0.00230.287320.0011
Template processing0.750995.436720.3755
Template load and register function0.00010.012710.0001
states
state_id_array0.00160.201610.0016
state_identifier_array0.00130.169120.0007
Override
Cache load0.00190.2379250.0001
Sytem overhead
Fetch class attribute can translate value0.00120.147330.0004
Fetch class attribute name0.00090.116650.0002
XML
Image XML parsing0.00230.290730.0008
class_abstraction
Instantiating content class attribute0.00000.001760.0000
General
dbfile0.00430.5483350.0001
String conversion0.00000.001030.0000
Note: percentages do not add up to 100% because some accumulators overlap

CSS/JS files loaded with "ezjscPacker" during request:

CacheTypePacklevelSourceFiles
CSS0extension/community/design/community/stylesheets/ext/jquery.autocomplete.css
extension/community_design/design/suncana/stylesheets/scrollbars.css
extension/community_design/design/suncana/stylesheets/tabs.css
extension/community_design/design/suncana/stylesheets/roadmap.css
extension/community_design/design/suncana/stylesheets/content.css
extension/community_design/design/suncana/stylesheets/star-rating.css
extension/community_design/design/suncana/stylesheets/syntax_and_custom_tags.css
extension/community_design/design/suncana/stylesheets/buttons.css
extension/community_design/design/suncana/stylesheets/tweetbox.css
extension/community_design/design/suncana/stylesheets/jquery.fancybox-1.3.4.css
extension/bcsmoothgallery/design/standard/stylesheets/magnific-popup.css
extension/sevenx/design/simple/stylesheets/star_rating.css
extension/sevenx/design/simple/stylesheets/libs/fontawesome/css/all.min.css
extension/sevenx/design/simple/stylesheets/main.v02.css
extension/sevenx/design/simple/stylesheets/main.v02.res.css
JS0extension/ezjscore/design/standard/lib/yui/3.17.2/build/yui/yui-min.js
extension/ezjscore/design/standard/javascript/jquery-3.7.0.min.js
extension/community_design/design/suncana/javascript/jquery.ui.core.min.js
extension/community_design/design/suncana/javascript/jquery.ui.widget.min.js
extension/community_design/design/suncana/javascript/jquery.easing.1.3.js
extension/community_design/design/suncana/javascript/jquery.ui.tabs.js
extension/community_design/design/suncana/javascript/jquery.hoverIntent.min.js
extension/community_design/design/suncana/javascript/jquery.popmenu.js
extension/community_design/design/suncana/javascript/jScrollPane.js
extension/community_design/design/suncana/javascript/jquery.mousewheel.js
extension/community_design/design/suncana/javascript/jquery.cycle.all.js
extension/sevenx/design/simple/javascript/jquery.scrollTo.js
extension/community_design/design/suncana/javascript/jquery.cookie.js
extension/community_design/design/suncana/javascript/ezstarrating_jquery.js
extension/community_design/design/suncana/javascript/jquery.initboxes.js
extension/community_design/design/suncana/javascript/app.js
extension/community_design/design/suncana/javascript/twitterwidget.js
extension/community_design/design/suncana/javascript/community.js
extension/community_design/design/suncana/javascript/roadmap.js
extension/community_design/design/suncana/javascript/ez.js
extension/community_design/design/suncana/javascript/ezshareevents.js
extension/sevenx/design/simple/javascript/main.js

Templates used to render the page:

UsageRequested templateTemplateTemplate loadedEditOverride
1node/view/full.tplfull/forum_topic.tplextension/sevenx/design/simple/override/templates/full/forum_topic.tplEdit templateOverride template
3content/datatype/view/ezimage.tpl<No override>extension/sevenx/design/simple/templates/content/datatype/view/ezimage.tplEdit templateOverride template
3content/datatype/view/ezxmltext.tpl<No override>extension/community_design/design/suncana/templates/content/datatype/view/ezxmltext.tplEdit templateOverride template
7content/datatype/view/ezxmltags/paragraph.tpl<No override>extension/ezwebin/design/ezwebin/templates/content/datatype/view/ezxmltags/paragraph.tplEdit templateOverride template
5content/datatype/view/ezxmltags/line.tpl<No override>design/standard/templates/content/datatype/view/ezxmltags/line.tplEdit templateOverride template
1content/datatype/view/ezxmltags/literal.tpl<No override>extension/community/design/standard/templates/content/datatype/view/ezxmltags/literal.tplEdit templateOverride template
1pagelayout.tpl<No override>extension/sevenx/design/simple/templates/pagelayout.tplEdit templateOverride template
 Number of times templates used: 21
 Number of unique templates used: 7

Time used to render debug report: 0.0002 secs