Commit 0d91ef5d7d048f83df1ac0bf567e1ef0835f8dfa

Authored by Alexey Boroda
1 parent caf85dfb

-Delete action added

frontend/controllers/CabinetController.php
... ... @@ -2,6 +2,7 @@
2 2 namespace frontend\controllers;
3 3  
4 4 use common\models\User;
  5 + use frontend\models\CreativeRole;
5 6 use frontend\models\IntellectualProperty;
6 7 use frontend\models\UserData;
7 8 use frontend\models\UserPassport;
... ... @@ -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 100 return $this->render(
95 101 'sales',
96 102 [
97 103 'property' => $property,
  104 + 'table' => $table
98 105 ]
99 106 );
100 107 }
... ... @@ -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 237 public function findProperty($id)
198 238 {
... ...
frontend/models/CreativeRole.php
1 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 1 <?php
  2 + use frontend\models\CreativeRole;
2 3 use frontend\models\IntellectualProperty;
3 4 use yii\helpers\Html;
4 5 use yii\web\View;
... ... @@ -8,6 +9,7 @@
8 9 /**
9 10 * @var View $this
10 11 * @var IntellectualProperty $property
  12 + * @var CreativeRole[] $table
11 13 */
12 14 ?>
13 15 <div class="style cab_content_list">
... ... @@ -139,12 +141,12 @@
139 141  
140 142 <div class="btn-submit-blue">
141 143 <?php echo Html::button(
142   - 'Добавить',
  144 + 'Додати',
143 145 [
144 146 'type' => 'button',
145 147 'class' => 'add-role-button',
146 148 'data-toggle' => 'modal',
147   - 'data-target' => '#add-composition-modal',
  149 + 'data-target' => '#add-role-modal',
148 150 ]
149 151 ) ?>
150 152 </div>
... ... @@ -152,6 +154,11 @@
152 154 <div class="style wrapp-tabs-table">
153 155 <div class="style table-wrapp-2">
154 156 <div class="hidden-tables-oiv active-tab-oiv">
  157 + <?php
  158 + Pjax::begin([
  159 + 'id' => 'roles-table',
  160 + ]);
  161 + ?>
155 162 <table class="table-1 table-2" cellpadding="0" cellspacing="0" border="0">
156 163 <tr>
157 164 <td>Творча роль</td>
... ... @@ -162,167 +169,26 @@
162 169 <td>Товариство</td>
163 170 <td class="refactor-td"></td>
164 171 </tr>
  172 + <?php
  173 + foreach ($table as $row) {
  174 + ?>
165 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 184 </tr>
  185 + <?php
  186 + }
  187 + ?>
325 188 </table>
  189 + <?php
  190 + Pjax::end();
  191 + ?>
326 192 </div>
327 193 </div>
328 194 </div>
... ... @@ -340,55 +206,55 @@
340 206 </div>
341 207  
342 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 210 <div class="modal-dialog" role="document">
345 211 <div class="modal-content">
346 212 <div class="modal-header">
347 213 <button type="button" class="close" data-dismiss="modal" aria-label="Close">
348 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 216 </div>
351 217 <?php
352 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 226 <div class="modal-body forms-cabinet forms-2">
361 227  
362 228  
363 229  
364 230 <?php
365   - echo $form->field($addIntProp, 'title');
  231 + echo $form->field($addRole, 'title');
366 232 ?>
367 233  
368 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 238 <?php
375   - echo $form->field($addIntProp, 'genre');
  239 + echo $form->field($addRole, 'part');
376 240 ?>
377 241  
378 242 <?php
379   - echo $form->field($addIntProp, 'author_role');
  243 + echo $form->field($addRole, 'code');
380 244 ?>
381 245  
382 246 <?php
383   - echo $form->field($addIntProp, 'percent');
  247 + echo $form->field($addRole, 'iri');
384 248 ?>
385 249  
386 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 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 748  
749 749  
750 750 /* Add modal */
751   -#add-composition-modal .forms-cabinet {
  751 +#add-composition-modal .forms-cabinet, #add-role-modal .forms-cabinet {
752 752 width: 100%;
753 753 margin: 0;
754 754 max-width: 1000px;
755 755 }
756   -#add-composition-modal .modal-footer {
  756 +#add-composition-modal .modal-footer, #add-role-modal .modal-footer {
757 757 border: 0px solid white;
758 758 }
759 759 #myModalLabel {
... ...
frontend/web/js/script.js
... ... @@ -273,6 +273,32 @@ $(document).ready(function(){
273 273  
274 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  
... ...