Code

< 40 %
40-60 %
> 60 %
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