Blame view

frontend/controllers/SearchController.php 3.95 KB
fbdb1f1c   Yarik   test
1
  <?php
35b03e57   Administrator   add yii jquery
2
3
  namespace frontend\controllers;
  
ad6304d6   Yarik   test
4
  use common\models\Currency;
35b03e57   Administrator   add yii jquery
5
  use common\models\CustomerSearch;
ad6304d6   Yarik   test
6
  use common\models\Payment;
35b03e57   Administrator   add yii jquery
7
  use common\models\Specialization;
ad6304d6   Yarik   test
8
  use common\models\TenderSearch;
35b03e57   Administrator   add yii jquery
9
  use frontend\models\SearchPerformerForm;
cda2c1c9   Administrator   add yii jquery
10
  use frontend\models\SearchVacancyForm;
35b03e57   Administrator   add yii jquery
11
  use Yii;
35b03e57   Administrator   add yii jquery
12
13
  use frontend\models\Options;
  use frontend\models\OptionValues;
35b03e57   Administrator   add yii jquery
14
15
  use yii\data\ActiveDataProvider;
  use yii\data\Pagination;
35b03e57   Administrator   add yii jquery
16
  use yii\web\Controller;
35b03e57   Administrator   add yii jquery
17
  use frontend\models\OptionsToValues;
35b03e57   Administrator   add yii jquery
18
19
  use common\models\Page; 
  use frontend\models\Option;
fbdb1f1c   Yarik   test
20
21
  
      /**
2fd40ee7   Yarik   test
22
       * Site controller
fbdb1f1c   Yarik   test
23
       */
2fd40ee7   Yarik   test
24
      class SearchController extends Controller
fbdb1f1c   Yarik   test
25
      {
6dd6c4bf   Administrator   17.02.16
26
  
2fd40ee7   Yarik   test
27
          public $defaultAction = 'common';
fbdb1f1c   Yarik   test
28
  
2fd40ee7   Yarik   test
29
30
31
32
33
34
35
36
          /**
           * @inheritdoc
           */
          public function actions()
          {
              return [
                  'error'   => [
                      'class' => 'yii\web\ErrorAction',
f94a00a6   Yarik   test
37
                  ],
2fd40ee7   Yarik   test
38
39
40
41
42
43
44
45
46
                  'captcha' => [
                      'class'           => 'yii\captcha\CaptchaAction',
                      'fixedVerifyCode' => YII_ENV_TEST ? 'testme' : NULL,
                  ],
              ];
          }
  
          public function actionProject()
          {
ad6304d6   Yarik   test
47
48
              $model = new TenderSearch();
              $dataProvider = $model->search(Yii::$app->request->queryParams);
2f324895   Yarik   test
49
              $dataProvider->query->andWhere(['hidden' => 0]);
ad6304d6   Yarik   test
50
51
              $dataProvider->setPagination([
                  'pageSize' => 10,
2fd40ee7   Yarik   test
52
              ]);
ad6304d6   Yarik   test
53
54
55
              $specialization = Specialization::specializationsList();
              $currencies = Currency::getCurrencyDropdown();
              $payments = Payment::find()->select(['name', 'payment_id'])->asArray()->indexBy('payment_id')->column();
2fd40ee7   Yarik   test
56
              return $this->render('project', [
ad6304d6   Yarik   test
57
58
59
60
61
                  'model' => $model,
                  'dataProvider' => $dataProvider,
                  'specialization' => $specialization,
                  'currencies' => $currencies,
                  'payments' => $payments,
2fd40ee7   Yarik   test
62
63
64
65
66
67
68
69
70
71
              ]);
          }
  
          public function actionCustomer()
          {
              $model = new CustomerSearch();
              $dataProvider = $model->search(Yii::$app->request->queryParams);
              $dataProvider->setPagination([
                  'pageSize' => 5,
              ]);
2fd40ee7   Yarik   test
72
              $model->load(Yii::$app->request->queryParams);
2fd40ee7   Yarik   test
73
74
75
              return $this->render('customer', [
                  'model'        => $model,
                  'dataProvider' => $dataProvider,
2fd40ee7   Yarik   test
76
77
78
              ]);
          }
  
2fd40ee7   Yarik   test
79
  
2fd40ee7   Yarik   test
80
  
cda2c1c9   Administrator   add yii jquery
81
82
83
          public function actionPerformer()
          {
              $specialization = Specialization::specializationsList();
dafc9daf   Administrator   add yii jquery
84
  
cda2c1c9   Administrator   add yii jquery
85
              $searchModel = new SearchPerformerForm();
eb7e82fb   Administrator   29.02.16
86
  
cda2c1c9   Administrator   add yii jquery
87
88
89
90
91
92
              return $this->render('performer',[
                  'dataProvider' => $searchModel->search(Yii::$app->request->queryParams),
                  'specialization' => $specialization,
                  'model'=> $searchModel
              ]);
          }
35b03e57   Administrator   add yii jquery
93
  
cda2c1c9   Administrator   add yii jquery
94
95
          public function actionVacancy()
          {
cda2c1c9   Administrator   add yii jquery
96
              $searchModel = new SearchVacancyForm();
35b03e57   Administrator   add yii jquery
97
  
cda2c1c9   Administrator   add yii jquery
98
              $specialization = Specialization::specializationsList();
eb7e82fb   Administrator   29.02.16
99
  
cda2c1c9   Administrator   add yii jquery
100
              $query = $searchModel->search(Yii::$app->request->queryParams);
eb7e82fb   Administrator   29.02.16
101
  
cda2c1c9   Administrator   add yii jquery
102
              $countQuery = clone $query;
eb7e82fb   Administrator   29.02.16
103
  
2fd40ee7   Yarik   test
104
105
106
107
              $pagination = new Pagination([
                  'totalCount' => $countQuery->count(),
                  'pageSize'   => 15,
              ]);
eb7e82fb   Administrator   29.02.16
108
  
2fd40ee7   Yarik   test
109
              $vacancy = $query->offset($pagination->offset)
cda2c1c9   Administrator   add yii jquery
110
                  ->limit($pagination->limit);
eb7e82fb   Administrator   29.02.16
111
  
cda2c1c9   Administrator   add yii jquery
112
              $dataProvider = new ActiveDataProvider([
2fd40ee7   Yarik   test
113
114
115
116
117
118
119
120
121
                  'query'      => $vacancy,
                  'pagination' => false,
                  'sort'       => [
                      'defaultOrder' => [
                          'date_add' => SORT_DESC,
                          'name'     => SORT_ASC,
                      ],
                  ],
              ]);
eb7e82fb   Administrator   29.02.16
122
  
cda2c1c9   Administrator   add yii jquery
123
124
125
126
127
              return $this->render('vacancy',[
                  'dataProvider' => $dataProvider,
                  'specialization' => $specialization,
                  'model'=> $searchModel,
                  'pagination'=> $pagination
2fd40ee7   Yarik   test
128
              ]);
cda2c1c9   Administrator   add yii jquery
129
  
2fd40ee7   Yarik   test
130
          }
eb7e82fb   Administrator   29.02.16
131
  
7fc05ac5   Yarik   test
132
      }