/var/www/vhosts/nabawater/common/models
Edit: /var/www/vhosts/nabawater/common/models/UserPromotion.php (3075B)
language;
}
$langAlias = "{$alias}L";
$query->leftJoin([ $langAlias=> UserPromotionLang::tableName()],
"$langAlias.user_promotion_id = $alias.user_promotion_id")
->andWhere(["$langAlias.language_code" => $language])
->addSelect([
"$langAlias.user_promotion_name",
"$langAlias.user_promation_banner_path",
]);
}
/**
* @return array
*/
public function behaviors()
{
$behaviors = parent::behaviors();
$behaviors[] = [
'class' => AttributeKeyGeneratorBehaviour::class,
'attributes' => [
'user_promotion_key'
]
];
return $behaviors;
}
/**
* @param $typeAsIndex
* @return array
*/
public static function getPromotionType($typeAsIndex = false)
{
$list = [
['type' => self::PROMOTION_TYPE_PERCENTAGE, 'label' => Yii::t('backend', 'Promotion Percentage')],
['type' => self::PROMOTION_TYPE_AMOUNT, 'label' => Yii::t('backend', 'Promotion Amount')],
['type' => self::PROMOTION_TYPE_DIRECT_PURCHASE, 'label' => Yii::t('backend', 'Direct Purchase')],
['type' => self::PROMOTION_TYPE_FREE_PRODUCT, 'label' => Yii::t('backend', 'Free Product')],
];
if ($typeAsIndex) {
$list = ArrayHelper::map($list, 'type', 'label');
}
return $list;
}
/**
* @param $type
* @return string
*/
public static function getPromotionLabel($type)
{
$list = self::getPromotionType(true);
if (ArrayHelper::keyExists((int)$type, $list)) {
return $list[$type];
}
return '(not set)';
}
public static function getQuery($type = [])
{
$query = self::find()
->select(['*'])
->alias('U')
->where(['U.user_promotion_status' => self::ACTIVE]);
if($type != []) {
$query = $query->andWhere(['in', 'user_promotion_type', $type]);
}
self::selectTranslation($query);
return $query;
}
}