default product type id on categories table
This commit is contained in:
@@ -5,6 +5,7 @@ namespace CakeProducts\Model\Entity;
|
||||
|
||||
use Cake\I18n\DateTime;
|
||||
use Cake\ORM\Entity;
|
||||
use CakeProducts\Model\Enum\ProductProductTypeId;
|
||||
|
||||
/**
|
||||
* Product Entity
|
||||
@@ -12,11 +13,13 @@ use Cake\ORM\Entity;
|
||||
* @property string $id
|
||||
* @property string $name
|
||||
* @property string $product_category_id
|
||||
* @property \CakeProducts\Model\Enum\ProductProductTypeId $product_type_id
|
||||
* @property ProductProductTypeId $product_type_id
|
||||
* @property DateTime|null $deleted
|
||||
*
|
||||
* @property \CakeProducts\Model\Entity\ProductCategory $product_category
|
||||
* @property \CakeProducts\Model\Entity\ProductAttribute[] $product_attributes
|
||||
* @property ProductCategory $product_category
|
||||
* @property ProductAttribute[] $product_attributes
|
||||
* @property ProductCategoryVariant[] $product_category_variants
|
||||
*
|
||||
*/
|
||||
class Product extends Entity
|
||||
{
|
||||
@@ -37,5 +40,6 @@ class Product extends Entity
|
||||
// entities
|
||||
'product_category' => false,
|
||||
'product_attributes' => true,
|
||||
'product_category_variants' => false,
|
||||
];
|
||||
}
|
||||
|
||||
@@ -5,6 +5,7 @@ namespace CakeProducts\Model\Entity;
|
||||
|
||||
use Cake\I18n\DateTime;
|
||||
use Cake\ORM\Entity;
|
||||
use CakeProducts\Model\Enum\ProductProductTypeId;
|
||||
|
||||
/**
|
||||
* ProductCategory Entity
|
||||
@@ -19,6 +20,7 @@ use Cake\ORM\Entity;
|
||||
* @property int $rght
|
||||
* @property bool $enabled
|
||||
* @property DateTime|null $deleted
|
||||
* @property ProductProductTypeId|null $default_product_type_id
|
||||
*
|
||||
* @property \CakeProducts\Model\Entity\ProductCatalog $product_catalog
|
||||
* @property \CakeProducts\Model\Entity\ParentProductCategory $parent_product_category
|
||||
@@ -40,6 +42,7 @@ class ProductCategory extends Entity
|
||||
'internal_id' => true,
|
||||
'name' => true,
|
||||
'category_description' => true,
|
||||
'default_product_type_id' => true,
|
||||
'parent_id' => true,
|
||||
'lft' => true,
|
||||
'rght' => true,
|
||||
|
||||
@@ -4,6 +4,7 @@ declare(strict_types=1);
|
||||
namespace CakeProducts\Model\Table;
|
||||
|
||||
use Cake\Core\Configure;
|
||||
use Cake\Database\Type\EnumType;
|
||||
use Cake\Datasource\EntityInterface;
|
||||
use Cake\Datasource\ResultSetInterface;
|
||||
use Cake\ORM\Association\BelongsTo;
|
||||
@@ -14,6 +15,7 @@ use Cake\ORM\RulesChecker;
|
||||
use Cake\ORM\Table;
|
||||
use Cake\Validation\Validator;
|
||||
use CakeProducts\Model\Entity\ProductCategory;
|
||||
use CakeProducts\Model\Enum\ProductProductTypeId;
|
||||
use Closure;
|
||||
use Psr\SimpleCache\CacheInterface;
|
||||
|
||||
@@ -99,6 +101,8 @@ class ProductCategoriesTable extends Table
|
||||
'cascadeCallbacks' => true,
|
||||
]);
|
||||
|
||||
$this->getSchema()->setColumnType('default_product_type_id', EnumType::from(ProductProductTypeId::class));
|
||||
|
||||
$this->behaviors()->Tree->setConfig('scope', ['product_catalog_id' => $this->treeCatalogId]);
|
||||
$this->addBehavior('Muffin/Trash.Trash');
|
||||
}
|
||||
@@ -137,6 +141,10 @@ class ProductCategoriesTable extends Table
|
||||
->dateTime('deleted')
|
||||
->allowEmptyDateTime('deleted');
|
||||
|
||||
$validator
|
||||
->integer('default_product_type_id')
|
||||
->allowEmptyString('default_product_type_id');
|
||||
|
||||
return $validator;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user