add changes to backend transfers2
This commit is contained in:
@@ -7,6 +7,8 @@ use yii\helpers\ArrayHelper;
|
||||
use yii\behaviors\TimestampBehavior;
|
||||
use common\components\AccountAwareBehavior;
|
||||
use common\components\UserAwareBehavior;
|
||||
use yii\base\Object;
|
||||
use common\models\Transfer;
|
||||
|
||||
/**
|
||||
* This is the model class for table "money_movement".
|
||||
@@ -23,6 +25,10 @@ use common\components\UserAwareBehavior;
|
||||
*/
|
||||
class MoneyMovement extends \yii\db\ActiveRecord
|
||||
{
|
||||
|
||||
const TYPE_OUT = 10;
|
||||
|
||||
public $_account;
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
@@ -58,13 +64,22 @@ class MoneyMovement extends \yii\db\ActiveRecord
|
||||
public function rules()
|
||||
{
|
||||
return [
|
||||
[['id_account', 'id_user', 'name', 'type', 'money'], 'required'],
|
||||
[['id_account', 'id_user', 'type', 'money'], 'integer'],
|
||||
[['id_account', 'name', 'money'], 'required'],
|
||||
[['id_account' , 'money'], 'integer'],
|
||||
[['name'], 'string', 'max' => 64],
|
||||
[['comment'], 'string', 'max' => 255]
|
||||
[['comment'], 'string', 'max' => 255],
|
||||
[['id_account'], 'validateAccount'],
|
||||
];
|
||||
}
|
||||
|
||||
public function validateAccount($attribute,$params){
|
||||
$this->_account = Account::findOne(['id_account' => $this->id_account] );
|
||||
if ( !isset( $this->_account ) ){
|
||||
$this->addError($attribute, Yii::t('common/money-movement', 'Invalid account!'));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
@@ -82,4 +97,19 @@ class MoneyMovement extends \yii\db\ActiveRecord
|
||||
'updated_at' => Yii::t('common/money-movement', 'Updated At'),
|
||||
];
|
||||
}
|
||||
|
||||
public function afterSave($insert, $changedAttributes){
|
||||
parent::afterSave($insert, $changedAttributes);
|
||||
if ( $insert) {
|
||||
$this->createTransfer();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
protected function createTransfer(){
|
||||
$transfer = Transfer::createMoneyMovementOutTransfer($this->_account, $this);
|
||||
$transfer->id_user = Yii::$app->user->id;
|
||||
$transfer->save();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -94,6 +94,7 @@ class Transfer extends \common\models\BaseFitnessActiveRecord
|
||||
'id_discount' => Yii::t('common/transfer', 'Id Discount'),
|
||||
'id_currency' => Yii::t('common/transfer', 'Id Currency'),
|
||||
'id_object' => Yii::t('common/transfer', 'Id Object'),
|
||||
'objectName' => Yii::t('common/transfer', 'Id Object'),
|
||||
'status' => Yii::t('common/transfer', 'Status'),
|
||||
'type' => Yii::t('common/transfer', 'Type'),
|
||||
'item_price' => Yii::t('common/transfer', 'Item Price'),
|
||||
@@ -115,9 +116,12 @@ class Transfer extends \common\models\BaseFitnessActiveRecord
|
||||
public function getProduct(){
|
||||
return $this->hasOne( Product::className(), ["id_product" =>"id_object" ] );
|
||||
}
|
||||
public function getMoneyMovement(){
|
||||
return $this->hasOne( MoneyMovement::className(), ["id_money_movement" =>"id_object" ] );
|
||||
}
|
||||
|
||||
public function getTicket(){
|
||||
return $this->hasOne( Ticket::className(), ["id_ticket" =>"id_object" ] );
|
||||
return $this->hasOne( Ticket::className(), ["id_ticket" =>"id_object", ] ) ;
|
||||
}
|
||||
|
||||
public function getTicketType(){
|
||||
@@ -192,13 +196,30 @@ class Transfer extends \common\models\BaseFitnessActiveRecord
|
||||
$result = "";
|
||||
if ( $this->type == Transfer::TYPE_TICKET ){
|
||||
$result = Yii::t('common/transfer','Ticket');
|
||||
}else{
|
||||
}else if ( $this->type == Transfer::TYPE_PRODUCT ){
|
||||
$result = Yii::t('common/transfer','Product');
|
||||
}else if ( $this->type == Transfer::TYPE_MONEY_MOVEMENT_OUT ){
|
||||
$result = Yii::t('common/transfer','Money movement');
|
||||
}
|
||||
|
||||
// $result .= " xx";
|
||||
// $result .= $this->type;
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
public function getSignedMoney(){
|
||||
$m = 1;
|
||||
$result = $this->money;
|
||||
if ( $this->direction == self::DIRECTION_OUT ){
|
||||
$m = -1;
|
||||
}
|
||||
|
||||
$result = $result * $m;
|
||||
|
||||
return $result;
|
||||
|
||||
}
|
||||
|
||||
public function toProductSoldString(){
|
||||
$s = "";
|
||||
@@ -248,6 +269,27 @@ class Transfer extends \common\models\BaseFitnessActiveRecord
|
||||
return $transfer;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $account common\models\Account
|
||||
* @param $discount common\models\Discount
|
||||
* @param $currency common\models\Currency
|
||||
* @param $moneyMovement common\models\MoneyMovement
|
||||
* */
|
||||
public static function createMoneyMovementOutTransfer($account , $moneyMovement ){
|
||||
$transfer = new Transfer();
|
||||
|
||||
$transfer->type = Transfer::TYPE_MONEY_MOVEMENT_OUT;
|
||||
$transfer->status = Transfer::STATUS_PAID;
|
||||
$transfer->direction = Transfer::DIRECTION_OUT;
|
||||
$transfer->count = 0;
|
||||
|
||||
$transfer->id_object = $moneyMovement->id_money_movement;
|
||||
$transfer->money = $moneyMovement->money;
|
||||
|
||||
$transfer->id_account = $account->id_account;
|
||||
|
||||
return $transfer;
|
||||
}
|
||||
/**
|
||||
* @param $account common\models\Account
|
||||
* @param $discount common\models\Discount
|
||||
@@ -307,16 +349,20 @@ class Transfer extends \common\models\BaseFitnessActiveRecord
|
||||
$result = "";
|
||||
if ( $transfer->type == Transfer::TYPE_TICKET ){
|
||||
$result = $transfer->ticket->ticketTypeName;
|
||||
}else{
|
||||
}else if ( $transfer->type == Transfer::TYPE_PRODUCT ){
|
||||
$result = $transfer->product->name;
|
||||
}else if ( $transfer->type == Transfer::TYPE_MONEY_MOVEMENT_OUT ){
|
||||
$result = "Pénzmozgás";
|
||||
}
|
||||
return $result;
|
||||
},
|
||||
'category' => function ($transfer) {
|
||||
if ( $transfer->type == Transfer::TYPE_TICKET ){
|
||||
return Yii::t('frontend/transfer','Ticket');
|
||||
}else{
|
||||
}else if ( $transfer->type == Transfer::TYPE_PRODUCT ){
|
||||
return $transfer->product->productCategoryName;
|
||||
}else if ( $transfer->type == Transfer::TYPE_MONEY_MOVEMENT_OUT ){
|
||||
return "Pénzmozgás";
|
||||
}
|
||||
},
|
||||
],
|
||||
@@ -338,6 +384,7 @@ class Transfer extends \common\models\BaseFitnessActiveRecord
|
||||
|
||||
public static function types( ) {
|
||||
return [
|
||||
self::TYPE_MONEY_MOVEMENT_OUT => Yii::t('common/transfer','Pénzmozgás'),
|
||||
self::TYPE_PRODUCT => Yii::t('common/transfer','Product'),
|
||||
self::TYPE_TICKET => Yii::t('common/transfer','Ticket'),
|
||||
];
|
||||
|
||||
Reference in New Issue
Block a user