public function actionFunctionalities($id = 3) { $project = Project::findOne($id); $monthly = Functionality::find()->where("price > 1 AND project_id = " . $id . " AND monthly_costs = 1")->all(); //All(['project_id' => $id, 'monthly_costs' => 1],['price','>',1]); $once = Functionality::find()->where("price > 1 AND project_id = " . $id . " AND monthly_costs = 0")->all(); //(['project_id' => $id, 'monthly_costs' => 0],['price','>',1]); $solidCostsMonthly = new Functionality(); $solidCostsMonthly->name = "Vaste Maandelijkse Kosten"; $solidCostsMonthly->price = 39.95; array_push($monthly, $solidCostsMonthly); $solidCostOnce = new Functionality(); $solidCostOnce->name = "Vaste maandelijkse kosten"; $solidCostOnce->price = 250; array_push($once, $solidCostOnce); // var_dump($monthly); exit; $oneOffDataProvider = new ArrayDataProvider(['allModels' => $once]); $monthlyDataProvider = new ArrayDataProvider(['allModels' => $monthly]); $this->layout = '@common/mail/layouts/html'; $totalMonthly = 0; foreach ($monthlyDataProvider->allModels as $model) { $totalMonthly += $model->price; } $totalOnce = 0; foreach ($oneOffDataProvider->allModels as $model) { $totalOnce += $model->price; } return $this->render('@common/mail/overviewMail-html', ['oneOffDataProvider' => $oneOffDataProvider, 'monthlyDataProvider' => $monthlyDataProvider, 'totalMonthly' => $totalMonthly, 'totalOnce' => $totalOnce]); }
<div class="project-view"> <h1><?php echo Html::encode($this->title); ?> </h1> <p> <?php echo Html::a(Yii::t('common', 'Update'), ['update', 'id' => $model->project_id], ['class' => 'btn btn-primary']); ?> <?php echo Html::a(Yii::t('common', 'Delete'), ['delete', 'id' => $model->project_id], ['class' => 'btn btn-danger', 'data' => ['confirm' => Yii::t('common', 'Are you sure you want to delete this item?'), 'method' => 'post']]); ?> </p> <?php echo DetailView::widget(['model' => $model, 'attributes' => ['description', 'datetime_added:datetime', 'deleted:boolean', ['label' => Yii::t('user', 'Creator'), 'value' => $model->creator->username], ['label' => Yii::t('customer', 'Client'), 'value' => $model->client->name], ['label' => Yii::t('user', 'Project manager'), 'value' => $model->projectmanager_id ? $model->projectmanager->username : $model->projectmanager_id], 'datetime_updated:datetime', ['label' => Yii::t('user', 'Updater'), 'value' => $model->updater->username]]]); ?> <h2><?php Yii::t('project', 'Functionalities for this project'); ?> </h2> <?php echo GridView::widget(['dataProvider' => new ActiveDataProvider(['query' => Functionality::find()->where(['project_id' => $model->project_id])->with('creator', 'updater')]), 'columns' => [['class' => 'yii\\grid\\SerialColumn'], 'project_id', 'name', 'description', 'datetime_added:datetime', ['label' => \Yii::t('project', 'Creator'), 'value' => 'creator.username'], 'datetime_updated:datetime', ['label' => \Yii::t('project', 'Updater'), 'value' => 'updater.username'], 'deleted:boolean', ['class' => 'yii\\grid\\ActionColumn', 'controller' => 'functionality']]]); ?> </div>
/** * Finds the Functionality model based on its primary key value. * If the model is not found, a 404 HTTP exception will be thrown. * @param integer $id * @return Functionality the loaded model * @throws NotFoundHttpException if the model cannot be found */ protected function findModel($id) { if (($model = Functionality::findOne($id)) !== null) { return $model; } else { throw new NotFoundHttpException('The requested page does not exist.'); } }
public function saveAsFunctionality($project_id) { $functionality = new Functionality(); $functionality->project_id = $project_id; $functionality->name = $this->name; $functionality->price = round($this->price, 2); $functionality->amount = 1; $functionality->description = $this->description; $functionality->deleted = false; if (!$functionality->validate()) { return false; } else { return $functionality->save(); } }
/** * @return \yii\db\ActiveQuery */ public function getFunctionalities() { return $this->hasMany(Functionality::className(), ['project_id' => 'project_id']); }
/** * * @param Model $step * @param integer $project_id * @param integer $uid * @return string $comments */ private function saveFunctionalities($step, $project_id, $uid) { $comment = ''; foreach ($step->attributes as $key => $attribute) { if (!empty($attribute)) { if ($key == 'comment') { $comment = $attribute; } else { $bidpart = BidPart::find()->where(['attribute_name' => $key])->one(); if ($bidpart->file_upload) { $file = new File(); $file->name = $attribute->baseName . '.' . $attribute->extension; $file->description = $bidpart->description; $file->project_id = $project_id; $file->todo_id = null; $file->deleted = 0; $file->creator_id = $uid; $file->updater_id = $uid; $file->save(); rename($this->tempFileLocation . $file->name, $this->permFileLocation . $project_id . '/' . $file->name); } else { $functionality = new Functionality(); $functionality->name = $bidpart->name; $functionality->description = $attribute; $functionality->project_id = $project_id; $functionality->deleted = 0; $functionality->amount = 1; $functionality->price = $bidpart->price; $functionality->creator_id = $uid; $functionality->updater_id = $uid; $functionality->monthly_costs = $bidpart->monthly_costs; $functionality->save(false); } } } } return $comment; }
/** * @return \yii\db\ActiveQuery */ public function getFunctionality() { return $this->hasOne(Functionality::className(), ['functionality_id' => 'functionality_id']); }
protected function findModels($pid) { if (($models = Functionality::findAll(['project_id' => $pid])) != null) { return $models; } else { throw new NotFoundHttpException('The requested page does not exist.'); } }
/** * @return \yii\db\ActiveQuery */ public function getFunctionalities0() { return $this->hasMany(Functionality::className(), ['updater_id' => 'id']); }
?> <?php echo $form->field($model, 'name')->textInput(['maxlength' => true]); ?> <?php echo $form->field($model, 'description')->textInput(); ?> <?php echo $form->field($model, 'status_id')->textInput(); ?> <?php echo $form->field($model, 'functionality_id')->dropdownList(ArrayHelper::map(Functionality::find()->all(), 'functionality_id', 'name')); ?> <?php echo $form->field($model, 'deleted')->checkBox(['label' => 'Deleted']); ?> <div class="form-group"> <?php echo Html::submitButton($model->isNewRecord ? Yii::t('common', 'Create') : Yii::t('common', 'Update'), ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']); ?> </div> <?php ActiveForm::end(); ?>
echo DetailView::widget(['model' => $model, 'attributes' => [['attribute' => 'client_id', 'format' => 'raw', 'value' => Html::a($model->client->name, ['/customer/view', 'id' => $model->client_id])], ['label' => Yii::t('project', 'Projectmanager'), 'value' => $model->projectmanager_id ? $model->projectmanager->username : $model->projectmanager_id], ['label' => Yii::t('project', 'Creator'), 'value' => $model->creator->username], 'datetime_added:datetime', ['label' => Yii::t('project', 'Updater'), 'value' => $model->updater->username], 'datetime_updated:datetime']]); ?> <h2><?php echo Yii::t('project', 'Functionalities for this project'); ?> </h2> <p> <?php echo Yii::$app->user->can('editProject') ? Html::a(Yii::t('project', 'Add functionality'), ['functionality/create', 'pid' => $model->project_id], ['class' => 'btn btn-success']) : Html::a(''); ?> </p> <?php echo GridView::widget(['dataProvider' => new ActiveDataProvider(['query' => Functionality::findNonDeleted(['project_id' => $model->project_id])->with('creator', 'updater')]), 'columns' => [['class' => 'yii\\grid\\SerialColumn'], 'name', 'description', 'price:currency', 'todoAmount', ['class' => 'yii\\grid\\ActionColumn', 'controller' => 'functionality']]]); ?> <h2><?php echo Yii::t('project', 'Files for this project'); ?> </h2> <p><?php echo Html::a(Yii::t('file', 'Create file'), ['/file/create', 'pid' => $model->project_id], ['class' => 'btn btn-success']); ?> </p> <?php echo GridView::widget(['dataProvider' => new ActiveDataProvider(['query' => File::findNonDeleted(['project_id' => $model->project_id])->with('creator', 'updater')]), 'columns' => [['class' => 'yii\\grid\\SerialColumn'], 'name', 'description', ['class' => 'yii\\grid\\ActionColumn', 'controller' => 'file']]]); ?>