Esempio n. 1
0
 /**
  * Creates data provider instance with search query applied
  *
  * @param array $params
  *
  * @return ActiveDataProvider
  */
 public function search($params)
 {
     $query = Stage::find();
     $dataProvider = new ActiveDataProvider(['query' => $query, 'sort' => ['defaultOrder' => ['create_time' => SORT_DESC]]]);
     $this->load($params);
     if (!$this->validate()) {
         // uncomment the following line if you do not want to return any records when validation fails
         // $query->where('0=1');
         return $dataProvider;
     }
     $query->andFilterWhere(['id' => $this->id, 'deadline' => $this->deadline, 'status' => $this->status, 'create_time' => $this->create_time, 'update_time' => $this->update_time, 'user_id' => $this->user_id, 'project_id' => $this->project_id]);
     $query->andFilterWhere(['like', 'name', $this->name])->andFilterWhere(['like', 'description', $this->description])->andFilterWhere(['user_id' => Yii::$app->user->identity->id]);
     return $dataProvider;
 }
Esempio n. 2
0
 /**
  * Find Stage by given id
  *
  * @param int $id
  *
  * @return \Illuminate\Support\Collection|null|static|Stage
  */
 public function findStageById($id)
 {
     return Stage::find($id);
 }
Esempio n. 3
0
 public function notifyStage()
 {
     //Samy tupoi variant reweniya uvedomleny
     // $stages = Stage::find()->where(['user_id' => Yii::$app->user->identity->id, 'status' => [R::STAGE_CREATED, R::STAGE_PROCESS, R::STAGE_APPROVED, R::STAGE_DONE], 'notify_status' => R::NOTIFY_ACTIVE])->all();
     $stages = Stage::find()->where(['user_id' => Yii::$app->user->identity->id, 'notify_status' => R::NOTIFY_ACTIVE])->all();
     foreach ($stages as $stage) {
         // if ($stage->notify_times == 1) {
         $stage->notify_status = R::NOTIFY_NOTIFIED;
         $stage->save();
         // } else {
         // $stage->notify_times += 1;
         // $stage->save();
         // }
     }
 }
Esempio n. 4
0
<body>
<?php 
$this->beginBody();
?>

<div class="wrap">
    <?php 
$items = [];
if (!Yii::$app->user->isGuest) {
    $n_sr = isset($this->params['n_sr']) ? $this->params['n_sr'] : false;
    $n_ar = isset($this->params['n_ar']) ? $this->params['n_ar'] : false;
    $n_s = isset($this->params['n_s']) ? $this->params['n_s'] : false;
    $n_a = isset($this->params['n_a']) ? $this->params['n_a'] : false;
    $logout = ['label' => '<img src="' . Yii::$app->user->identity->avatar . '" style="width:16px;height:16px">', 'items' => [['label' => 'Выход', 'url' => ['/site/logout'], 'linkOptions' => ['data-method' => 'post']], ['label' => 'Профиль', 'url' => ['/user/view?id=' . Yii::$app->user->identity->id]]]];
    $manager = Bid::find()->where(['status' => R::BID_SENT_TO_MANAGER])->count();
    $teammate = Stage::find()->where(['user_id' => Yii::$app->user->identity->id, 'status' => R::STAGE_CREATED])->count();
    if (Yii::$app->user->identity->role == R::ADMIN) {
        $items = [['label' => 'Архив', 'items' => [['label' => 'Проекты', 'url' => ['/leader/project-done']], ['label' => 'Поручения', 'url' => ['/leader/assignment-done']]]], ['label' => 'Журнал', 'url' => ['/logbook/logbook/logbooks']], ['label' => 'Пользователи', 'url' => ['/user/index']], ['label' => 'Отчеты' . ($n_sr || $n_ar ? '<span class="circle"></span>' : ''), 'items' => [['label' => 'Проекты' . ($n_sr ? '<span class="circle"></span>' : ''), 'url' => ['/leader/stage-reports']], ['label' => 'Поручения' . ($n_ar ? '<span class="circle"></span>' : ''), 'url' => ['/leader/assignment-reports']]]], ['label' => 'Поручения', 'url' => ['/leader/assignments']], ['label' => 'Проекты', 'url' => ['/leader/index']]];
    }
    if (Yii::$app->user->identity->role == R::DESIGNER || Yii::$app->user->identity->role == R::FRONTEND || Yii::$app->user->identity->role == R::COPYRIGHTER || Yii::$app->user->identity->role == R::PROTOTYPER || Yii::$app->user->identity->role == R::TESTER || Yii::$app->user->identity->role == R::BACKEND || Yii::$app->user->identity->role == R::CONTENTER) {
        $items = [['label' => 'Журнал', 'url' => ['/logbook/logbook/index']], ['label' => 'Отчеты' . ($n_sr || $n_ar ? '<span class="circle"></span>' : ''), 'items' => [['label' => 'Проекты' . ($n_sr ? '<span class="circle"></span>' : ''), 'url' => ['/team/stage-reports']], ['label' => 'Поручения' . ($n_ar ? '<span class="circle"></span>' : ''), 'url' => ['/team/assignment-reports']]]], ['label' => 'Поручения' . ($n_a ? '<span class="circle"></span>' : ''), 'url' => ['/team/assignments']], ['label' => 'Работы' . ($n_s ? '<span class="circle"></span>' : ''), 'url' => ['/team/index']]];
    }
    if (Yii::$app->user->identity->role == R::CLIENT) {
        $items = [['label' => 'Проекты', 'url' => ['/client/projects']], ['label' => 'Уведомления' . ($n_sr ? '<span class="circle"></span>' : ''), 'url' => ['/client/reports']]];
    }
    array_push($items, $logout);
    // array_push($items, $avatar);
} else {
    $items = [['label' => 'Регистрация', 'url' => ['/user/fast-create']], ['label' => 'Вход', 'url' => ['/site/login']]];
}
NavBar::begin(['brandLabel' => 'G5 Control', 'brandUrl' => Yii::$app->homeUrl, 'options' => ['class' => 'navbar-inverse navbar-fixed-top']]);
Esempio n. 5
0
 public function getStageNotification()
 {
     if ($this->role == R::ADMIN) {
         // $bid = Bid::find()->where(['status' => [R::BID_SENT_TO_MANAGER, R::BID_REFUSED_BY_CLIENT, R::BID_APPROVED_BY_CLIENT], 'notify_status' => R::NOTIFY_ACTIVE])->count();
         // if ($bid == 0) {
         //     return false;
         // } else {
         //     return true;
         // }
     } elseif ($this->role == R::DESIGNER || $this->role == R::FRONTEND || $this->role == R::COPYRIGHTER || $this->role == R::PROTOTYPER || $this->role == R::TESTER || $this->role == R::BACKEND || $this->role == R::CONTENTER) {
         $stages = Stage::find()->where(['user_id' => $this->id, 'status' => [R::STAGE_CREATED, R::STAGE_APPROVED, R::STAGE_DONE], 'notify_status' => R::NOTIFY_ACTIVE])->count();
         if ($stages == 0) {
             return false;
         } else {
             return true;
         }
     }
 }