Browse files

cascade false for recover

  • Loading branch information...
1 parent 22f65f7 commit 354069d22995ded6564f9c7ff94c4bf8dd978e97 @dereuromark committed Nov 13, 2012
View
4 lib/Cake/Model/Behavior/TreeBehavior.php
@@ -622,9 +622,9 @@ public function recover(Model $Model, $mode = 'parent', $missingParentAction = n
}
return false;
} elseif ($missingParentAction === 'delete') {
- $Model->deleteAll(array($Model->alias . '.' . $Model->primaryKey => array_flip($missingParents)));
+ $Model->deleteAll(array($Model->escapeField($Model->primaryKey) => array_flip($missingParents)), false);
} else {
- $Model->updateAll(array($parent => $missingParentAction), array($Model->escapeField($Model->primaryKey) => array_flip($missingParents)));
+ $Model->updateAll(array($Model->escapeField($parent) => $missingParentAction), array($Model->escapeField($Model->primaryKey) => array_flip($missingParents)));
}
}
$count = 1;
View
31 lib/Cake/Test/Case/Model/Behavior/TreeBehaviorNumberTest.php
@@ -183,19 +183,19 @@ public function testRecoverUsingParentMode() {
$this->Tree = new $modelClass();
$this->Tree->Behaviors->disable('Tree');
- $this->Tree->save(array('parent_id' => null, 'name' => 'Main', $parentField => null, $leftField => 0, $rightField => 0));
+ $this->Tree->save(array('name' => 'Main', $parentField => null, $leftField => 0, $rightField => 0));
$node1 = $this->Tree->id;
$this->Tree->create();
- $this->Tree->save(array('parent_id' => null, 'name' => 'About Us', $parentField => $node1, $leftField => 0, $rightField => 0));
+ $this->Tree->save(array('name' => 'About Us', $parentField => $node1, $leftField => 0, $rightField => 0));
$node11 = $this->Tree->id;
$this->Tree->create();
- $this->Tree->save(array('parent_id' => null, 'name' => 'Programs', $parentField => $node1, $leftField => 0, $rightField => 0));
+ $this->Tree->save(array('name' => 'Programs', $parentField => $node1, $leftField => 0, $rightField => 0));
$node12 = $this->Tree->id;
$this->Tree->create();
- $this->Tree->save(array('parent_id' => null, 'name' => 'Mission and History', $parentField => $node11, $leftField => 0, $rightField => 0));
+ $this->Tree->save(array('name' => 'Mission and History', $parentField => $node11, $leftField => 0, $rightField => 0));
$this->Tree->create();
- $this->Tree->save(array('parent_id' => null, 'name' => 'Overview', $parentField => $node12, $leftField => 0, $rightField => 0));
+ $this->Tree->save(array('name' => 'Overview', $parentField => $node12, $leftField => 0, $rightField => 0));
$this->Tree->Behaviors->enable('Tree');
@@ -234,24 +234,33 @@ public function testRecoverUsingParentModeAndDelete() {
$this->Tree = new $modelClass();
$this->Tree->Behaviors->disable('Tree');
- $this->Tree->save(array('parent_id' => null, 'name' => 'Main', $parentField => null, $leftField => 0, $rightField => 0));
+ $this->Tree->save(array('name' => 'Main', $parentField => null, $leftField => 0, $rightField => 0));
$node1 = $this->Tree->id;
$this->Tree->create();
- $this->Tree->save(array('parent_id' => null, 'name' => 'About Us', $parentField => $node1, $leftField => 0, $rightField => 0));
+ $this->Tree->save(array('name' => 'About Us', $parentField => $node1, $leftField => 0, $rightField => 0));
$node11 = $this->Tree->id;
$this->Tree->create();
- $this->Tree->save(array('parent_id' => null, 'name' => 'Programs', $parentField => $node1, $leftField => 0, $rightField => 0));
+ $this->Tree->save(array('name' => 'Programs', $parentField => $node1, $leftField => 0, $rightField => 0));
$node12 = $this->Tree->id;
$this->Tree->create();
- $this->Tree->save(array('parent_id' => null, 'name' => 'Mission and History', $parentField => $node11, $leftField => 0, $rightField => 0));
+ $this->Tree->save(array('name' => 'Mission and History', $parentField => $node11, $leftField => 0, $rightField => 0));
$this->Tree->create();
- $this->Tree->save(array('parent_id' => null, 'name' => 'Overview', $parentField => $node12, $leftField => 0, $rightField => 0));
+ $this->Tree->save(array('name' => 'Overview', $parentField => $node12, $leftField => 0, $rightField => 0));
$this->Tree->create();
- $this->Tree->save(array('parent_id' => null, 'name' => 'Lost', $parentField => 9, $leftField => 0, $rightField => 0));
+ $this->Tree->save(array('name' => 'Lost', $parentField => 9, $leftField => 0, $rightField => 0));
$this->Tree->Behaviors->enable('Tree');
+ $this->Tree->bindModel(array('belongsTo' => array('Parent' => array(
+ 'className' => $this->Tree->name,
+ 'foreignKey' => $parentField
+ ))));
+ $this->Tree->bindModel(array('hasMany' => array('Child' => array(
+ 'className' => $this->Tree->name,
+ 'foreignKey' => $parentField
+ ))));
+
$result = $this->Tree->verify();
$this->assertNotSame($result, true);

0 comments on commit 354069d

Please sign in to comment.