Skip to content

Commit

Permalink
NetCommons.OriginalKeyビヘイビアを使うように変更
Browse files Browse the repository at this point in the history
  • Loading branch information
RyujiAMANO committed May 25, 2015
1 parent 575478d commit 2a50b8a
Show file tree
Hide file tree
Showing 3 changed files with 147 additions and 17 deletions.
26 changes: 9 additions & 17 deletions Model/Tag.php
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,15 @@ class Tag extends TagsAppModel {
*/
public $recursive = -1;

/**
* use behaviors
*
* @var array
*/
public $actsAs = array(
'NetCommons.OriginalKey',
);

/**
* Validation rules
*
Expand Down Expand Up @@ -177,23 +186,6 @@ public function saveTags($blockId, $modelName, $contentId, $tags) {
return true;
}

/**
* origin_idがセットされてなかったらorigin_id=idとしてアップデート
*
* @param bool $created created
* @param array $options options
* @return void
*/
public function afterSave($created, $options = array()) {
if ($created) {
if (empty($this->data[$this->name]['origin_id'])) {
// origin_id がセットされてなかったらkey=idでupdate
$this->originId = $this->data[$this->name]['id'];
$this->saveField('origin_id', $this->data[$this->name]['id'], array('callbacks' => false)); // ここで$this->dataがリセットされる
}
}
}

/**
* 使われてないタグの自動削除
*
Expand Down
52 changes: 52 additions & 0 deletions Test/Case/Controller/TagsControllerTest.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
<?php
/**
* TagsController Test Case
*
* @author Ryuji AMANO <ryuji@ryus.co.jp>
* @link http://www.netcommons.org NetCommons Project
* @license http://www.netcommons.org/license.txt NetCommons License
*/

App::uses('TagsController', 'Tags.Controller');

/**
* Summary for TagsController Test Case
*/
class TagsControllerTest extends ControllerTestCase {

/**
* Fixtures
*
* @var array
*/
public $fixtures = array(
'plugin.tags.tag',
//'plugin.tags.block',
//'plugin.tags.user',
//'plugin.tags.role',
//'plugin.tags.group',
//'plugin.tags.room',
//'plugin.tags.space',
//'plugin.tags.box',
//'plugin.tags.page',
//'plugin.tags.language',
//'plugin.tags.groups_language',
//'plugin.tags.groups_user',
//'plugin.tags.user_attribute',
//'plugin.tags.user_attributes_user',
//'plugin.tags.user_select_attribute',
//'plugin.tags.user_select_attributes_user',
//'plugin.tags.site_setting',
//'plugin.tags.frame',
//'plugin.tags.plugin'
);

/**
* testSearch method
*
* @return void
*/
public function testSearch() {
}

}
86 changes: 86 additions & 0 deletions Test/Case/Model/TagTest.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
<?php
/**
* Tag Test Case
*
* @author Ryuji AMANO <ryuji@ryus.co.jp>
* @link http://www.netcommons.org NetCommons Project
* @license http://www.netcommons.org/license.txt NetCommons License
*/

App::uses('Tag', 'Tags.Model');

/**
* Summary for Tag Test Case
*/
class TagTest extends CakeTestCase {

/**
* Fixtures
*
* @var array
*/
public $fixtures = array(
'plugin.tags.tag',
//'plugin.tags.block',
//'plugin.tags.user',
//'plugin.tags.role',
//'plugin.tags.group',
//'plugin.tags.room',
//'plugin.tags.space',
//'plugin.tags.box',
//'plugin.tags.page',
//'plugin.tags.language',
//'plugin.tags.groups_language',
//'plugin.tags.groups_user',
//'plugin.tags.user_attribute',
//'plugin.tags.user_attributes_user',
//'plugin.tags.user_select_attribute',
//'plugin.tags.user_select_attributes_user'
);

/**
* setUp method
*
* @return void
*/
public function setUp() {
parent::setUp();
$this->Tag = ClassRegistry::init('Tags.Tag');
}

/**
* tearDown method
*
* @return void
*/
public function tearDown() {
unset($this->Tag);

parent::tearDown();
}

/**
* testGetTagsByContentId method
*
* @return void
*/
public function testGetTagsByContentId() {
}

/**
* testSaveTags method
*
* @return void
*/
public function testSaveTags() {
}

/**
* testCleanup method
*
* @return void
*/
public function testCleanup() {
}

}

0 comments on commit 2a50b8a

Please sign in to comment.