Commit 0d91ef5d7d048f83df1ac0bf567e1ef0835f8dfa

Authored by Alexey Boroda
1 parent caf85dfb

-Delete action added

frontend/controllers/CabinetController.php
@@ -2,6 +2,7 @@ @@ -2,6 +2,7 @@
2 namespace frontend\controllers; 2 namespace frontend\controllers;
3 3
4 use common\models\User; 4 use common\models\User;
  5 + use frontend\models\CreativeRole;
5 use frontend\models\IntellectualProperty; 6 use frontend\models\IntellectualProperty;
6 use frontend\models\UserData; 7 use frontend\models\UserData;
7 use frontend\models\UserPassport; 8 use frontend\models\UserPassport;
@@ -91,10 +92,16 @@ @@ -91,10 +92,16 @@
91 ]; 92 ];
92 } 93 }
93 } 94 }
  95 +
  96 + $table = CreativeRole::find()->where([
  97 + 'intellectual_property_id' => $id
  98 + ])->all();
  99 +
94 return $this->render( 100 return $this->render(
95 'sales', 101 'sales',
96 [ 102 [
97 'property' => $property, 103 'property' => $property,
  104 + 'table' => $table
98 ] 105 ]
99 ); 106 );
100 } 107 }
@@ -193,6 +200,39 @@ @@ -193,6 +200,39 @@
193 ]; 200 ];
194 } 201 }
195 } 202 }
  203 +
  204 + public function actionAddRole()
  205 + {
  206 + $request = \Yii::$app->request;
  207 + $response = \Yii::$app->response;
  208 + $response->format = $response::FORMAT_JSON;
  209 +
  210 + $role = new CreativeRole();
  211 +
  212 + if ($role->load($request->post()) && $role->save()) {
  213 + return [
  214 + 'success' => true,
  215 + 'message' => 'Данные успешно сохранены',
  216 + ];
  217 + } else {
  218 + return [
  219 + 'error' => true,
  220 + 'message' => 'Ошибка сохранения данных',
  221 + ];
  222 + }
  223 + }
  224 +
  225 + public function actionDeleteRole()
  226 + {
  227 + $request = \Yii::$app->request;
  228 + $response = \Yii::$app->response;
  229 + $response->format = $response::FORMAT_JSON;
  230 +
  231 + return [
  232 + 'message' => 'ok' . $request->post('id'),
  233 + ];
  234 +
  235 + }
