Blame view

frontend/controllers/CabinetController.php 12.8 KB
3bc9af21   Yarik   Layout
1
2
3
  <?php
      namespace frontend\controllers;
      
8195fc24   Yarik   Models
4
      use common\models\User;
0d91ef5d   Alexey Boroda   -Delete action added
5
      use frontend\models\CreativeRole;
b73541b6   Yarik   Property
6
      use frontend\models\IntellectualProperty;
3533e4e9   Yarik   Forms
7
      use frontend\models\Report;
8195fc24   Yarik   Models
8
9
      use frontend\models\UserData;
      use frontend\models\UserPassport;
b6741a94   Yarik   Login
10
      use yii\filters\AccessControl;
30e3d244   Yarik   Forms
11
      use yii\filters\VerbFilter;
3bc9af21   Yarik   Layout
12
      use yii\web\Controller;
b73541b6   Yarik   Property
13
      use yii\web\NotFoundHttpException;
43cb22d0   Yarik   Property
14
      
3bc9af21   Yarik   Layout
15
16
17
18
19
      /**
       * Cabinet controller
       */
      class CabinetController extends Controller
      {
7f0970a7   Yarik   Layout
20
21
22
          
          public $layout = 'cabinet';
          
3bc9af21   Yarik   Layout
23
24
25
26
27
28
          /**
           * @inheritdoc
           */
          public function behaviors()
          {
              return [
30e3d244   Yarik   Forms
29
                  'verbs' => [
43cb22d0   Yarik   Property
30
                      'class'   => VerbFilter::className(),
30e3d244   Yarik   Forms
31
                      'actions' => [
43cb22d0   Yarik   Property
32
33
                          'personal' => [ 'post' ],
                          'passport' => [ 'post' ],
30e3d244   Yarik   Forms
34
35
                      ],
                  ],
b6741a94   Yarik   Login
36
37
38
39
40
41
42
43
44
                  'access' => [
                      'class' => AccessControl::className(),
                      'rules' => [
                          [
                              'allow' => true,
                              'roles' => ['@'],
                          ],
                      ],
                  ],
3bc9af21   Yarik   Layout
45
46
47
48
49
50
51
52
53
54
              ];
          }
          
          /**
           * Displays index page.
           *
           * @return mixed
           */
          public function actionIndex()
          {
8195fc24   Yarik   Models
55
56
57
58
              /**
               * @var User $user
               */
              $user = \Yii::$app->user->identity;
43cb22d0   Yarik   Property
59
              if (!$userData = $user->userData) {
8195fc24   Yarik   Models
60
61
                  $userData = new UserData();
              }
43cb22d0   Yarik   Property
62
              if (!$userPassport = $user->userPassport) {
8195fc24   Yarik   Models
63
64
                  $userPassport = new UserPassport();
              }
fb0f9630   Alexey Boroda   -Greed ready
65
              
43cb22d0   Yarik   Property
66
              $table = IntellectualProperty::find()
f8eac9c4   Alexey Boroda   -Logout
67
68
69
70
71
  //                                         ->where(
  //                                             [
  //                                                 'user_id' => \Yii::$app->user->identity->id,
  //                                             ]
  //                                         )
43cb22d0   Yarik   Property
72
                                           ->all();
fb0f9630   Alexey Boroda   -Greed ready
73
              
43cb22d0   Yarik   Property
74
75
76
77
78
79
80
81
              return $this->render(
                  'index',
                  [
                      'userData'     => $userData,
                      'userPassport' => $userPassport,
                      'table'        => $table,
                  ]
              );
3bc9af21   Yarik   Layout
82
83
          }
          
3533e4e9   Yarik   Forms
84
          public function actionSales($id = null)
f1b535e4   Yarik   Datepicker
85
          {
43cb22d0   Yarik   Property
86
87
              $newRecord = false;
              if ($id) {
b73541b6   Yarik   Property
88
89
90
                  $property = $this->findProperty($id);
              } else {
                  $property = new IntellectualProperty();
43cb22d0   Yarik   Property
91
                  $newRecord = true;
b73541b6   Yarik   Property
92
              }
43cb22d0   Yarik   Property
93
              if ($property->load(\Yii::$app->request->post()) && $property->save()) {
aebb725c   Alexey Boroda   -List ready
94
95
96
97
98
99
100
                  if ($newRecord) {
                      return $this->redirect(
                          [
                              'cabinet/sales',
                              'id' => $property->id,
                          ]
                      );
43cb22d0   Yarik   Property
101
102
103
104
105
106
107
108
                  } else {
                      $response = \Yii::$app->response;
                      $response->format = $response::FORMAT_JSON;
                      return [
                          'success' => true,
                          'message' => 'Данные успешно сохранены',
                      ];
                  }
b73541b6   Yarik   Property
109
              }
0d91ef5d   Alexey Boroda   -Delete action added
110
              
aebb725c   Alexey Boroda   -List ready
111
112
113
114
115
116
117
              $table = CreativeRole::find()
                                   ->where(
                                       [
                                           'intellectual_property_id' => $id,
                                       ]
                                   )
                                   ->all();
0d91ef5d   Alexey Boroda   -Delete action added
118
              
43cb22d0   Yarik   Property
119
120
121
122
              return $this->render(
                  'sales',
                  [
                      'property' => $property,
aebb725c   Alexey Boroda   -List ready
123
                      'table'    => $table,
43cb22d0   Yarik   Property
124
125
                  ]
              );
f1b535e4   Yarik   Datepicker
126
127
          }
          
caf85dfb   Yarik   Html
128
129
          public function actionList()
          {
aebb725c   Alexey Boroda   -List ready
130
              $table = IntellectualProperty::find()
f8eac9c4   Alexey Boroda   -Logout
131
132
133
134
135
  //                                         ->where(
  //                                             [
  //                                                 'user_id' => \Yii::$app->user->identity->id,
  //                                             ]
  //                                         )
aebb725c   Alexey Boroda   -List ready
136
137
138
139
140
141
142
                                           ->all();
              return $this->render(
                  'list',
                  [
                      'table' => $table,
                  ]
              );
caf85dfb   Yarik   Html
143
144
145
146
          }
          
          public function actionArrivals()
          {
3533e4e9   Yarik   Forms
147
148
149
150
151
152
153
154
155
              $reports = Report::find()
                               ->with('intellectualProperty')
                               ->all();
              return $this->render(
                  'arrivals',
                  [
                      'reports' => $reports,
                  ]
              );
caf85dfb   Yarik   Html
156
          }
aebb725c   Alexey Boroda   -List ready
157
          
caf85dfb   Yarik   Html
158
159
          public function actionNotifications()
          {
00b29a46   Alexey Boroda   -Royalty and table
160
161
162
163
              $table = Report::find()->all();
              return $this->render('notifications', [
                  'table' => $table,
              ]);
caf85dfb   Yarik   Html
164
          }
aebb725c   Alexey Boroda   -List ready
165
          
caf85dfb   Yarik   Html
166
167
          public function actionUsers()
          {
3533e4e9   Yarik   Forms
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
              $reports = Report::find()
                               ->with('intellectualProperty')
                               ->all();
              return $this->render(
                  'users',
                  [
                      'reports' => $reports,
                  ]
              );
          }
          
          public function actionUsersAdd()
          {
              $request = \Yii::$app->request;
              $response = \Yii::$app->response;
              $response->format = $response::FORMAT_JSON;
              /**
               * @var User $user
               */
              $report = new Report();
              if ($report->load($request->post()) && $report->save()) {
                  return [
                      'success' => true,
                      'message' => 'Данные успешно сохранены',
                  ];
              } else {
                  return [
                      'error'   => true,
                      'message' => 'Ошибка сохранения данных',
                  ];
              }
caf85dfb   Yarik   Html
199
200
          }
          
30e3d244   Yarik   Forms
201
202
203
204
205
206
207
208
209
          public function actionPersonal()
          {
              $request = \Yii::$app->request;
              $response = \Yii::$app->response;
              $response->format = $response::FORMAT_JSON;
              /**
               * @var User $user
               */
              $user = \Yii::$app->user->identity;
43cb22d0   Yarik   Property
210
              if (!$userData = $user->userData) {
30e3d244   Yarik   Forms
211
212
213
                  $userData = new UserData();
                  $userData->user_id = $user->id;
              }
43cb22d0   Yarik   Property
214
              if ($userData->load($request->post()) && $userData->save()) {
30e3d244   Yarik   Forms
215
216
217
218
219
220
                  return [
                      'success' => true,
                      'message' => 'Данные успешно сохранены',
                  ];
              } else {
                  return [
43cb22d0   Yarik   Property
221
                      'error'   => true,
30e3d244   Yarik   Forms
222
223
224
225
                      'message' => 'Ошибка сохранения данных',
                  ];
              }
          }
43cb22d0   Yarik   Property
226
          
30e3d244   Yarik   Forms
227
228
229
230
231
232
233
234
235
          public function actionPassport()
          {
              $request = \Yii::$app->request;
              $response = \Yii::$app->response;
              $response->format = $response::FORMAT_JSON;
              /**
               * @var User $user
               */
              $user = \Yii::$app->user->identity;
43cb22d0   Yarik   Property
236
              if (!$userPassport = $user->userPassport) {
30e3d244   Yarik   Forms
237
238
239
                  $userPassport = new UserPassport();
                  $userPassport->user_id = $user->id;
              }
43cb22d0   Yarik   Property
240
              if ($userPassport->load($request->post()) && $userPassport->save()) {
30e3d244   Yarik   Forms
241
242
243
244
245
246
                  return [
                      'success' => true,
                      'message' => 'Данные успешно сохранены',
                  ];
              } else {
                  return [
43cb22d0   Yarik   Property
247
                      'error'   => true,
30e3d244   Yarik   Forms
248
249
250
251
                      'message' => 'Ошибка сохранения данных',
                  ];
              }
          }
43cb22d0   Yarik   Property
252
          
dcfb3d5c   Alexey Boroda   -Form ajax ready
253
254
255
256
257
258
259
260
          public function actionAddIntProp()
          {
              $request = \Yii::$app->request;
              $response = \Yii::$app->response;
              $response->format = $response::FORMAT_JSON;
              
              $intProperty = new IntellectualProperty();
              
fb0f9630   Alexey Boroda   -Greed ready
261
262
              $intProperty->user_id = \Yii::$app->user->identity->id;
              
43cb22d0   Yarik   Property
263
              if ($intProperty->load($request->post()) && $intProperty->save()) {
dcfb3d5c   Alexey Boroda   -Form ajax ready
264
265
266
267
268
269
                  return [
                      'success' => true,
                      'message' => 'Данные успешно сохранены',
                  ];
              } else {
                  return [
43cb22d0   Yarik   Property
270
                      'error'   => true,
dcfb3d5c   Alexey Boroda   -Form ajax ready
271
272
273
274
                      'message' => 'Ошибка сохранения данных',
                  ];
              }
          }
3533e4e9   Yarik   Forms
275
          
aebb725c   Alexey Boroda   -List ready
276
          public function actionDeleteIntProperty()
0d91ef5d   Alexey Boroda   -Delete action added
277
278
279
280
          {
              $request = \Yii::$app->request;
              $response = \Yii::$app->response;
              $response->format = $response::FORMAT_JSON;
3533e4e9   Yarik   Forms
281
282
              
              if (!empty( $request->post('id') )) {
aebb725c   Alexey Boroda   -List ready
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
                  $role = IntellectualProperty::findOne($request->post('id'));
                  if ($role->delete()) {
                      return [
                          'success' => true,
                          'message' => 'Данные успешно удалены',
                      ];
                  } else {
                      return [
                          'error'   => true,
                          'message' => 'Ошибка удаления данных',
                      ];
                  }
              } else {
                  return [
                      'error'   => true,
                      'message' => 'Элемент не найден',
                  ];
              }
          }
0d91ef5d   Alexey Boroda   -Delete action added
302
          
aebb725c   Alexey Boroda   -List ready
303
304
305
306
307
308
309
310
          public function actionAddRole()
          {
              $request = \Yii::$app->request;
              $response = \Yii::$app->response;
              $response->format = $response::FORMAT_JSON;
              
              $role = new CreativeRole();
              
0d91ef5d   Alexey Boroda   -Delete action added
311
312
313
314
315
316
317
318
319
320
321
322
              if ($role->load($request->post()) && $role->save()) {
                  return [
                      'success' => true,
                      'message' => 'Данные успешно сохранены',
                  ];
              } else {
                  return [
                      'error'   => true,
                      'message' => 'Ошибка сохранения данных',
                  ];
              }
          }
9e523ea9   Alexey Boroda   -Update ready
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
      
          public function actionUpdateRole()
          {
              $request = \Yii::$app->request;
              $response = \Yii::$app->response;
              $response->format = $response::FORMAT_JSON;
          
              $role = CreativeRole::findOne($request->get('id'));
      
              if ($role->load($request->post()) && $role->save()) {
                  return [
                      'success' => true,
                      'message' => 'Данные успешно сохранены',
                  ];
              } else {
                  return [
                      'error'   => true,
                      'message' => 'Ошибка сохранения данных',
                  ];
              }
          }
      
          public function actionGetRoleForm()
          {
              $request = \Yii::$app->request;
              $response = \Yii::$app->response;
              $response->format = $response::FORMAT_JSON;
          
              $model = CreativeRole::findOne($request->post('id'));
              
              return [
                  'answer' => $this->renderPartial('_update_form', ['model' => $model])
              ];
          }
0d91ef5d   Alexey Boroda   -Delete action added
357
358
359
360
361
362
          
          public function actionDeleteRole()
          {
              $request = \Yii::$app->request;
              $response = \Yii::$app->response;
              $response->format = $response::FORMAT_JSON;
0d91ef5d   Alexey Boroda   -Delete action added
363
              
3533e4e9   Yarik   Forms
364
              if (!empty( $request->post('id') )) {
aebb725c   Alexey Boroda   -List ready
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
                  $role = CreativeRole::findOne($request->post('id'));
                  if ($role->delete()) {
                      return [
                          'success' => true,
                          'message' => 'Данные успешно удалены',
                      ];
                  } else {
                      return [
                          'error'   => true,
                          'message' => 'Ошибка удаления данных',
                      ];
                  }
              } else {
                  return [
                      'error'   => true,
                      'message' => 'Роль не найдена',
                  ];
              }
0d91ef5d   Alexey Boroda   -Delete action added
383
          }
b73541b6   Yarik   Property
384
385
386
387
          
          public function findProperty($id)
          {
              $model = IntellectualProperty::findOne($id);
3533e4e9   Yarik   Forms
388
              if (empty( $model )) {
b73541b6   Yarik   Property
389
390
391
392
                  throw new NotFoundHttpException();
              }
              return $model;
          }
3bc9af21   Yarik   Layout
393
      }