From f389cee65b3db6e9775c46dbf4a1b0ead516d7d4 Mon Sep 17 00:00:00 2001 From: Yarik Date: Mon, 15 Feb 2016 15:50:51 +0200 Subject: [PATCH] test --- common/models/Vacancy.php | 5 +++++ frontend/controllers/CompanyController.php | 22 +++++++++++++++++++--- frontend/views/company/vacancy-list.php | 41 +++++++++++++++++++++++++++++++++++++---- frontend/views/company/vacancy-view.php | 55 +++++++++++++++++++++++++++++++++++++++++-------------- 4 files changed, 102 insertions(+), 21 deletions(-) diff --git a/common/models/Vacancy.php b/common/models/Vacancy.php index ace7c51..2f899f5 100644 --- a/common/models/Vacancy.php +++ b/common/models/Vacancy.php @@ -135,4 +135,9 @@ $this->employmentInput = $value; } + public function getRequirements() + { + return Fields::getData($this->vacancy_id, Vacancy::className(), 'requirements'); + } + } diff --git a/frontend/controllers/CompanyController.php b/frontend/controllers/CompanyController.php index 377b38b..2234130 100755 --- a/frontend/controllers/CompanyController.php +++ b/frontend/controllers/CompanyController.php @@ -11,6 +11,7 @@ use frontend\models\ContactForm; use frontend\models\Options; use frontend\models\OptionValues; use yii\base\InvalidParamException; +use yii\data\ActiveDataProvider; use yii\helpers\ArrayHelper; use yii\web\BadRequestHttpException; use yii\web\Controller; @@ -121,19 +122,34 @@ class CompanyController extends Controller public function actionVacancyList($company_id) { $company = User::findOne($company_id); - $vacancies = $company->vacancies; + $query = $company->getVacancies(); + $provider = new ActiveDataProvider([ + 'query' => $query, + 'pagination' => [ + 'pageSize' => 2, + ], + 'sort' => [ + 'defaultOrder' => [ + 'date_add' => SORT_DESC, + 'name' => SORT_ASC, + ] + ], + ]); return $this->render('vacancy-list',[ - 'company' => $company + 'company' => $company, + 'provider' => $provider, ]); } public function actionVacancyView($company_id, $vacancy_id) { $company = User::findOne($company_id); + $vacancy = $company->getVacancies()->where(['vacancy_id' => $vacancy_id])->with(['employments'])->one(); return $this->render('vacancy-view',[ - 'company' => $company + 'company' => $company, + 'vacancy' => $vacancy, ]); } diff --git a/frontend/views/company/vacancy-list.php b/frontend/views/company/vacancy-list.php index a1f74a1..015cccc 100755 --- a/frontend/views/company/vacancy-list.php +++ b/frontend/views/company/vacancy-list.php @@ -1,12 +1,43 @@ params['company'] = $company; $this->title = 'My Yii Application'; ?>
Вакансии
+ $provider, + 'itemView' => function($model, $key, $index, $widget) { + $html = + '
' + . Html::a($model->name, ['vacancy-view', 'company_id' => $model->user_id,'vacancy_id' => $model->vacancy_id], ['class' => 'performer-vacant-reclam-bl-title']) . + '
' . $model->city . '. ' . $model->date_add . ' xxxx грн.
+
+ ' . StringHelper::truncateWords($model->description, 50, '...') . '' + . Html::a('', ['vacancy-view', 'company_id' => $model->user_id,'vacancy_id' => $model->vacancy_id], ['class' => 'performer-vacant-reclam-bl-content-read']) . + ' +
+
'; + return $html; + }, + 'options' => [ + 'class' => 'list-view performer-vacancy-vacant-title-reclam-wr style', + ], +]); +?> + +
Инженер-технолог строитель @@ -109,4 +140,6 @@ $this->title = 'My Yii Application';
  • ...
  • 156
  • -
    \ No newline at end of file + +*/ +?> \ No newline at end of file diff --git a/frontend/views/company/vacancy-view.php b/frontend/views/company/vacancy-view.php index 8718e4b..3a90deb 100755 --- a/frontend/views/company/vacancy-view.php +++ b/frontend/views/company/vacancy-view.php @@ -1,29 +1,56 @@ params['company'] = $company; + $this->params[ 'company'] = $company; $this->title = 'My Yii Application'; ?> -
    к списку вакансий
    +
    + $company->id]); + ?> +
    -
    Вакансия от 17.11.2015
    -
    Инженер-технолог строитель
    +
    Вакансия от date_add ?>
    +
    name ?>
      -
    • Контактное лицо:

      Владимир

    • -
    • Телефон:

      096 345-23-42

    • -
    • Город:

      Бровары, ищем в Киеве

    • -
    • Вид занятости:

      полная занятость

    • -
    • Требования:

      опыт работы от 2 лет, высшее образование

    • + user_name)) { + echo "
    • Контактное лицо:

      {$vacancy->user_name}

    • "; + } + ?> +
    • Телефон:

      XXX XXX-XX-XX

    • + city)) { + echo "
    • Город:

      {$vacancy->city}

    • "; + } + ?> + employments)) { + echo "
    • Вид занятости:

      ".implode(', ', ArrayHelper::getColumn($vacancy->employments, 'name'))."

    • "; + } + ?> + requirements)) { + echo "
    • Требования:

      ".implode(', ', ArrayHelper::getColumn($vacancy->requirements, 'requirements'))."

    • "; + } + ?>
    Описание вакансии
    -

    Требования: Инженер технолог строитель. Образование инженер-строитель. Доскональное знание технологиии строительных работ.

    -

    Условия работы: Работа в офисе и командировки на стройки.

    -

    Обязанности: Составление технологических карт, Ведение обучения технологии выполнения общестроительных и отделочных работ. Контроль.качества выполнения строительных работ. Работа с рекламациями. Работа с проектными организациями.

    + description; + ?>