コード例 #1
0
 /**
  * setUp method
  *
  * @return void
  */
 public function setUp()
 {
     parent::setUp();
     UserAttribute::$userAttributes = null;
 }
コード例 #2
0
 /**
  * 会員項目のレイアウト用のデータ取得
  *
  * @param bool $force 強制的に取得するフラグ
  * @return array 会員項目データ配列
  * @SuppressWarnings(PHPMD.BooleanArgumentFlag)
  */
 public function getUserAttributesForLayout($force = false)
 {
     $this->loadModels(['DataType' => 'DataTypes.DataType', 'UserRole' => 'UserRoles.UserRole', 'UserAttributesRole' => 'UserRoles.UserAttributesRole']);
     if (isset(self::$userAttributes) && !$force) {
         return self::$userAttributes;
     }
     //UserAttributeデータ取得
     $userAttributes = $this->find('all', $this->findOptionsForLayout());
     //UserAttributeChoiceデータ取得
     $userAttributeIds = Hash::extract($userAttributes, '{n}.UserAttribute.id');
     $userAttributeChoices = $this->__getUserAttributeChoice($userAttributeIds);
     //DataTypeデータ取得
     $dataTypes = $this->DataType->getDataTypes($this->UserAttributeSetting->editDataTypes);
     //UserRoleデータの取得
     $userRoles = $this->__getUserRole();
     //戻り値の設定
     $results = array();
     foreach ($userAttributes as $userAttribute) {
         $userAttributeId = $userAttribute['UserAttribute']['id'];
         $dataTypeKey = $userAttribute['UserAttributeSetting']['data_type_key'];
         $result = $userAttribute;
         if ($userAttribute['UserAttribute']['key'] === 'role_key') {
             //権限の設定
             $result['UserAttributeChoice'] = $userRoles;
             $result['UserAttributeChoice'] = Hash::insert($result['UserAttributeChoice'], '{n}.user_attribute_id', $userAttributeId);
         } elseif (isset($dataTypes[$dataTypeKey]['DataTypeChoice'])) {
             //DataTypeChoiceにデータがある場合
             $result['UserAttributeSetting']['data_type_key'] = DataType::DATA_TYPE_SELECT;
             $result['UserAttributeChoice'] = $dataTypes[$dataTypeKey]['DataTypeChoice'];
             $result['UserAttributeChoice'] = Hash::insert($result['UserAttributeChoice'], '{n}.user_attribute_id', $userAttributeId);
         } elseif (isset($userAttributeChoices[$userAttributeId])) {
             //UserAttributeChoiceにデータがある場合
             $result['UserAttributeChoice'] = $userAttributeChoices[$userAttributeId];
         }
         $row = $userAttribute['UserAttributeSetting']['row'];
         $col = $userAttribute['UserAttributeSetting']['col'];
         $weight = $userAttribute['UserAttributeSetting']['weight'];
         $results[$row][$col][$weight] = $result;
     }
     self::$userAttributes = $results;
     return $results;
 }