2 class Profile extends AppModel {
6 var $profile_type = array(
18 'add' => array('system_id', 'name', 'key_name', 'profile_type', 'required', 'editable', 'public_flag_default', 'sort_order'),
19 'edit' => array('name', 'key_name', 'profile_type', 'required', 'editable', 'public_flag_default', 'sort_order'),
28 var $validate = array(
30 'maxLengthJP' => array(
31 'rule' => array('maxLengthJP', 255),
41 'maxLengthJP' => array(
42 'rule' => array('maxLengthJP', 64),
48 'profile_type' => array(
49 'profileType' => array(
50 'rule' => 'profileType',
63 'public_flag_default' => array(
64 'publicFlag' => array(
65 'rule' => 'publicFlagDefault',
68 'sort_order' => array(
70 'rule' => array('numeric'),
76 //The Associations below have been created with all possible keys, those that are not needed can be removed
77 var $belongsTo = array(
79 'className' => 'System',
80 'foreignKey' => 'system_id',
82 'fields' => array('id', 'name'),
87 'ProfileSelect' => array(
88 'className' => 'ProfileSelect',
89 'foreignKey' => 'profile_id',
93 'order' => array('ProfileSelect.sort_order' => 'asc'),
100 'ProfileTable' => array(
101 'className' => 'ProfileTable',
102 'foreignKey' => 'profile_id',
106 'order' => array('ProfileTable.sort_order' => 'asc'),
113 'CharactersHasProfile' => array(
114 'className' => 'CharactersHasProfile',
115 'foreignKey' => 'profile_id',
116 'associationForeignKey' => 'id',
120 'CharactersHasProfile.profile_table_id',
121 'CharactersHasProfile.value',
122 'CharactersHasProfile.public_flag',
123 'CharactersHasProfile.link_value',
125 'order' => array('CharactersHasProfile.id' => 'asc'),
134 /* validation Rule */
136 /* 同システム中に同じkey_nameは不可 */
137 function isUniqueKeyname4system($data, $system_id, $id = null)
140 'conditions' => array(
141 'Profile.system_id' => $system_id,
142 'Profile.key_name' => $data['key_name'],
148 $params['conditions']['Profile.id !='] = $id;
151 return !($this->find('count', $params));
155 function profileType($data)
157 if (isset($data['profile_type']) && in_array($data['profile_type'], $this->profile_type)) {
164 function publicFlagDefault($data)
166 if (isset($data["public_flag_default"]) && in_array($data["public_flag_default"], $this->public_flag)) {
175 function beforeSave($options = array())
177 if (empty($this->data['Profile']['sort_order'])) {
178 $this->data['Profile']['sort_order'] = 0;
181 return parent::beforeSave($options);