/** * Displays a single Card model. * * @param string $id * * @return mixed */ public function actionView($id) { $searchModel = new SalesSearch(); // $param = Yii::$app->request->getQueryParams(); $param['SalesSearch']['card'] = $id; $dataProvider = $searchModel->search($param); return $this->render('view', ['model' => $this->findModel($id), 'sales' => Sales::find(['card' => $id]), 'dataProvider' => $dataProvider, 'searchModel' => $searchModel]); }
public function search($params) { $query = Sales::find(); $dataProvider = new ActiveDataProvider(['query' => $query]); if (!($this->load($params) && $this->validate())) { return $dataProvider; } $query->andFilterWhere(['id' => $this->id, 'sum' => $this->sum, 'card' => $this->card]); $query->andFilterWhere(['like', 'name', $this->name]); return $dataProvider; }
/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = Sales::find(); // add conditions that should always apply here $dataProvider = new ActiveDataProvider(['query' => $query]); $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; } // grid filtering conditions $query->andFilterWhere(['id' => $this->id, 'discount' => $this->discount, 'quantity' => $this->quantity]); $query->andFilterWhere(['like', 'title', $this->title]); return $dataProvider; }
public function save_history($input, Lead $lead = null) { $is_admin = $is_sales = $is_member = false; if (is_null($lead)) { return false; } $lead_history = new LeadHistory(); $lead_history->lead_id = $lead->id; if (isset($input['is_admin'])) { $lead_history->admin_id = $input['is_admin']; } if (isset($input['is_sales'])) { $lead_history->sales_id = $input['is_sales']; } if (isset($input['is_member'])) { $lead_history->member_id = $input['is_member']; } # check if status changed if ($input['status'] != $lead->status) { $lead_history->old_status = $lead->status; $lead_history->new_status = $input['status']; $lead->status = $input['status']; } # check if sales assigned if (isset($input['sales_id']) and !empty($input['sales_id'])) { if ($lead->sales_id != $input['sales_id']) { $lead_history->old_sales_id = $lead->sales_id; $lead_history->new_sales_id = $input['sales_id']; $lead->sales_id = $input['sales_id']; } } # check if there any notes if (!empty($input['notes'])) { $lead_history->notes = $input['notes']; } # if no new status update and no notes, don't save and throw error if (is_null($lead_history->new_sales_id) && is_null($lead_history->new_status) && is_null($lead_history->notes)) { return redirect()->back()->withErrors('Please insert notes, assign sales or change lead status to save history')->send(); } else { $lead->save(); $lead_history->save(); if (!is_null($lead_history->new_sales_id)) { $sales = Sales::find($lead_history->new_sales_id); app('events')->fire('lead.assign_sales', [$lead, $sales, $lead_history->notes]); } if (!is_null($lead_history->new_status)) { app('events')->fire('member.lead.status_update', [$lead, $lead_history->notes]); } return $lead_history; } }
public function afterDelete() { $sales = Sales::find()->where(['card' => $this->no])->all(); foreach ($sales as $sale) { $sale->delete(); } }