Commit 0e25b1791e93d4b9c2a556ca0b521ff365802530

Authored by Anastasia
1 parent db1feeef

author page projects

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)