Commit 0d91ef5d7d048f83df1ac0bf567e1ef0835f8dfa
1 parent
caf85dfb
-Delete action added
Showing
5 changed files
with
192 additions
and
239 deletions
Show diff stats
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">×</span></button> | 214 | <span aria-hidden="true">×</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 |