Commit aebb725cc085c7136f59598dd950ae9dcccc8803

Authored by Alexey Boroda
1 parent 512dbac4

-List ready

frontend/controllers/CabinetController.php
@@ -71,7 +71,7 @@ @@ -71,7 +71,7 @@
71 ); 71 );
72 } 72 }
73 73
74 - public function actionSales($id = null) 74 + public function actionSales($id = NULL)
75 { 75 {
76 $newRecord = false; 76 $newRecord = false;
77 if ($id) { 77 if ($id) {
@@ -81,8 +81,13 @@ @@ -81,8 +81,13 @@
81 $newRecord = true; 81 $newRecord = true;
82 } 82 }
83 if ($property->load(\Yii::$app->request->post()) && $property->save()) { 83 if ($property->load(\Yii::$app->request->post()) && $property->save()) {
84 - if($newRecord) {  
85 - return $this->redirect(['cabinet/sales', 'id' => $property->id]); 84 + if ($newRecord) {
  85 + return $this->redirect(
  86 + [
  87 + 'cabinet/sales',
  88 + 'id' => $property->id,
  89 + ]
  90 + );
86 } else { 91 } else {
87 $response = \Yii::$app->response; 92 $response = \Yii::$app->response;
88 $response->format = $response::FORMAT_JSON; 93 $response->format = $response::FORMAT_JSON;
@@ -93,34 +98,50 @@ @@ -93,34 +98,50 @@
93 } 98 }
94 } 99 }
95 100
96 - $table = CreativeRole::find()->where([  
97 - 'intellectual_property_id' => $id  
98 - ])->all(); 101 + $table = CreativeRole::find()
  102 + ->where(
  103 + [
  104 + 'intellectual_property_id' => $id,
  105 + ]
  106 + )
  107 + ->all();
99 108
100 return $this->render( 109 return $this->render(
101 'sales', 110 'sales',
102 [ 111 [
103 'property' => $property, 112 'property' => $property,
104 - 'table' => $table 113 + 'table' => $table,
105 ] 114 ]
106 ); 115 );
107 } 116 }
108 117
109 public function actionList() 118 public function actionList()
110 { 119 {
111 - return $this->render('list'); 120 + $table = IntellectualProperty::find()
  121 + ->where(
  122 + [
  123 + 'user_id' => \Yii::$app->user->identity->id,
  124 + ]
  125 + )
  126 + ->all();
  127 + return $this->render(
  128 + 'list',
  129 + [
  130 + 'table' => $table,
  131 + ]
  132 + );
112 } 133 }
113 134
114 public function actionArrivals() 135 public function actionArrivals()
115 { 136 {
116 return $this->render('arrivals'); 137 return $this->render('arrivals');
117 } 138 }
118 - 139 +
119 public function actionNotifications() 140 public function actionNotifications()
120 { 141 {
121 return $this->render('notifications'); 142 return $this->render('notifications');
122 } 143 }
123 - 144 +
124 public function actionUsers() 145 public function actionUsers()
125 { 146 {
126 return $this->render('users'); 147 return $this->render('users');
@@ -201,14 +222,41 @@ @@ -201,14 +222,41 @@
201 } 222 }
202 } 223 }
203 224
204 - public function actionAddRole() 225 + public function actionDeleteIntProperty()
205 { 226 {
206 $request = \Yii::$app->request; 227 $request = \Yii::$app->request;
207 $response = \Yii::$app->response; 228 $response = \Yii::$app->response;
208 $response->format = $response::FORMAT_JSON; 229 $response->format = $response::FORMAT_JSON;
209 230
210 - $role = new CreativeRole(); 231 + if (!empty($request->post('id'))) {
  232 + $role = IntellectualProperty::findOne($request->post('id'));
  233 + if ($role->delete()) {
  234 + return [
  235 + 'success' => true,
  236 + 'message' => 'Данные успешно удалены',
  237 + ];
  238 + } else {
  239 + return [
  240 + 'error' => true,
  241 + 'message' => 'Ошибка удаления данных',
  242 + ];
  243 + }
  244 + } else {
  245 + return [
  246 + 'error' => true,
  247 + 'message' => 'Элемент не найден',
  248 + ];
  249 + }
  250 + }
211 251
  252 + public function actionAddRole()
  253 + {
  254 + $request = \Yii::$app->request;
  255 + $response = \Yii::$app->response;
  256 + $response->format = $response::FORMAT_JSON;
  257 +
  258 + $role = new CreativeRole();
  259 +
212 if ($role->load($request->post()) && $role->save()) { 260 if ($role->load($request->post()) && $role->save()) {
213 return [ 261 return [
214 'success' => true, 262 'success' => true,
@@ -227,17 +275,32 @@ @@ -227,17 +275,32 @@
227 $request = \Yii::$app->request; 275 $request = \Yii::$app->request;
228 $response = \Yii::$app->response; 276 $response = \Yii::$app->response;
229 $response->format = $response::FORMAT_JSON; 277 $response->format = $response::FORMAT_JSON;
230 -  
231 - return [  
232 - 'message' => 'ok' . $request->post('id'),  
233 - ];  
234 278
  279 + if (!empty($request->post('id'))) {
  280 + $role = CreativeRole::findOne($request->post('id'));
  281 + if ($role->delete()) {
  282 + return [
  283 + 'success' => true,
  284 + 'message' => 'Данные успешно удалены',
  285 + ];
  286 + } else {
  287 + return [
  288 + 'error' => true,
  289 + 'message' => 'Ошибка удаления данных',
  290 + ];
  291 + }
  292 + } else {
  293 + return [
  294 + 'error' => true,
  295 + 'message' => 'Роль не найдена',
  296 + ];
  297 + }
235 } 298 }
236 299
237 public function findProperty($id) 300 public function findProperty($id)
238 { 301 {
239 $model = IntellectualProperty::findOne($id); 302 $model = IntellectualProperty::findOne($id);
240 - if (empty( $model )) { 303 + if (empty($model)) {
241 throw new NotFoundHttpException(); 304 throw new NotFoundHttpException();
242 } 305 }
243 return $model; 306 return $model;
frontend/views/cabinet/list.php
1 <?php 1 <?php
  2 + use frontend\models\IntellectualProperty;
  3 + use yii\helpers\Url;
2 use yii\web\View; 4 use yii\web\View;
3 use yii\widgets\ActiveForm; 5 use yii\widgets\ActiveForm;
4 use yii\widgets\Pjax; 6 use yii\widgets\Pjax;
5 7
6 /** 8 /**
7 - * @var View $this 9 + * @var View $this
  10 + * @var IntellectualProperty[] $table
8 */ 11 */
9 ?> 12 ?>
10 <div class="style cab_content_list"> 13 <div class="style cab_content_list">
11 - <div class="cab_content_list-dropdown">  
12 - <div class="title_forms">Список ОІВ</div>  
13 - <div class="style table-forms-wrapp">  
14 - <table class="table-1 table-2" cellpadding="0" cellspacing="0" border="0">  
15 - <tr>  
16 - <td style="width: 213px;">Назва</td>  
17 - <td style="width: 108px;">Дата створення</td>  
18 - <td>Шифр</td>  
19 - <td>Жанр</td>  
20 - <td style="width: 107px;">Дата реєстрації</td>  
21 - <td>Договір</td>  
22 - <td>Тип</td>  
23 - <td class="refactor-td"></td>  
24 - </tr>  
25 - <tr>  
26 - <td>Нью-Йорк</td>  
27 - <td>03.03.2003</td>  
28 - <td>01P22112016</td>  
29 - <td>пісня</td>  
30 - <td>22.11.2016</td>  
31 - <td>договір</td>  
32 - <td>мала форма</td>  
33 - <td><a href="#" class="edit-table"></a><a href="#" class="remove-table"></a></td>  
34 - </tr>  
35 - <tr>  
36 - <td></td>  
37 - <td></td>  
38 - <td></td>  
39 - <td></td>  
40 - <td></td>  
41 - <td></td>  
42 - <td></td>  
43 - <td><a href="#" class="edit-table"></a><a href="#" class="remove-table"></a></td>  
44 - </tr>  
45 - <tr>  
46 - <td></td>  
47 - <td></td>  
48 - <td></td>  
49 - <td></td>  
50 - <td></td>  
51 - <td></td>  
52 - <td></td>  
53 - <td><a href="#" class="edit-table"></a><a href="#" class="remove-table"></a></td>  
54 - </tr>  
55 - <tr>  
56 - <td></td>  
57 - <td></td>  
58 - <td></td>  
59 - <td></td>  
60 - <td></td>  
61 - <td></td>  
62 - <td></td>  
63 - <td><a href="#" class="edit-table"></a><a href="#" class="remove-table"></a></td>  
64 - </tr>  
65 - <tr>  
66 - <td></td>  
67 - <td></td>  
68 - <td></td>  
69 - <td></td>  
70 - <td></td>  
71 - <td></td>  
72 - <td></td>  
73 - <td><a href="#" class="edit-table"></a><a href="#" class="remove-table"></a></td>  
74 - </tr>  
75 - <tr>  
76 - <td></td>  
77 - <td></td>  
78 - <td></td>  
79 - <td></td>  
80 - <td></td>  
81 - <td></td>  
82 - <td></td>  
83 - <td><a href="#" class="edit-table"></a><a href="#" class="remove-table"></a></td>  
84 - </tr>  
85 - <tr>  
86 - <td></td>  
87 - <td></td>  
88 - <td></td>  
89 - <td></td>  
90 - <td></td>  
91 - <td></td>  
92 - <td></td>  
93 - <td><a href="#" class="edit-table"></a><a href="#" class="remove-table"></a></td>  
94 - </tr>  
95 - <tr>  
96 - <td></td>  
97 - <td></td>  
98 - <td></td>  
99 - <td></td>  
100 - <td></td>  
101 - <td></td>  
102 - <td></td>  
103 - <td><a href="#" class="edit-table"></a><a href="#" class="remove-table"></a></td>  
104 - </tr>  
105 - <tr>  
106 - <td></td>  
107 - <td></td>  
108 - <td></td>  
109 - <td></td>  
110 - <td></td>  
111 - <td></td>  
112 - <td></td>  
113 - <td><a href="#" class="edit-table"></a><a href="#" class="remove-table"></a></td>  
114 - </tr>  
115 - <tr>  
116 - <td></td>  
117 - <td></td>  
118 - <td></td>  
119 - <td></td>  
120 - <td></td>  
121 - <td></td>  
122 - <td></td>  
123 - <td><a href="#" class="edit-table"></a><a href="#" class="remove-table"></a></td>  
124 - </tr>  
125 - <tr>  
126 - <td></td>  
127 - <td></td>  
128 - <td></td>  
129 - <td></td>  
130 - <td></td>  
131 - <td></td>  
132 - <td></td>  
133 - <td><a href="#" class="edit-table"></a><a href="#" class="remove-table"></a></td>  
134 - </tr>  
135 - <tr>  
136 - <td></td>  
137 - <td></td>  
138 - <td></td>  
139 - <td></td>  
140 - <td></td>  
141 - <td></td>  
142 - <td></td>  
143 - <td><a href="#" class="edit-table"></a><a href="#" class="remove-table"></a></td>  
144 - </tr>  
145 - <tr>  
146 - <td></td>  
147 - <td></td>  
148 - <td></td>  
149 - <td></td>  
150 - <td></td>  
151 - <td></td>  
152 - <td></td>  
153 - <td><a href="#" class="edit-table"></a><a href="#" class="remove-table"></a></td>  
154 - </tr>  
155 - <tr>  
156 - <td></td>  
157 - <td></td>  
158 - <td></td>  
159 - <td></td>  
160 - <td></td>  
161 - <td></td>  
162 - <td></td>  
163 - <td><a href="#" class="edit-table"></a><a href="#" class="remove-table"></a></td>  
164 - </tr>  
165 - <tr>  
166 - <td></td>  
167 - <td></td>  
168 - <td></td>  
169 - <td></td>  
170 - <td></td>  
171 - <td></td>  
172 - <td></td>  
173 - <td><a href="#" class="edit-table"></a><a href="#" class="remove-table"></a></td>  
174 - </tr>  
175 - <tr>  
176 - <td></td>  
177 - <td></td>  
178 - <td></td>  
179 - <td></td>  
180 - <td></td>  
181 - <td></td>  
182 - <td></td>  
183 - <td><a href="#" class="edit-table"></a><a href="#" class="remove-table"></a></td>  
184 - </tr>  
185 - </table>  
186 - </div> 14 + <div class="cab_content_list-dropdown">
  15 + <div class="title_forms">Список ОІВ</div>
  16 + <div class="style table-forms-wrapp">
  17 + <?php
  18 + Pjax::begin([
  19 + 'id' => 'int-property-table',
  20 + ]);
  21 + ?>
  22 + <table class="table-1 table-2" cellpadding="0" cellspacing="0" border="0">
  23 + <tr>
  24 + <td style="width: 213px;">Назва</td>
  25 + <td style="width: 108px;">Дата створення</td>
  26 + <td>Шифр</td>
  27 + <td>Жанр</td>
  28 + <td style="width: 107px;">Дата реєстрації</td>
  29 + <td>Договір</td>
  30 + <td>Тип</td>
  31 + <td class="refactor-td"></td>
  32 + </tr>
  33 + <?php
  34 + foreach ($table as $row) {
  35 + ?>
  36 + <tr>
  37 + <td><?= $row->title ?></td>
  38 + <td><?= $row->creation_date ?></td>
  39 + <td><?= $row->code ?></td>
  40 + <td><?= $row->genre ?></td>
  41 + <td><?= $row->registration_date ?></td>
  42 + <td><?= $row->contract ?></td>
  43 + <td><?= $row->type ?></td>
  44 + <td><a href="<?php echo Url::to(
  45 + [
  46 + 'sales',
  47 + 'id' => $row->id,
  48 + ]
  49 + ) ?>" class="edit-table"></a><a href="#" class="remove-table remove-int-prop" data-id="<?=$row->id?>"></a></td>
  50 + </tr>
  51 + <?php
  52 + }
  53 + ?>
  54 + </table>
  55 + <?php
  56 + Pjax::end();
  57 + ?>
187 </div> 58 </div>
  59 + </div>
188 </div> 60 </div>
frontend/web/js/script.js
@@ -293,10 +293,35 @@ $(document).ready(function(){ @@ -293,10 +293,35 @@ $(document).ready(function(){
293 293
294 $(document).on('click', '.delete-role', function(e) { 294 $(document).on('click', '.delete-role', function(e) {
295 e.preventDefault(); 295 e.preventDefault();
  296 + confirm('Удалить роль?');
296 $.post('delete-role', { 297 $.post('delete-role', {
297 id:$(this).attr('data-id') 298 id:$(this).attr('data-id')
298 }, function(data) { 299 }, function(data) {
  300 + var type;
  301 + if(data.error) {
  302 + type = 'danger';
  303 + } else {
  304 + type = 'success';
  305 + }
  306 + showStatus(data.message, type);
  307 + $.pjax.reload('#roles-table');
  308 + });
  309 + });
299 310
  311 + $(document).on('click', '.remove-int-prop', function(e) {
  312 + e.preventDefault();
  313 + confirm('Удалить элемент?');
  314 + $.post('delete-int-property', {
  315 + id:$(this).attr('data-id')
  316 + }, function(data) {
  317 + var type;
  318 + if(data.error) {
  319 + type = 'danger';
  320 + } else {
  321 + type = 'success';
  322 + }
  323 + showStatus(data.message, type);
  324 + $.pjax.reload('#int-property-table');
300 }); 325 });
301 }); 326 });
302 }); 327 });