196 236
197 public function findProperty($id) 237 public function findProperty($id)
198 { 238 {
frontend/models/CreativeRole.php
1 <?php 1 <?php
2 -  
3 -namespace frontend\models;  
4 -  
5 -/**  
6 - * This is the model class for table "creative_role".  
7 - *  
8 - * @property integer $id  
9 - * @property integer $intellectual_property_id  
10 - * @property string $title  
11 - * @property string $name  
12 - * @property double $part  
13 - * @property string $code  
14 - * @property string $iri  
15 - * @property string $society  
16 - *  
17 - * @property IntellectualProperty $intellectualProperty  
18 - */  
19 -class CreativeRole extends \yii\db\ActiveRecord  
20 -{ 2 +
  3 + namespace frontend\models;
  4 +
21 /** 5 /**
22 - * @inheritdoc 6 + * This is the model class for table "creative_role".
  7 + *
  8 + * @property integer $id
  9 + * @property integer $intellectual_property_id
  10 + * @property string $title
  11 + * @property string $name
  12 + * @property double $part
  13 + * @property string $code
  14 + * @property string $iri
  15 + * @property string $society
  16 + * @property IntellectualProperty $intellectualProperty
23 */ 17 */
24 - public static function tableName() 18 + class CreativeRole extends \yii\db\ActiveRecord
25 { 19 {
26 - return 'creative_role'; 20 + /**
  21 + * @inheritdoc
  22 + */
  23 + public static function tableName()
  24 + {
  25 + return 'creative_role';
  26 + }
  27 +
  28 + /**
  29 + * @inheritdoc
  30 + */
  31 + public function rules()
  32 + {
  33 + return [
  34 + [
  35 + [ 'intellectual_property_id' ],
  36 + 'integer',
  37 + ],
  38 + [
  39 + [ 'part' ],
  40 + 'number',
  41 + ],
  42 + [
  43 + [
  44 + 'title',
  45 + 'name',
  46 + 'code',
  47 + 'iri',
  48 + 'society',
  49 + ],
  50 + 'string',
  51 + 'max' => 255,
  52 + ],
  53 + [
  54 + [ 'intellectual_property_id' ],
  55 + 'exist',
  56 + 'skipOnError' => true,
  57 + 'targetClass' => IntellectualProperty::className(),
  58 + 'targetAttribute' => [ 'intellectual_property_id' => 'id' ],
  59 + ],
  60 + ];
  61 + }
  62 +
  63 + /**
  64 + * @inheritdoc
  65 + */
  66 + public function attributeLabels()
  67 + {
  68 + return [
  69 + 'id' => 'ID',
  70 + 'intellectual_property_id' => 'Intellectual Property ID',
  71 + 'title' => 'Творча роль',
  72 + 'name' => 'ПІБ',
  73 + 'part' => 'Доля %',
  74 + 'code' => 'Код',
  75 + 'iri' => 'IPI',
  76 + 'society' => 'Товариство',
  77 + ];
  78 + }
  79 +
  80 + /**
  81 + * @return \yii\db\ActiveQuery
  82 + */
  83 + public function getIntellectualProperty()
  84 + {
  85 + return $this->hasOne(IntellectualProperty::className(), [ 'id' => 'intellectual_property_id' ]);
  86 + }
27 } 87 }
28 -  
29 - /**  
30 - * @inheritdoc  
31 - */  
32 - public function rules()  
33 - {  
34 - return [  
35 - [['intellectual_property_id'], 'integer'],  
36 - [['part'], 'number'],  
37 - [['title', 'name', 'code', 'iri', 'society'], 'string', 'max' => 255],  
38 - [['intellectual_property_id'], 'exist', 'skipOnError' => true, 'targetClass' => IntellectualProperty::className(), 'targetAttribute' => ['intellectual_property_id' => 'id']],  
39 - ];  
40 - }  
41 -  
42 - /**  
43 - * @inheritdoc  
44 - */  
45 - public function attributeLabels()  
46 - {  
47 - return [  
48 - 'id' => 'ID',  
49 - 'intellectual_property_id' => 'Intellectual Property ID',  
50 - 'title' => 'Title',  
51 - 'name' => 'Name',  
52 - 'part' => 'Part',  
53 - 'code' => 'Code',  
54 - 'iri' => 'Iri',  
55 - 'society' => 'Society',  
56 - ];  
57 - }  
58 -  
59 - /**  
60 - * @return \yii\db\ActiveQuery  
61 - */  
62 - public function getIntellectualProperty()  
63 - {  
64 - return $this->hasOne(IntellectualProperty::className(), ['id' => 'intellectual_property_id']);  
65 - }  
66 -}  
frontend/views/cabinet/sales.php
1 <?php 1 <?php
  2 + use frontend\models\CreativeRole;
2 use frontend\models\IntellectualProperty; 3 use frontend\models\IntellectualProperty;
3 use yii\helpers\Html; 4 use yii\helpers\Html;
4 use yii\web\View; 5 use yii\web\View;
@@ -8,6 +9,7 @@ @@ -8,6 +9,7 @@
8 /** 9 /**
9 * @var View $this 10 * @var View $this
10 * @var IntellectualProperty $property 11 * @var IntellectualProperty $property
  12 + * @var CreativeRole[] $table
11 */ 13 */
12 ?> 14 ?>
13 <div class="style cab_content_list"> 15 <div class="style cab_content_list">
@@ -139,12 +141,12 @@ @@ -139,12 +141,12 @@
139 141
140 <div class="btn-submit-blue"> 142 <div class="btn-submit-blue">
141 <?php echo Html::button( 143 <?php echo Html::button(
142 - 'Добавить', 144 + 'Додати',
143 [ 145 [
144 'type' => 'button', 146 'type' => 'button',
145 'class' => 'add-role-button', 147 'class' => 'add-role-button',
146 'data-toggle' => 'modal', 148 'data-toggle' => 'modal',
147 - 'data-target' => '#add-composition-modal', 149 + 'data-target' => '#add-role-modal',
148 ] 150 ]
149 ) ?> 151 ) ?>
150 </div> 152 </div>
@@ -152,6 +154,11 @@ @@ -152,6 +154,11 @@
152 <div class="style wrapp-tabs-table"> 154 <div class="style wrapp-tabs-table">
153 <div class="style table-wrapp-2"> 155 <div class="style table-wrapp-2">
154 <div class="hidden-tables-oiv active-tab-oiv"> 156 <div class="hidden-tables-oiv active-tab-oiv">
  157 + <?php
  158 + Pjax::begin([
  159 + 'id' => 'roles-table',
  160 + ]);
  161 + ?>
155 <table class="table-1 table-2" cellpadding="0" cellspacing="0" border="0"> 162 <table class="table-1 table-2" cellpadding="0" cellspacing="0" border="0">
156 <tr> 163 <tr>
157 <td>Творча роль</td> 164 <td>Творча роль</td>
@@ -162,167 +169,26 @@ @@ -162,167 +169,26 @@
162 <td>Товариство</td> 169 <td>Товариство</td>
163 <td class="refactor-td"></td> 170 <td class="refactor-td"></td>
164 </tr> 171 </tr>
  172 + <?php
  173 + foreach ($table as $row) {
  174 + ?>
165 <tr> 175 <tr>
166 - <td></td>  
167 - <td></td>  
168 - <td></td>  
169 - <td></td>  
170 - <td></td>  
171 - <td></td>  
172 - <td><a href="#" class="edit-table"></a><a href="#" class="remove-table"></a>  
173 - </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><a href="#" class="edit-table"></a><a href="#" class="remove-table"></a>  
183 - </td>  
184 - </tr>  
185 - <tr>  
186 - <td></td>  
187 - <td></td>  
188 - <td></td>  
189 - <td></td>  
190 - <td></td>  
191 - <td></td>  
192 - <td><a href="#" class="edit-table"></a><a href="#" class="remove-table"></a>  
193 - </td>  
194 - </tr>  
195 - <tr>  
196 - <td></td>  
197 - <td></td>  
198 - <td></td>  
199 - <td></td>  
200 - <td></td>  
201 - <td></td>  
202 - <td><a href="#" class="edit-table"></a><a href="#" class="remove-table"></a>  
203 - </td>  
204 - </tr>  
205 - <tr>  
206 - <td></td>  
207 - <td></td>  
208 - <td></td>  
209 - <td></td>  
210 - <td></td>  
211 - <td></td>  
212 - <td><a href="#" class="edit-table"></a><a href="#" class="remove-table"></a>  
213 - </td>  
214 - </tr>  
215 - <tr>  
216 - <td></td>  
217 - <td></td>  
218 - <td></td>  
219 - <td></td>  
220 - <td></td>  
221 - <td></td>  
222 - <td><a href="#" class="edit-table"></a><a href="#" class="remove-table"></a>  
223 - </td>  
224 - </tr>  
225 - <tr>  
226 - <td></td>  
227 - <td></td>  
228 - <td></td>  
229 - <td></td>  
230 - <td></td>  
231 - <td></td>  
232 - <td><a href="#" class="edit-table"></a><a href="#" class="remove-table"></a>  
233 - </td>  
234 - </tr>  
235 - <tr>  
236 - <td></td>  
237 - <td></td>  
238 - <td></td>  
239 - <td></td>  
240 - <td></td>  
241 - <td></td>  
242 - <td><a href="#" class="edit-table"></a><a href="#" class="remove-table"></a>  
243 - </td>  
244 - </tr>  
245 - <tr>  
246 - <td></td>  
247 - <td></td>  
248 - <td></td>  
249 - <td></td>  
250 - <td></td>  
251 - <td></td>  
252 - <td><a href="#" class="edit-table"></a><a href="#" class="remove-table"></a>  
253 - </td>  
254 - </tr>  
255 - <tr>  
256 - <td></td>  
257 - <td></td>  
258 - <td></td>  
259 - <td></td>  
260 - <td></td>  
261 - <td></td>  
262 - <td><a href="#" class="edit-table"></a><a href="#" class="remove-table"></a>  
263 - </td>  
264 - </tr>  
265 - <tr>  
266 - <td></td>  
267 - <td></td>  
268 - <td></td>  
269 - <td></td>  
270 - <td></td>  
271 - <td></td>  
272 - <td><a href="#" class="edit-table"></a><a href="#" class="remove-table"></a>  
273 - </td>  
274 - </tr>  
275 - <tr>  
276 - <td></td>  
277 - <td></td>  
278 - <td></td>  
279 - <td></td>  
280 - <td></td>  
281 - <td></td>  
282 - <td><a href="#" class="edit-table"></a><a href="#" class="remove-table"></a>  
283 - </td>  
284 - </tr>  
285 - <tr>  
286 - <td></td>  
287 - <td></td>  
288 - <td></td>  
289 - <td></td>  
290 - <td></td>  
291 - <td></td>  
292 - <td><a href="#" class="edit-table"></a><a href="#" class="remove-table"></a>  
293 - </td>  
294 - </tr>  
295 - <tr>  
296 - <td></td>  
297 - <td></td>  
298 - <td></td>  
299 - <td></td>  
300 - <td></td>  
301 - <td></td>  
302 - <td><a href="#" class="edit-table"></a><a href="#" class="remove-table"></a>  
303 - </td>  
304 - </tr>  
305 - <tr>  
306 - <td></td>  
307 - <td></td>  
308 - <td></td>  
309 - <td></td>  
310 - <td></td>  
311 - <td></td>  
312 - <td><a href="#" class="edit-table"></a><a href="#" class="remove-table"></a>  
313 - </td>  
314 - </tr>  
315 - <tr>  
316 - <td></td>  
317 - <td></td>  
318 - <td></td>  
319 - <td></td>  
320 - <td></td>  
321 - <td></td>  
322 - <td><a href="#" class="edit-table"></a><a href="#" class="remove-table"></a>  
323 - </td> 176 + <td><?= $row->title ?></td>
  177 + <td><?= $row->name ?></td>
  178 + <td><?= $row->part ?></td>
  179 + <td><?= $row->code ?></td>
  180 + <td><?= $row->iri ?></td>
  181 + <td><?= $row->society ?></td>
  182 + <td><a href="#" class="edit-table"></a><a href="#" class="remove-table delete-role" data-id="<?=$row->id?>"></a>
  183 + </td>
324 </tr> 184 </tr>
  185 + <?php
  186 + }
  187 + ?>
325 </table> 188 </table>
  189 + <?php
  190 + Pjax::end();
  191 + ?>
326 </div> 192 </div>
327 </div> 193 </div>
328 </div> 194 </div>
@@ -340,55 +206,55 @@ @@ -340,55 +206,55 @@
340 </div> 206 </div>
341 207
342 <!-- Modal --> 208 <!-- Modal -->
343 -<div class="modal fade" id="add-composition-modal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"> 209 +<div class="modal fade" id="add-role-modal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
344 <div class="modal-dialog" role="document"> 210 <div class="modal-dialog" role="document">
345 <div class="modal-content"> 211 <div class="modal-content">
346 <div class="modal-header"> 212 <div class="modal-header">
347 <button type="button" class="close" data-dismiss="modal" aria-label="Close"> 213 <button type="button" class="close" data-dismiss="modal" aria-label="Close">
348 <span aria-hidden="true">&times;</span></button> 214 <span aria-hidden="true">&times;</span></button>
349 - <h4 class="modal-title" id="myModalLabel">Додати твір</h4> 215 + <h4 class="modal-title" id="myModalLabel">Додати роль</h4>
350 </div> 216 </div>
351 <?php 217 <?php
352 $form = ActiveForm::begin( 218 $form = ActiveForm::begin(
353 [ 219 [
354 - 'action' => 'add-int-prop',  
355 - 'id' => 'add-int-prop-form', 220 + 'action' => 'add-role',
  221 + 'id' => 'add-role-form',
356 ] 222 ]
357 ); 223 );
358 - $addIntProp = new IntellectualProperty(); 224 + $addRole = new CreativeRole();
359 ?> 225 ?>
360 <div class="modal-body forms-cabinet forms-2"> 226 <div class="modal-body forms-cabinet forms-2">
361 227
362 228
363 229
364 <?php 230 <?php
365 - echo $form->field($addIntProp, 'title'); 231 + echo $form->field($addRole, 'title');
366 ?> 232 ?>
367 233
368 <?php 234 <?php
369 - echo $form->field($addIntProp, 'registration_date')->textInput([  
370 - 'class' => '_datepicker form-control',  
371 - ]); 235 + echo $form->field($addRole, 'name');
372 ?> 236 ?>
373 237
374 <?php 238 <?php
375 - echo $form->field($addIntProp, 'genre'); 239 + echo $form->field($addRole, 'part');
376 ?> 240 ?>
377 241
378 <?php 242 <?php
379 - echo $form->field($addIntProp, 'author_role'); 243 + echo $form->field($addRole, 'code');
380 ?> 244 ?>
381 245
382 <?php 246 <?php
383 - echo $form->field($addIntProp, 'percent'); 247 + echo $form->field($addRole, 'iri');
384 ?> 248 ?>
385 249
386 <?php 250 <?php
387 - echo $form->field($addIntProp, 'calculated'); 251 + echo $form->field($addRole, 'society');
388 ?> 252 ?>
389 -  
390 - <?php  
391 - echo $form->field($addIntProp, 'play_count'); 253 +
  254 + <?php
  255 + echo $form->field($addRole, 'intellectual_property_id')->hiddenInput([
  256 + 'value' => $property->id,
  257 + ])->label(false);
392 ?> 258 ?>
393 259
394 </div> 260 </div>
frontend/web/css/cabinet-style.css
@@ -748,12 +748,12 @@ ul.list-cab li.active-li ul li.active-li-drop span.act_bg { @@ -748,12 +748,12 @@ ul.list-cab li.active-li ul li.active-li-drop span.act_bg {
748 748
749 749
750 /* Add modal */ 750 /* Add modal */
751 -#add-composition-modal .forms-cabinet { 751 +#add-composition-modal .forms-cabinet, #add-role-modal .forms-cabinet {
752 width: 100%; 752 width: 100%;
753 margin: 0; 753 margin: 0;
754 max-width: 1000px; 754 max-width: 1000px;
755 } 755 }
756 -#add-composition-modal .modal-footer { 756 +#add-composition-modal .modal-footer, #add-role-modal .modal-footer {
757 border: 0px solid white; 757 border: 0px solid white;
758 } 758 }
759 #myModalLabel { 759 #myModalLabel {
frontend/web/js/script.js
@@ -273,6 +273,32 @@ $(document).ready(function(){ @@ -273,6 +273,32 @@ $(document).ready(function(){
273 273
274 return false; 274 return false;
275 }); 275 });
  276 +
  277 + $(document).on('beforeSubmit', '#add-role-form', function() {
  278 + $.post($(this).attr('action'), $(this).serialize(), function(data) {
  279 + var type;
  280 + if(data.error) {
  281 + type = 'danger';
  282 + } else {
  283 + type = 'success';
  284 + }
  285 + $('#add-role-modal').modal('hide');
  286 + showStatus(data.message, type);
  287 + $.pjax.reload('#roles-table');
  288 + document.getElementById('add-role-form').reset();
  289 + });
  290 +
  291 + return false;
  292 + });
  293 +
  294 + $(document).on('click', '.delete-role', function(e) {
  295 + e.preventDefault();
  296 + $.post('delete-role', {
  297 + id:$(this).attr('data-id')
  298 + }, function(data) {
  299 +
  300 + });
  301 + });
276 }); 302 });
277 303
278 304