- Achievement input at user card form.
- Achievement at user view with img
This commit is contained in:
@ -2,7 +2,9 @@
|
||||
|
||||
namespace backend\modules\card\models;
|
||||
|
||||
use backend\modules\achievements\models\Achievement;
|
||||
use Common\Behaviors\LogBehavior;
|
||||
use common\models\AchievementUserCard;
|
||||
use Yii;
|
||||
use backend\modules\settings\models\Skill;
|
||||
use common\classes\Debug;
|
||||
@ -16,6 +18,7 @@ class UserCard extends \common\models\UserCard
|
||||
{
|
||||
public $fields;
|
||||
public $skill;
|
||||
public $achievements;
|
||||
|
||||
public function init()
|
||||
{
|
||||
@ -63,6 +66,19 @@ class UserCard extends \common\models\UserCard
|
||||
if (!empty($skill)) {
|
||||
$this->skill = $skill;
|
||||
}
|
||||
|
||||
$achievements = ArrayHelper::getColumn(AchievementUserCard::find()
|
||||
->where(['user_card_id' => \Yii::$app->request->get('id')])
|
||||
->innerJoinWith(['achievement' => function($query) {
|
||||
$query->andWhere(['status' => \common\models\Achievement::STATUS_ACTIVE]);
|
||||
}])
|
||||
->all(),
|
||||
'achievement_id'
|
||||
);
|
||||
|
||||
if (!empty($achievements)) {
|
||||
$this->achievements = $achievements;
|
||||
}
|
||||
}
|
||||
|
||||
public function behaviors()
|
||||
@ -118,6 +134,19 @@ class UserCard extends \common\models\UserCard
|
||||
$skill->save();
|
||||
}
|
||||
}
|
||||
|
||||
if(is_array($post['achievements'])){
|
||||
AchievementUserCard::deleteAll(['user_card_id' => $this->id]);
|
||||
|
||||
foreach ($post['achievements'] as $item) {
|
||||
$achCard = new AchievementUserCard();
|
||||
$achCard->user_card_id = $this->id;
|
||||
$achCard->achievement_id = $item;
|
||||
|
||||
$achCard->save();
|
||||
}
|
||||
}
|
||||
|
||||
parent::afterSave($insert, $changedAttributes); // TODO: Change the autogenerated stub
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user