use Yii;
use yii\base\Action;
-use yii_app\records\MotivationValue;
+use yii_app\records\MotivationCostsItem;
class CreateValueAction extends Action
{
public function run()
{
- $model = new MotivationValue();
+ $model = new MotivationCostsItem();
if ($model->load(Yii::$app->request->post()) && $model->save()) {
return $this->controller->redirect(['values']);
}
namespace yii_app\actions\motivation;
use Yii;
-use yii_app\records\MotivationValue;
+use yii_app\records\MotivationCostsItem;
use yii\web\NotFoundHttpException;
use yii\base\Action;
private function findModel($id)
{
- if (($model = MotivationValue::findOne($id)) !== null) {
+ if (($model = MotivationCostsItem::findOne($id)) !== null) {
return $model;
}
namespace yii_app\actions\motivation;
use Yii;
-use yii_app\records\MotivationValue;
+use yii_app\records\MotivationCostsItem;
use yii\web\NotFoundHttpException;
use yii\base\Action;
private function findModel($id)
{
- if (($model = MotivationValue::findOne($id)) !== null) {
+ if (($model = MotivationCostsItem::findOne($id)) !== null) {
return $model;
}
use yii\base\Action;
use yii\data\ActiveDataProvider;
-use yii_app\records\MotivationValue;
+use yii_app\records\MotivationCostsItem;
class ValuesAction extends Action
{
public function run()
{
$dataProvider = new ActiveDataProvider([
- 'query' => MotivationValue::find(),
+ 'query' => MotivationCostsItem::find(),
]);
return $this->controller->render('values', [
'dataProvider' => $dataProvider,
use yii\db\Migration;
/**
- * Handles the creation of table `{{%motivation_values}}`.
+ * Handles the creation of table `{{%motivation_costs_items}}`.
*/
class m240719_090134_create_motivation_values_table extends Migration
*/
public function safeUp()
{
- $this->execute('SET search_path TO erp24');
+ //$this->execute('SET search_path TO erp24');
// Создаем тип ENUM
- $this->execute("CREATE TYPE data_type_enum AS ENUM ('int', 'float', 'string')");
+ //$this->execute("CREATE TYPE data_type_enum AS ENUM ('int', 'float', 'string')");
- $this->createTable('{{%motivation_values}}', [
- 'id' => $this->primaryKey(),
- 'name' => $this->string()->notNull(),
- 'data_type' => "data_type_enum NOT NULL",
- 'is_active' => $this->boolean()->defaultValue(true),
- 'created_at' => $this->datetime()->notNull()->comment('дата создания записи'),
- 'updated_at' => $this->datetime()->notNull()->comment('дата изменения записи'),
- ]);
+ // $this->createTable('{{%motivation_values}}', [
+ // 'id' => $this->primaryKey(),
+ // 'name' => $this->string()->notNull(),
+ // 'code' => $this->string()->notNull(),
+ // 'data_type' => "data_type_enum NOT NULL",
+ // 'order' => $this->integer()->notNull(),
+ // 'is_active' => $this->boolean()->defaultValue(true),
+ // 'created_at' => $this->datetime()->notNull()->comment('дата создания записи'),
+ // 'updated_at' => $this->datetime()->notNull()->comment('дата изменения записи'),
+ // ]);
- $this->createIndex('idx-motivation_values-name', '{{%motivation_values}}', 'name', true);
+ //$this->createIndex('idx-motivation_values-name', '{{%motivation_values}}', 'name', true);
}
/**
*/
public function safeDown()
{
- $this->execute('SET search_path TO erp24');
+ //$this->execute('SET search_path TO erp24');
- $this->dropTable('{{%motivation_values}}');
+ //$this->dropTable('{{%motivation_values}}');
// Удаляем тип ENUM
- $this->execute('DROP TYPE data_type_enum');
+ //$this->execute('DROP TYPE data_type_enum');
}
}
\ No newline at end of file
--- /dev/null
+<?php
+
+use yii\db\Migration;
+
+/**
+ * Handles the creation of table `{{%motivation_costs_items}}`.
+ */
+class m240722_054604_create_motivation_costs_items_table extends Migration
+{
+ /**
+ * {@inheritdoc}
+ */
+ public function safeUp()
+ {
+ $this->execute('SET search_path TO erp24');
+
+ // Создаем тип ENUM
+ $this->execute("CREATE TYPE data_type_enum AS ENUM ('int', 'float', 'string')");
+
+ $this->createTable('{{%motivation_costs_items}}', [
+ 'id' => $this->primaryKey(),
+ 'name' => $this->string()->notNull(),
+ 'code' => $this->string()->notNull(),
+ 'data_type' => "data_type_enum NOT NULL",
+ 'order' => $this->integer()->notNull(),
+ 'is_active' => $this->boolean()->defaultValue(true),
+ 'created_at' => $this->datetime()->notNull()->comment('дата создания записи'),
+ 'updated_at' => $this->datetime()->notNull()->comment('дата изменения записи'),
+ ]);
+
+ $this->createIndex('idx-motivation_costs_items-name', '{{%motivation_costs_items}}', 'name', true);
+ $this->createIndex('idx-motivation_costs_items-code', '{{%motivation_costs_items}}', 'code', true);
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function safeDown()
+ {
+ $this->execute('SET search_path TO erp24');
+
+ $this->dropTable('{{%motivation_costs_items}}');
+
+ // Удаляем тип ENUM
+ $this->execute('DROP TYPE data_type_enum');
+ }
+}
--- /dev/null
+<?php
+
+namespace yii_app\records;
+
+use yii\db\ActiveRecord;
+use yii\behaviors\TimestampBehavior;
+use yii\db\Expression;
+
+/**
+ * This is the model class for table "{{%motivation_costs_items}}".
+ *
+ * @property int $id
+ * @property string $name
+ * @property string $code
+ * @property string $data_type
+ * @property int $order
+ * @property bool $is_active
+ * @property string $created_at
+ * @property string $updated_at
+ */
+class MotivationCostsItem extends ActiveRecord
+{
+ const DATA_TYPE_INT = 'int';
+ const DATA_TYPE_FLOAT = 'float';
+ const DATA_TYPE_STRING = 'string';
+
+ /**
+ * {@inheritdoc}
+ */
+ public static function tableName()
+ {
+ return '{{%motivation_costs_items}}';
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function rules()
+ {
+ return [
+ [['name', 'code', 'data_type', 'order'], 'required'],
+ [['name', 'code'], 'string', 'max' => 255],
+ ['data_type', 'in', 'range' => [self::DATA_TYPE_INT, self::DATA_TYPE_FLOAT, self::DATA_TYPE_STRING]],
+ ['order', 'integer'],
+ ['is_active', 'boolean'],
+ [['name', 'code'], 'unique'],
+ ];
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function attributeLabels()
+ {
+ return [
+ 'id' => 'ID',
+ 'name' => 'Наименование',
+ 'code' => 'Код',
+ 'data_type' => 'Тип данных',
+ 'order' => 'Порядок',
+ 'is_active' => 'Активен',
+ 'created_at' => 'Создан',
+ 'updated_at' => 'Обновлен',
+ ];
+ }
+
+
+ /**
+ * {@inheritdoc}
+ */
+ public function behaviors()
+ {
+ return [
+ [
+ 'class' => TimestampBehavior::class,
+ 'value' => new Expression('NOW()'),
+ ],
+ ];
+ }
+
+ /**
+ * Get list of available data types
+ *
+ * @return array
+ */
+ public static function getDataTypeList()
+ {
+ return [
+ self::DATA_TYPE_INT => 'Целое число',
+ self::DATA_TYPE_FLOAT => 'Число с плавающей точкой',
+ self::DATA_TYPE_STRING => 'Строка',
+ ];
+ }
+}
\ No newline at end of file
+++ /dev/null
-<?php
-
-namespace yii_app\records;
-
-use yii\db\ActiveRecord;
-use yii\behaviors\TimestampBehavior;
-use yii\db\Expression;
-
-/**
- * This is the model class for table "{{%motivation_values}}".
- *
- * @property int $id
- * @property string $name
- * @property string $data_type
- * @property bool $is_active
- * @property string $created_at
- * @property string $updated_at
- */
-class MotivationValue extends ActiveRecord
-{
- const DATA_TYPE_INT = 'int';
- const DATA_TYPE_FLOAT = 'float';
- const DATA_TYPE_STRING = 'string';
-
- /**
- * {@inheritdoc}
- */
- public static function tableName()
- {
- return '{{%motivation_values}}';
- }
-
- /**
- * {@inheritdoc}
- */
- public function rules()
- {
- return [
- [['name', 'data_type'], 'required'],
- ['name', 'string', 'max' => 255],
- ['data_type', 'in', 'range' => [self::DATA_TYPE_INT, self::DATA_TYPE_FLOAT, self::DATA_TYPE_STRING]],
- ['is_active', 'boolean'],
- ];
- }
-
- /**
- * {@inheritdoc}
- */
- public function behaviors()
- {
- return [
- [
- 'class' => TimestampBehavior::class,
- 'value' => new Expression('NOW()'),
- ],
- ];
- }
-
- /**
- * {@inheritdoc}
- */
- public function attributeLabels()
- {
- return [
- 'id' => 'ID',
- 'name' => 'Наименование',
- 'data_type' => 'Тип данных',
- 'is_active' => 'Активен',
- 'created_at' => 'Создан',
- 'updated_at' => 'Обновлен',
- ];
- }
-
- /**
- * Get list of available data types
- *
- * @return array
- */
- public static function getDataTypeList()
- {
- return [
- self::DATA_TYPE_INT => 'Целое число',
- self::DATA_TYPE_FLOAT => 'Число с плавающей точкой',
- self::DATA_TYPE_STRING => 'Строка',
- ];
- }
-}
\ No newline at end of file
use yii\widgets\ActiveForm;
/** @var $this yii\web\View */
-/** @var $model app\models\MotivationValue */
+/** @var $model app\models\MotivationCostsItem */
/** @var $form yii\widgets\ActiveForm */
?>
['prompt' => 'Выберите тип данных']
) ?>
+ <?= $form->field($model, 'code')->textInput(['maxlength' => true]) ?>
+ <?= $form->field($model, 'order')->textInput(['type' => 'number']) ?>
+
<?= $form->field($model, 'is_active')->checkbox() ?>
<div class="form-group">
use yii\helpers\Html;
/** @var $this yii\web\View */
-/** @var $model app\models\MotivationValue */
+/** @var $model app\models\MotivationCostsItem */
$this->title = 'Создать значение мотивации';
$this->params['breadcrumbs'][] = ['label' => 'Значения мотивации', 'url' => ['values']];
use yii\helpers\Html;
/** @var $this yii\web\View */
-/** @var $model app\models\MotivationValue */
+/** @var $model app\models\MotivationCostsItem */
$this->title = 'Обновить значение мотивации: ' . $model->name;
$this->params['breadcrumbs'][] = ['label' => 'Значения мотивации', 'url' => ['values']];
['class' => 'yii\grid\SerialColumn'],
'name',
'data_type',
+ 'code',
+ 'order',
'is_active:boolean',
[
'attribute' => 'created_at',