Commit cc4e7c12a841551f98acf2996d7af02195392bfc
1 parent
5077a0ec
test
Showing
6 changed files
with
140 additions
and
8 deletions
Show diff stats
| 1 | +<?php | ||
| 2 | + | ||
| 3 | +namespace common\models; | ||
| 4 | + | ||
| 5 | +use Yii; | ||
| 6 | + | ||
| 7 | +/** | ||
| 8 | + * This is the model class for table "bookmark". | ||
| 9 | + * | ||
| 10 | + * @property integer $bookmark_id | ||
| 11 | + * @property integer $user_id | ||
| 12 | + * @property string $model | ||
| 13 | + * @property integer $model_id | ||
| 14 | + * @property integer $type | ||
| 15 | + * | ||
| 16 | + * @property User $user | ||
| 17 | + */ | ||
| 18 | +class Bookmark extends \yii\db\ActiveRecord | ||
| 19 | +{ | ||
| 20 | + | ||
| 21 | + const TYPE_PERFORMER = 1; | ||
| 22 | + const TYPE_CUSTOMER = 2; | ||
| 23 | + const TYPE_PROJECT = 3; | ||
| 24 | + const TYPE_VACANCY = 4; | ||
| 25 | + /** | ||
| 26 | + * @inheritdoc | ||
| 27 | + */ | ||
| 28 | + public static function tableName() | ||
| 29 | + { | ||
| 30 | + return 'bookmark'; | ||
| 31 | + } | ||
| 32 | + | ||
| 33 | + /** | ||
| 34 | + * @inheritdoc | ||
| 35 | + */ | ||
| 36 | + public function rules() | ||
| 37 | + { | ||
| 38 | + return [ | ||
| 39 | + [['user_id', 'model', 'model_id', 'type'], 'required'], | ||
| 40 | + [['user_id', 'model_id', 'type'], 'integer'], | ||
| 41 | + [['model'], 'string', 'max' => 255], | ||
| 42 | + [['user_id'], 'exist', 'skipOnError' => true, 'targetClass' => User::className(), 'targetAttribute' => ['user_id' => 'id']], | ||
| 43 | + ]; | ||
| 44 | + } | ||
| 45 | + | ||
| 46 | + /** | ||
| 47 | + * @inheritdoc | ||
| 48 | + */ | ||
| 49 | + public function attributeLabels() | ||
| 50 | + { | ||
| 51 | + return [ | ||
| 52 | + 'bookmark_id' => Yii::t('app', 'Bookmark ID'), | ||
| 53 | + 'user_id' => Yii::t('app', 'User ID'), | ||
| 54 | + 'model' => Yii::t('app', 'Model'), | ||
| 55 | + 'model_id' => Yii::t('app', 'Model ID'), | ||
| 56 | + 'type' => Yii::t('app', 'Type'), | ||
| 57 | + ]; | ||
| 58 | + } | ||
| 59 | + | ||
| 60 | + /** | ||
| 61 | + * @return \yii\db\ActiveQuery | ||
| 62 | + */ | ||
| 63 | + public function getUser() | ||
| 64 | + { | ||
| 65 | + return $this->hasOne(User::className(), ['id' => 'user_id']); | ||
| 66 | + } | ||
| 67 | +} |
common/models/Project.php
| @@ -34,6 +34,7 @@ | @@ -34,6 +34,7 @@ | ||
| 34 | { | 34 | { |
| 35 | 35 | ||
| 36 | public $files; | 36 | public $files; |
| 37 | + | ||
| 37 | /** | 38 | /** |
| 38 | * @inheritdoc | 39 | * @inheritdoc |
| 39 | */ | 40 | */ |
| @@ -60,10 +61,10 @@ | @@ -60,10 +61,10 @@ | ||
| 60 | 'value' => new Expression('NOW()'), | 61 | 'value' => new Expression('NOW()'), |
| 61 | ], | 62 | ], |
| 62 | 'slug' => [ | 63 | 'slug' => [ |
| 63 | - 'class' => 'common\behaviors\Slug', | ||
| 64 | - 'in_attribute' => 'name', | 64 | + 'class' => 'common\behaviors\Slug', |
| 65 | + 'in_attribute' => 'name', | ||
| 65 | 'out_attribute' => 'link', | 66 | 'out_attribute' => 'link', |
| 66 | - 'translit' => true | 67 | + 'translit' => true |
| 67 | ] | 68 | ] |
| 68 | ]; | 69 | ]; |
| 69 | } | 70 | } |
| @@ -75,7 +76,10 @@ | @@ -75,7 +76,10 @@ | ||
| 75 | { | 76 | { |
| 76 | return [ | 77 | return [ |
| 77 | [ | 78 | [ |
| 78 | - [ 'name', 'link' ], | 79 | + [ |
| 80 | + 'name', | ||
| 81 | + 'link' | ||
| 82 | + ], | ||
| 79 | 'required', | 83 | 'required', |
| 80 | ], | 84 | ], |
| 81 | [ | 85 | [ |
| @@ -181,7 +185,6 @@ | @@ -181,7 +185,6 @@ | ||
| 181 | ->viaTable('project_payment', [ 'project_id' => 'project_id' ]); | 185 | ->viaTable('project_payment', [ 'project_id' => 'project_id' ]); |
| 182 | } | 186 | } |
| 183 | 187 | ||
| 184 | - | ||
| 185 | /** | 188 | /** |
| 186 | * @return \yii\db\ActiveQuery | 189 | * @return \yii\db\ActiveQuery |
| 187 | */ | 190 | */ |
| @@ -198,8 +201,6 @@ | @@ -198,8 +201,6 @@ | ||
| 198 | return $this->hasOne(self::className(), [ 'project_id' => 'project_pid' ]); | 201 | return $this->hasOne(self::className(), [ 'project_id' => 'project_pid' ]); |
| 199 | } | 202 | } |
| 200 | 203 | ||
| 201 | - | ||
| 202 | - | ||
| 203 | public function getBudgetCurrency() | 204 | public function getBudgetCurrency() |
| 204 | { | 205 | { |
| 205 | return $this->hasOne(Currency::className(), [ 'currency_id' => 'budget_currency' ]); | 206 | return $this->hasOne(Currency::className(), [ 'currency_id' => 'budget_currency' ]); |
| @@ -273,4 +274,9 @@ | @@ -273,4 +274,9 @@ | ||
| 273 | return [ ]; | 274 | return [ ]; |
| 274 | } | 275 | } |
| 275 | } | 276 | } |
| 277 | + | ||
| 278 | + public function getIsBookmarked() | ||
| 279 | + { | ||
| 280 | + return false; | ||
| 281 | + } | ||
| 276 | } | 282 | } |
console/migrations/m160316_134249_bookmarks_table.php
0 → 100644
| 1 | +<?php | ||
| 2 | + | ||
| 3 | + use yii\db\Migration; | ||
| 4 | + | ||
| 5 | + class m160316_134249_bookmarks_table extends Migration | ||
| 6 | + { | ||
| 7 | + | ||
| 8 | + public function up() | ||
| 9 | + { | ||
| 10 | + $this->createTable('{{%bookmark}}', [ | ||
| 11 | + 'bookmark_id' => $this->primaryKey(), | ||
| 12 | + 'user_id' => $this->integer() | ||
| 13 | + ->notNull(), | ||
| 14 | + 'model' => $this->string() | ||
| 15 | + ->notNull(), | ||
| 16 | + 'model_id' => $this->integer() | ||
| 17 | + ->notNull(), | ||
| 18 | + 'type' => $this->integer() | ||
| 19 | + ->notNull(), | ||
| 20 | + ]); | ||
| 21 | + $this->addForeignKey('bookmark_user', '{{%bookmark}}', 'user_id', '{{%user}}', 'id', 'CASCADE', 'CASCADE'); | ||
| 22 | + } | ||
| 23 | + | ||
| 24 | + public function down() | ||
| 25 | + { | ||
| 26 | + $this->dropForeignKey('bookmark_user', '{{%bookmark}}'); | ||
| 27 | + $this->dropTable('{{%bookmark}}'); | ||
| 28 | + } | ||
| 29 | + | ||
| 30 | + } |
frontend/views/tender/view.php
| @@ -65,7 +65,27 @@ $this->title = 'My Yii Application'; | @@ -65,7 +65,27 @@ $this->title = 'My Yii Application'; | ||
| 65 | <?= Html::a(Html::img('/images/ico-vk.png'),"{$model->user->userInfo->social_vk}",['target'=>'_blank'])?> | 65 | <?= Html::a(Html::img('/images/ico-vk.png'),"{$model->user->userInfo->social_vk}",['target'=>'_blank'])?> |
| 66 | </div> | 66 | </div> |
| 67 | </div> | 67 | </div> |
| 68 | - <div class="performance-vacancy-add-favorite"><a href="#"></a></div> | 68 | + <?php |
| 69 | + if(!empty( \Yii::$app->user->identity )) { | ||
| 70 | + ?> | ||
| 71 | + <div class="performance-vacancy-add-favorite"> | ||
| 72 | + <?php | ||
| 73 | + if($model->isBookmarked) { | ||
| 74 | + echo Html::a('', [ '#' ], [ | ||
| 75 | + 'class' => 'artbox_bookmark_remove_performer', | ||
| 76 | + 'data-id' => $model->project_id, | ||
| 77 | + ]); | ||
| 78 | + } else { | ||
| 79 | + echo Html::a('', [ '#' ], [ | ||
| 80 | + 'class' => 'artbox_bookmark_add_performer', | ||
| 81 | + 'data-id' => $model->project_id, | ||
| 82 | + ]); | ||
| 83 | + } | ||
| 84 | + ?> | ||
| 85 | + </div> | ||
| 86 | + <?php | ||
| 87 | + } | ||
| 88 | + ?> | ||
| 69 | <div class="cab-mes-read-last-visit"> | 89 | <div class="cab-mes-read-last-visit"> |
| 70 | <div class="cab-mes-read-min-bl" style="width: 204px"> | 90 | <div class="cab-mes-read-min-bl" style="width: 204px"> |
| 71 | <div class="profile-phone-site style"> | 91 | <div class="profile-phone-site style"> |
frontend/web/css/style.css
| @@ -1571,6 +1571,15 @@ input[type=file]::-webkit-file-upload-button { | @@ -1571,6 +1571,15 @@ input[type=file]::-webkit-file-upload-button { | ||
| 1571 | .performance-vacancy-add-favorite a.artbox_bookmark_remove_performer{ | 1571 | .performance-vacancy-add-favorite a.artbox_bookmark_remove_performer{ |
| 1572 | background: url("/images/button_add_fav_01.png") no-repeat; | 1572 | background: url("/images/button_add_fav_01.png") no-repeat; |
| 1573 | } | 1573 | } |
| 1574 | +.performance-vacancy-add-favorite a.artbox_bookmark_remove_customer{ | ||
| 1575 | + background: url("/images/button_add_fav_01.png") no-repeat; | ||
| 1576 | +} | ||
| 1577 | +.performance-vacancy-add-favorite a.artbox_bookmark_remove_project{ | ||
| 1578 | + background: url("/images/button_add_fav_01.png") no-repeat; | ||
| 1579 | +} | ||
| 1580 | +.performance-vacancy-add-favorite a.artbox_bookmark_remove_vacancy{ | ||
| 1581 | + background: url("/images/button_add_fav_01.png") no-repeat; | ||
| 1582 | +} | ||
| 1574 | .performance-vacancy-add-favorite a:hover{opacity: 0.95} | 1583 | .performance-vacancy-add-favorite a:hover{opacity: 0.95} |
| 1575 | .menu-content-wr { | 1584 | .menu-content-wr { |
| 1576 | height: 43px; | 1585 | height: 43px; |
19.3 KB