Permalink
Browse files

Fix issue with duplicate associations when using string form.

Fixes #2002
  • Loading branch information...
1 parent 6a4e755 commit 8d437648012e8d17fcea826b43c67a237bc06a4b @markstory markstory committed Sep 18, 2011
View
@@ -903,11 +903,12 @@ protected function _createLinks() {
unset ($this->{$type}[$assoc]);
$assoc = $value;
$value = array();
- $this->{$type}[$assoc] = $value;
if (strpos($assoc, '.') !== false) {
list($plugin, $assoc) = pluginSplit($assoc);
$this->{$type}[$assoc] = array('className' => $plugin. '.' . $assoc);
+ } else {
+ $this->{$type}[$assoc] = $value;
}
}
$this->_generateAssociation($type, $assoc);
@@ -1290,6 +1290,20 @@ public function testAutoConstructAssociations() {
}
/**
+ * test creating associations with plugins. Ensure a double alias isn't created
+ *
+ * @return void
+ */
+ public function testAutoConstructPluginAssociations() {
+ $Comment = ClassRegistry::init('TestPluginComment');
+
+ $this->assertEquals(2, count($Comment->belongsTo), 'Too many associations');
+ $this->assertFalse(isset($Comment->belongsTo['TestPlugin.User']));
+ $this->assertTrue(isset($Comment->belongsTo['User']), 'Missing association');
+ $this->assertTrue(isset($Comment->belongsTo['TestPluginArticle']), 'Missing association');
+ }
+
+/**
* test Model::__construct
*
* ensure that $actsAS and $findMethods are merged.
@@ -2709,7 +2709,7 @@ class TestPluginComment extends CakeTestModel {
'className' => 'TestPlugin.TestPluginArticle',
'foreignKey' => 'article_id',
),
- 'User'
+ 'TestPlugin.User'
);
}

0 comments on commit 8d43764

Please sign in to comment.