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 | 168 | |
169 | 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 | 183 | \ No newline at end of file | ... | ... |
frontend/views/author/_book.php
1 | 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 | 85 | </ul> |
86 | 86 | </div> |
87 | 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 | 89 | <?php $form = ActiveForm::begin(['options' => ['enctype' => 'multipart/form-data']])?> |
90 | 90 | <div class="add-book-form-column"> |
91 | 91 | <div class="input-wr"> |
... | ... | @@ -144,7 +144,7 @@ $model = new ChangePassword(); |
144 | 144 | </div> |
145 | 145 | <?php ActiveForm::end()?> |
146 | 146 | </div> |
147 | - <div class="style tabs-account-forms"> | |
147 | + <div class="style tabs-account-forms" id="tab2"> | |
148 | 148 | <div class="style add-project-btn"> |
149 | 149 | <a href="<?=Url::to(['book/add'])?>">додати проект</a> |
150 | 150 | </div> |
... | ... | @@ -153,10 +153,13 @@ $model = new ChangePassword(); |
153 | 153 | /* @var \yii\data\ActiveDataProvider $dataProvider*/ |
154 | 154 | $count = round($dataProvider->getCount()/2, 0, PHP_ROUND_HALF_DOWN); |
155 | 155 | |
156 | - ListView::widget([ | |
156 | + echo ListView::widget([ | |
157 | 157 | 'dataProvider' => $dataProvider, |
158 | 158 | 'itemView' => '_book', |
159 | 159 | 'options' => ['class' => 'account-columns'], |
160 | + 'itemOptions' => [ | |
161 | + 'class' => 'account-columns-row', | |
162 | + ], | |
160 | 163 | 'afterItem' => function ($model, $key, $index) use ($count) { |
161 | 164 | if ($index == $count){ |
162 | 165 | return " | ... | ... |
frontend/views/layouts/main.php
... | ... | @@ -105,7 +105,7 @@ JS; |
105 | 105 | </div> |
106 | 106 | <?php } else { ?> |
107 | 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 | 110 | </a> |
111 | 111 | </div> | ... | ... |
frontend/web/js/script.js
... | ... | @@ -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 | 321 | function success(message) { |
290 | 322 | document.querySelector('#success_form .txt-success').innerHTML = message; |
291 | 323 | var pos = ($(window) | ... | ... |