X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=app%2Fmodels%2Fprofile.php;h=f389e7aeac6bf969bdc4a90274950d03e2647fe2;hb=be74112322d95feab2a496ecd4ed272f41b0b701;hp=db13515be2f035a1f23376a05577ae802a443846;hpb=c0a73a6d512df709224be887376a38edb2e791f5;p=trpgtools-onweb%2Fcake-frame.git diff --git a/app/models/profile.php b/app/models/profile.php index db13515..f389e7a 100644 --- a/app/models/profile.php +++ b/app/models/profile.php @@ -1,4 +1,16 @@ + * @license http://www.opensource.org/licenses/mit-license.php The MIT License + * @link http://trpgtools-onweb.sourceforge.jp/ + */ + class Profile extends AppModel { var $name = 'Profile'; @@ -15,12 +27,13 @@ class Profile extends AppModel { ); var $fields = array( - 'add' => array('system_id', 'name', 'key_name', 'profile_type', 'required', 'allow_link', 'public_flag_default', 'sort_order'), - 'edit' => array('name', 'key_name', 'profile_type', 'required', 'allow_link', 'public_flag_default', 'sort_order'), - 'edit_all' => array('sort_order'), + 'add' => array('system_id', 'name', 'key_name', 'profile_type', 'required', 'show_list', 'search', 'sort_order'), + 'edit' => array('name', 'key_name', 'profile_type', 'required', 'show_list', 'search', 'sort_order'), + 'edit_all' => array('required', 'show_list', 'search','sort_order'), 'escape' => array( 'name' => array( 'html' => true, + 'tags' => true, 'all' => true, ), ), @@ -36,6 +49,9 @@ class Profile extends AppModel { ), ), 'key_name' => array( + 'keyNameNg' => array( + 'rule' => 'keyNameNg', + ), 'keyName' => array( 'rule' => 'keyName', ), @@ -49,21 +65,25 @@ class Profile extends AppModel { 'profile_type' => array( 'profileType' => array( 'rule' => 'profileType', + 'allowEmpty' => true, ), ), 'required' => array( 'boolean' => array( 'rule' => 'boolean', + 'allowEmpty' => true, ), ), - 'allow_link' => array( + 'show_list' => array( 'boolean' => array( 'rule' => 'boolean', + 'allowEmpty' => true, ), ), - 'public_flag_default' => array( - 'publicFlag' => array( - 'rule' => 'publicFlagDefault', + 'search' => array( + 'boolean' => array( + 'rule' => 'boolean', + 'allowEmpty' => true, ), ), 'sort_order' => array( @@ -91,7 +111,7 @@ class Profile extends AppModel { 'dependent' => true, 'conditions' => '', 'fields' => '', - 'order' => array('ProfileSelect.sort_order' => 'asc'), +// 'order' => array('ProfileSelect.sort_order' => 'asc'), // Using filesortの原因 'limit' => '', 'offset' => '', 'exclusive' => '', @@ -104,7 +124,7 @@ class Profile extends AppModel { 'dependent' => true, 'conditions' => '', 'fields' => '', - 'order' => array('ProfileTable.sort_order' => 'asc'), +// 'order' => array('ProfileTable.sort_order' => 'asc'), 'limit' => '', 'offset' => '', 'exclusive' => '', @@ -118,8 +138,10 @@ class Profile extends AppModel { 'dependent' => true, 'conditions' => '', 'fields' => array( + 'CharactersHasProfile.id', 'CharactersHasProfile.character_id', 'CharactersHasProfile.profile_table_id', + 'CharactersHasProfile.profile_table_static_id', 'CharactersHasProfile.value', 'CharactersHasProfile.public_flag', 'CharactersHasProfile.link_value', @@ -130,6 +152,19 @@ class Profile extends AppModel { 'finderQuery' => '', 'deleteQuery' => '', 'insertQuery' => '' + ), + 'DefaultProfile' => array( + 'className' => 'DefaultProfile', + 'foreignKey' => 'profile_id', + 'dependent' => true, + 'conditions' => '', + 'fields' => '', + 'order' => '', // Using filesortの原因 + 'limit' => '', + 'offset' => '', + 'exclusive' => '', + 'finderQuery' => '', + 'counterQuery' => '' ) ); @@ -163,16 +198,6 @@ class Profile extends AppModel { } } - function publicFlagDefault($data) - { - if (isset($data["public_flag_default"]) && in_array($data["public_flag_default"], $this->public_flag)) { - return true; - } else { - return false; - } - } - - /* コールバックメソッド */ function beforeSave($options = array()) { @@ -182,4 +207,30 @@ class Profile extends AppModel { return parent::beforeSave($options); } + + function afterSave($created) { + $this->deleteCache4Profile(); + + return parent::afterSave($created); + } + function afterDelete() { + $this->deleteCache4Profile(); + + return parent::afterDelete(); + } + + /* キャッシュ削除 */ + function deleteCache4Profile() + { + if (!isset($this->Character)) { + $this->Character = CorePlus::set_model('Character'); + } + $this->Character->cacheDelete(); + + if (!isset($this->System)) { + $this->System = CorePlus::set_model('System'); + } + $this->System->cacheDelete(); + } + }