Blame view

common/modules/rubrication/models/TaxOption.php 3.41 KB
d8c1a2e0   Yarik   Big commit artbox
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
  <?php

  

  namespace common\modules\rubrication\models;

  

  use Yii;

  use common\components\artboxtree\ArtboxTreeBehavior;

  use yii\db\ActiveRecord;

  

  /**

   * This is the model class for table "{{%tax_option}}".

   *

   * @property string $tax_option_id

   * @property integer $tax_group_id

   * @property integer $parent_id

   * @property integer $tree

   * @property string $path_int

   * @property integer $depth

   * @property string $alias

   * @property integer $sort

36d1807a   Yarik   Big commit.
20
   * @property integer $value

d8c1a2e0   Yarik   Big commit artbox
21
22
   * @property array $image

   *

d8c1a2e0   Yarik   Big commit artbox
23
24
25
   * @property TaxGroup $taxGroup

   * @property TaxOption $parent

   * @property TaxOption[] $taxOptions

d8c1a2e0   Yarik   Big commit artbox
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
   */

  class TaxOption extends \yii\db\ActiveRecord

  {

      public $_items_count;

  

  

      /**

       * @inheritdoc

       */

      public function behaviors()

      {

          return [

              'artboxtree' => [

                  'class' => ArtboxTreeBehavior::className(),

                  'keyNameGroup' => 'tax_group_id',

              ],

              'slug' => [

                  'class' => 'common\behaviors\Slug',

36d1807a   Yarik   Big commit.
44
                  'in_attribute' => 'value',

d8c1a2e0   Yarik   Big commit artbox
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
                  'out_attribute' => 'alias',

                  'translit' => true

              ],

  

          ];

      }

  

          /**

       * @inheritdoc

       */

      public static function tableName()

      {

          return '{{%tax_option}}';

      }

  

      /**

       * @inheritdoc

       */

      public function rules()

      {

          return [

36d1807a   Yarik   Big commit.
66
67
              [['tax_group_id','value'], 'required'],

              [['tax_group_id',  'parent_id', 'sort'], 'integer'],

d8c1a2e0   Yarik   Big commit artbox
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
              [['image','alias', 'value'], 'string', 'max' => 255],

              [['tax_group_id'], 'exist', 'skipOnError' => true, 'targetClass' => TaxGroup::className(), 'targetAttribute' => ['tax_group_id' => 'tax_group_id']],

          ];

      }

  

      /**

       * @inheritdoc

       */

      public function attributeLabels()

      {

          return [

              'tax_option_id' => Yii::t('app', 'Tax Option ID'),

              'tax_group_id' => Yii::t('app', 'Tax Group ID'),

              'parent_id' => Yii::t('app', 'Parent ID'),

              'alias' => Yii::t('app', 'Alias'),

              'sort' => Yii::t('app', 'Sort'),

d8c1a2e0   Yarik   Big commit artbox
84
85
86
87
88
89
90
91
92
93
94
              'image' => Yii::t('product', 'Image'),

          ];

      }

  

      public static function find() {

          return new TaxOptionQuery(get_called_class());

      }

  

      /**

       * @return \yii\db\ActiveQuery

       */

d8c1a2e0   Yarik   Big commit artbox
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
      public function getGroup()

      {

          return $this->getTaxGroup();

      }

  

      /**

       * @return \yii\db\ActiveQuery

       */

      public function getTaxGroup()

      {

          return $this->hasOne(TaxGroup::className(), ['tax_group_id' => 'tax_group_id'])->inverseOf('taxOptions');

      }

  

      /**

       * @return \yii\db\ActiveQuery

       */

      public function getTaxOptions()

      {

          return $this->hasMany(TaxOption::className(), ['parent_id' => 'tax_option_id'])->inverseOf('parent');

      }

  

d8c1a2e0   Yarik   Big commit artbox
116
117
118
      public function beforeSave($insert)

      {

          if (parent::beforeSave($insert)) {

36d1807a   Yarik   Big commit.
119
              if (empty($this->parent_id)) {

d8c1a2e0   Yarik   Big commit artbox
120
                  $this->parent_id = 0;

36d1807a   Yarik   Big commit.
121
              }

d8c1a2e0   Yarik   Big commit artbox
122
123
124
125
126
127
128
129
130
131
132
133
134
135
              return true;

          }

          return false;

      }

  

      public function getImageFile() {

          return empty($this->image) ? null : Yii::getAlias('@imagesDir/tax_option/'. $this->image);

      }

  

      public function getImageUrl()

      {

          return empty($this->image) ? null : Yii::getAlias('@imagesUrl/tax_option/' . $this->image);

      }

  }