Commit 0e25b1791e93d4b9c2a556ca0b521ff365802530
1 parent
db1feeef
author page projects
Showing
5 changed files
with
68 additions
and
14 deletions
Show diff stats
frontend/controllers/BookController.php
@@ -168,4 +168,15 @@ | @@ -168,4 +168,15 @@ | ||
168 | 168 | ||
169 | return $out; | 169 | return $out; |
170 | } | 170 | } |
171 | + | ||
172 | + public function actionDelete($id){ | ||
173 | + \Yii::$app->response->format = Response::FORMAT_JSON; | ||
174 | + $book = Book::findOne($id); | ||
175 | + if ($book->status == Book::STATUS_ACTIVE){ | ||
176 | + $book->status = Book::STATUS_DELETED; | ||
177 | + return $book->save(); | ||
178 | + }elseif($book->status == Book::STATUS_MODERATION){ | ||
179 | + return $book->delete(); | ||
180 | + } | ||
181 | + } | ||
171 | } | 182 | } |
172 | \ No newline at end of file | 183 | \ No newline at end of file |
frontend/views/author/_book.php
1 | <?php | 1 | <?php |
2 | /** | 2 | /** |
3 | - * Created by PhpStorm. | ||
4 | - * User: stes | ||
5 | - * Date: 26.06.18 | ||
6 | - * Time: 10:32 | 3 | + * @var \common\models\Book $model |
4 | + * @var int $index; | ||
7 | */ | 5 | */ |
6 | + use yii\helpers\Url; | ||
7 | + use common\models\Book; | ||
8 | + | ||
9 | + $count = $index+1; | ||
10 | + if (\Yii::$app->request->get('page') and \Yii::$app->request->get('per-page')){ | ||
11 | + $count += \Yii::$app->request->get('page') * \Yii::$app->request->get('per-page'); | ||
12 | + } | ||
8 | ?> | 13 | ?> |
9 | -<div class="account-columns-row"> | ||
10 | - <div class="account-number">№1</div> | ||
11 | - <div class="account-title"><b>Нова українська артилерія</b></div> | ||
12 | - <div class="account-edit"><a href="#">редагувати</a></div> | ||
13 | -</div> | 14 | + <div class="account-number">№<?=$count?></div> |
15 | + <div class="account-title"><b><?=$model->title?></b></div> | ||
16 | +<?php if ($model->status == Book::STATUS_MODERATION){?> | ||
17 | + <div class="account-edit"><a href="<?=Url::to(['book/edit', 'id' => $model->id])?>">редагувати</a></div> | ||
18 | + <div class="account-delete"><a href="<?=Url::to(['book/delete', 'id' => $model->id])?>">видалити</a></div> | ||
19 | +<?php } else if ($model->status == Book::STATUS_ACTIVE){?> | ||
20 | + <div class="account-delete"><a href="<?=Url::to(['book/delete', 'id' => $model->id])?>">видалити</a></div> | ||
21 | +<?php } ?> |
frontend/views/author/index.php
@@ -85,7 +85,7 @@ $model = new ChangePassword(); | @@ -85,7 +85,7 @@ $model = new ChangePassword(); | ||
85 | </ul> | 85 | </ul> |
86 | </div> | 86 | </div> |
87 | <div class="style card-form-add-wrapp"> | 87 | <div class="style card-form-add-wrapp"> |
88 | - <div class="active style tabs-account-forms"> | 88 | + <div class="active style tabs-account-forms" id="tab1"> |
89 | <?php $form = ActiveForm::begin(['options' => ['enctype' => 'multipart/form-data']])?> | 89 | <?php $form = ActiveForm::begin(['options' => ['enctype' => 'multipart/form-data']])?> |
90 | <div class="add-book-form-column"> | 90 | <div class="add-book-form-column"> |
91 | <div class="input-wr"> | 91 | <div class="input-wr"> |
@@ -144,7 +144,7 @@ $model = new ChangePassword(); | @@ -144,7 +144,7 @@ $model = new ChangePassword(); | ||
144 | </div> | 144 | </div> |
145 | <?php ActiveForm::end()?> | 145 | <?php ActiveForm::end()?> |
146 | </div> | 146 | </div> |
147 | - <div class="style tabs-account-forms"> | 147 | + <div class="style tabs-account-forms" id="tab2"> |
148 | <div class="style add-project-btn"> | 148 | <div class="style add-project-btn"> |
149 | <a href="<?=Url::to(['book/add'])?>">додати проект</a> | 149 | <a href="<?=Url::to(['book/add'])?>">додати проект</a> |
150 | </div> | 150 | </div> |
@@ -153,10 +153,13 @@ $model = new ChangePassword(); | @@ -153,10 +153,13 @@ $model = new ChangePassword(); | ||
153 | /* @var \yii\data\ActiveDataProvider $dataProvider*/ | 153 | /* @var \yii\data\ActiveDataProvider $dataProvider*/ |
154 | $count = round($dataProvider->getCount()/2, 0, PHP_ROUND_HALF_DOWN); | 154 | $count = round($dataProvider->getCount()/2, 0, PHP_ROUND_HALF_DOWN); |
155 | 155 | ||
156 | - ListView::widget([ | 156 | + echo ListView::widget([ |
157 | 'dataProvider' => $dataProvider, | 157 | 'dataProvider' => $dataProvider, |
158 | 'itemView' => '_book', | 158 | 'itemView' => '_book', |
159 | 'options' => ['class' => 'account-columns'], | 159 | 'options' => ['class' => 'account-columns'], |
160 | + 'itemOptions' => [ | ||
161 | + 'class' => 'account-columns-row', | ||
162 | + ], | ||
160 | 'afterItem' => function ($model, $key, $index) use ($count) { | 163 | 'afterItem' => function ($model, $key, $index) use ($count) { |
161 | if ($index == $count){ | 164 | if ($index == $count){ |
162 | return " | 165 | return " |
frontend/views/layouts/main.php
@@ -105,7 +105,7 @@ JS; | @@ -105,7 +105,7 @@ JS; | ||
105 | </div> | 105 | </div> |
106 | <?php } else { ?> | 106 | <?php } else { ?> |
107 | <div class="col-xs-12 hidden-xs hidden-sm col-sm-2 col-md-2"> | 107 | <div class="col-xs-12 hidden-xs hidden-sm col-sm-2 col-md-2"> |
108 | - <a href="<?=Url::to(['account/index'])?>"> | 108 | + <a href="<?=Url::to(['author/index'])?>"> |
109 | Особистий кабінет | 109 | Особистий кабінет |
110 | </a> | 110 | </a> |
111 | </div> | 111 | </div> |
frontend/web/js/script.js
@@ -283,9 +283,41 @@ $(document).ready(function() { | @@ -283,9 +283,41 @@ $(document).ready(function() { | ||
283 | } | 283 | } |
284 | ); | 284 | ); |
285 | 285 | ||
286 | - }) | 286 | + }); |
287 | 287 | ||
288 | + $(document).on('click', '.account-delete a', function(e) { | ||
289 | + e.preventDefault(); | ||
290 | + $.ajax( | ||
291 | + { | ||
292 | + url: $(this).attr('href'), | ||
293 | + type: "GET", | ||
294 | + success: function(data) { | ||
295 | + if (data){ | ||
296 | + reloadContent('/author/index'); | ||
297 | + } | ||
298 | + } | ||
299 | + } | ||
300 | + ); | ||
301 | + }); | ||
302 | + function reloadContent(url) { | ||
303 | + $.get(url, { | ||
304 | + }, function(data) { | ||
305 | + var parser = new DOMParser(); | ||
306 | + var el = parser.parseFromString(data, 'text/html'); | ||
307 | + console.log(el.getElementById('tab1').innerHTML); | ||
308 | + $('#tab1') | ||
309 | + .html(el.getElementById('tab1').innerHTML); | ||
310 | + $('#tab2') | ||
311 | + .html(el.getElementById('tab2').innerHTML); | ||
312 | + }) | ||
313 | + .fail(function(data) { | ||
314 | + console.log(data); | ||
315 | + }); | ||
316 | + } | ||
288 | }); | 317 | }); |
318 | + | ||
319 | + | ||
320 | + | ||
289 | function success(message) { | 321 | function success(message) { |
290 | document.querySelector('#success_form .txt-success').innerHTML = message; | 322 | document.querySelector('#success_form .txt-success').innerHTML = message; |
291 | var pos = ($(window) | 323 | var pos = ($(window) |