Blame view

common/modules/rubrication/models/TaxGroup.php 3.33 KB
a8370482   Alexander Karnovsky   init project
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
  <?php
  
  namespace common\modules\rubrication\models;
  
  use common\modules\relation\relationBehavior;
  use Yii;
  
  /**
   * This is the model class for table "{{%tax_group}}".
   *
   * @property integer $tax_group_id
   * @property string $alias
   * @property string $name
   * @property string $description
   * @property string $module
   * @property boolean $hierarchical
   * @property string $settings
377b29c7   Yarik   Yarik comment
18
   * @property boolean is_filter
a8370482   Alexander Karnovsky   init project
19
20
21
22
23
24
25
26
   *
   * @property TaxGroupToGroup[] $taxGroupToGroups
   * @property TaxGroupToGroup[] $taxGroupToGroups0
   * @property TaxOption[] $taxOptions
   * @property TaxOptionToGroup[] $taxOptionToGroups
   */
  class TaxGroup extends \yii\db\ActiveRecord
  {
5aa7418e   Karnovsky A   Base-product#3 fu...
27
      public $_options = [];
a8370482   Alexander Karnovsky   init project
28
29
30
31
32
33
34
35
36
      /**
       * @inheritdoc
       */
      public function behaviors()
      {
          return [
              [
                  'class' => relationBehavior::className(),
                  'relations' => [
b15c889e   Karnovsky A   Base-product#2 fu...
37
                      'tax_group_to_category' => 'entity1',
a8370482   Alexander Karnovsky   init project
38
39
                  ]
              ],
b519af22   Karnovsky A   Base-product func...
40
41
42
43
44
45
              'slug' => [
                  'class' => 'common\behaviors\Slug',
                  'in_attribute' => 'name',
                  'out_attribute' => 'alias',
                  'translit' => true
              ],
a8370482   Alexander Karnovsky   init project
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
          ];
      }
  
      /**
       * @inheritdoc
       */
      public static function tableName()
      {
          return '{{%tax_group}}';
      }
  
      /**
       * @inheritdoc
       */
      public function rules()
      {
          return [
b519af22   Karnovsky A   Base-product func...
63
              [['name', 'module'], 'required'],
a8370482   Alexander Karnovsky   init project
64
              [['description', 'settings'], 'string'],
377b29c7   Yarik   Yarik comment
65
              [['hierarchical'], 'boolean'],
a8370482   Alexander Karnovsky   init project
66
67
              [['alias', 'module'], 'string', 'max' => 50],
              [['name'], 'string', 'max' => 255],
b15c889e   Karnovsky A   Base-product#2 fu...
68
              [['group_to_category'], 'safe']
a8370482   Alexander Karnovsky   init project
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
          ];
      }
  
      /**
       * @inheritdoc
       */
      public function attributeLabels()
      {
          return [
              'tax_group_id' => 'Tax Group ID',
              'alias' => 'Alias',
              'name' => 'Name',
              'description' => 'Description',
              'module' => 'Module',
              'hierarchical' => 'Hierarchical',
  //            'settings' => 'Settings',
6fa713ca   Karnovsky A   Catalog v 1.2
85
              'is_filter' => 'Use in filter',
a8370482   Alexander Karnovsky   init project
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
          ];
      }
  
      /**
       * @return \yii\db\ActiveQuery
       */
      public function getTaxGroupToGroups()
      {
          return $this->hasMany(TaxGroupToGroup::className(), ['tax_group1_id' => 'tax_group_id'])->inverseOf('taxGroup1');
      }
  
      /**
       * @return \yii\db\ActiveQuery
       */
      public function getTaxGroupToGroups0()
      {
          return $this->hasMany(TaxGroupToGroup::className(), ['tax_group2_id' => 'tax_group_id'])->inverseOf('taxGroup2');
      }
  
      /**
       * @return \yii\db\ActiveQuery
       */
b15c889e   Karnovsky A   Base-product#2 fu...
108
109
110
      public function getOptions() {
          return $this->getTaxOptions();
      }
a8370482   Alexander Karnovsky   init project
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
      public function getTaxOptions()
      {
          return $this->hasMany(TaxOption::className(), ['tax_group_id' => 'tax_group_id'])->inverseOf('taxGroup');
      }
  
      /**
       * @return \yii\db\ActiveQuery
       */
      public function getTaxOptionToGroups()
      {
          return $this->hasMany(TaxOptionToGroup::className(), ['tax_group_id' => 'tax_group_id'])->inverseOf('taxGroup');
      }
  
      public function getValueModelName($full_path = true) {
          $valueClass = 'TaxValue'. ucfirst($this->module);
          $fullClass = '\common\modules\rubrication\models\\'. $valueClass;
          return class_exists($fullClass) ? $full_path ? $fullClass : $valueClass : FALSE;
      }
  }