1 | <?php |
||
2 | |||
3 | /** |
||
4 | * _ __ __ _____ _____ ___ ____ _____ |
||
5 | * | | / // // ___//_ _// || __||_ _| |
||
6 | * | |/ // /(__ ) / / / /| || | | | |
||
7 | * |___//_//____/ /_/ /_/ |_||_| |_| |
||
8 | * @link https://vistart.me/ |
||
9 | * @copyright Copyright (c) 2016 - 2017 vistart |
||
10 | * @license https://vistart.me/license/ |
||
11 | */ |
||
12 | |||
13 | namespace rhosocial\organization; |
||
14 | |||
15 | use rhosocial\base\models\models\BaseBlameableModel; |
||
16 | use rhosocial\base\models\queries\BaseUserQuery; |
||
17 | use rhosocial\user\User; |
||
18 | use Yii; |
||
19 | use yii\base\Event; |
||
20 | use yii\behaviors\BlameableBehavior; |
||
21 | |||
22 | /** |
||
23 | * Class OrganizationSetting |
||
24 | * |
||
25 | * @property string $item |
||
26 | * @property mixed $value |
||
27 | * @property-read User $operator The user who last modified this setting. |
||
28 | * Note: the return value may be null, please note that the case of invalid user. |
||
29 | * |
||
30 | * @package rhosocial\organization |
||
31 | * @version 1.0 |
||
32 | * @author vistart <[email protected]> |
||
33 | */ |
||
34 | class OrganizationSetting extends BaseBlameableModel |
||
35 | { |
||
36 | use OperatorTrait; |
||
37 | /** |
||
38 | * @var string Host class. |
||
39 | * You must assign with your own [[Organization]] class. |
||
40 | */ |
||
41 | public $hostClass = Organization::class; |
||
42 | |||
43 | public $idAttribute = 'item'; |
||
44 | public $idPreassigned = true; |
||
45 | public $createdByAttribute = 'organization_guid'; |
||
46 | public $updatedByAttribute = false; |
||
47 | public $enableIP = false; |
||
48 | |||
49 | /** |
||
50 | * @var string |
||
51 | */ |
||
52 | public $contentAttribute = 'value'; |
||
53 | |||
54 | /** |
||
55 | * @inheritdoc |
||
56 | */ |
||
57 | 31 | public static function tableName() |
|
58 | { |
||
59 | 31 | return '{{%organization_setting}}'; |
|
60 | } |
||
61 | |||
62 | /** |
||
63 | * @inheritdoc |
||
64 | */ |
||
65 | 31 | public function behaviors() |
|
66 | { |
||
67 | 31 | $behaviors = parent::behaviors(); |
|
68 | 31 | $behaviors = array_merge($behaviors, $this->getOperatorBehaviors()); |
|
69 | 31 | return $behaviors; |
|
70 | } |
||
71 | |||
72 | /** |
||
73 | * @inheritdoc |
||
74 | */ |
||
75 | 31 | public function rules() |
|
76 | { |
||
77 | 31 | $rules = array_merge(parent::rules(), [ |
|
78 | 31 | [$this->idAttribute, 'string', 'max' => 255], |
|
79 | ]); |
||
80 | 31 | $rules = array_merge($rules, $this->getOperatorRules()); |
|
81 | 31 | return $rules; |
|
82 | } |
||
83 | |||
84 | /** |
||
85 | * @inheritdoc |
||
86 | */ |
||
87 | 31 | public function getContentRules() |
|
88 | { |
||
89 | return [ |
||
90 | 31 | array_merge([$this->contentAttribute], $this->contentAttributeRule), |
|
91 | ]; |
||
92 | } |
||
93 | |||
94 | /** |
||
95 | * @inheritdoc |
||
96 | */ |
||
97 | public function attributeLabels() |
||
98 | { |
||
99 | return array_merge([ |
||
100 | $this->guidAttribute => Yii::t('user','GUID'), |
||
101 | $this->createdByAttribute => Yii::t('organization', 'Organization GUID'), |
||
102 | $this->idAttribute => 'Item', |
||
103 | $this->contentAttribute => 'Value', |
||
104 | $this->createdAtAttribute => Yii::t('user', 'Creation Time'), |
||
105 | $this->updatedAtAttribute => Yii::t('user', 'Last Updated Time'), |
||
106 | ], $this->getOperatorLabels()); |
||
107 | } |
||
108 | } |
||
109 |