/** * Run the database seeds. * * @return void */ public function run() { DB::table('templates')->delete(); for ($i = 0; $i < 6; $i++) { Template::create(['url' => 'assets/templates/P' . ($i + 1) . '.jpg', 'name' => 'Template ' . $i + 1]); } }
public function edit($id) { $param['pageNo'] = 3; $result = TemplateModel::find($id); $param['template'] = $result; return View::make('templates.edit')->with($param); }
public function edit($id) { $param['pageNo'] = 1; $result = DomainModel::find($id); $param['domain'] = $result; $param['language'] = LanguageModel::all(); $param['template'] = TemplateModel::all(); return View::make('domains.edit')->with($param); }
/** * @inheritdoc */ public function beforeDelete() { if (parent::beforeDelete()) { // Delete relation with Forms Template::updateAll(['category_id' => null], ['category_id' => $this->id]); return true; } else { return false; } }
/** * Lists all Form models. * * @return mixed */ public function actionIndex() { $searchModel = new FormSearch(); $dataProvider = $searchModel->search(Yii::$app->request->queryParams); // Only for admin users if (!empty(Yii::$app->user) && Yii::$app->user->can("admin") && $dataProvider->totalCount == 0) { Yii::$app->getSession()->setFlash('warning', Html::tag('strong', Yii::t("app", "You don't have any forms!")) . ' ' . Yii::t("app", "Click the blue button on the left to start building your first form.")); } // Select slug & name of all promoted templates in the system. Limit to 5 results. $templates = Template::find()->select(['slug', 'name'])->where(['promoted' => Template::PROMOTED_ON])->limit(5)->orderBy('updated_at DESC')->asArray()->all(); return $this->render('index', ['searchModel' => $searchModel, 'dataProvider' => $dataProvider, 'templates' => $templates]); }
public function run() { $faker = Faker::create('zh_CN'); $user = User::where('name', '=', 'user')->first(); $userId = isset($user) ? $user->id : 0; $template = Template::first(); $templateId = isset($template) ? $template->id : 0; $publicPath = app('path.public'); $dirPath = $publicPath . '/uploads/images/fakers'; $urlDirPath = '/uploads/images/fakers'; $end_at = (new DateTime())->modify('+1 Year'); DB::table('poster_themes')->delete(); foreach (range(1, 3) as $index) { PosterTheme::create(['user_id' => $userId, 'template_id' => $templateId, 'site_url' => $faker->url, 'status' => 1, 'image100x450' => URL($urlDirPath . '/' . $faker->image($dirPath, 100, 450, null, false)), 'image1000x90' => URL($urlDirPath . '/' . $faker->image($dirPath, 1000, 90, null, false)), 'end_at' => $end_at, 'created_at' => new DateTime(), 'updated_at' => new DateTime()]); } }
/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = Template::find(); // add conditions that should always apply here $dataProvider = new ActiveDataProvider(['query' => $query, 'pagination' => ['pageSize' => Yii::$app->params['GridView.pagination.pageSize']], 'sort' => ['defaultOrder' => ['updated_at' => 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; } // grid filtering conditions $query->andFilterWhere(['id' => $this->id, 'category_id' => $this->category_id, 'promoted' => $this->promoted, 'created_by' => $this->created_by, 'updated_by' => $this->updated_by, 'created_at' => $this->created_at, 'updated_at' => $this->updated_at]); $query->andFilterWhere(['like', 'name', $this->name])->andFilterWhere(['like', 'description', $this->description])->andFilterWhere(['like', 'builder', $this->builder])->andFilterWhere(['like', 'html', $this->html]); return $dataProvider; }
/** * Store an employeer * * 1. Save Employee * 2. Save Contacts * 3. Save Private Documents * 4. Save Careers * 5. Save Work Experience * 6. Save Marital Status * @return Response */ public function store($org_id = null) { if (!Input::has('employee')) { return new JSend('error', (array) Input::all(), 'Tidak ada data employee.'); } $errors = new MessageBag(); DB::beginTransaction(); //1. Validate employee Parameter $employee = Input::get('employee'); if (is_null($employee['id'])) { $is_new = true; } else { $is_new = false; } $employee_rules = ['organisation_id' => 'exists:organisations,id', 'uniqid' => 'max:255|unique:persons,uniqid,' . (!is_null($employee['id']) ? $employee['id'] : ''), 'username' => 'max:255|unique:persons,username,' . (!is_null($employee['id']) ? $employee['id'] : ''), 'name' => 'required|max:255', 'prefix_title' => 'max:255', 'suffix_title' => 'max:255', 'place_of_birth' => 'max:255', 'date_of_birth' => 'date_format:"Y-m-d H:i:s"', 'gender' => 'in:female,male', 'password' => 'max:255']; //1a. Get original data $employee_data = \App\Models\Employee::findornew($employee['id']); //1b. Validate Basic Employee Parameter $validator = Validator::make($employee, $employee_rules); if (!$validator->passes()) { $errors->add('Employee', $validator->errors()); } else { //if validator passed, save Employee $employee_data = $employee_data->fill($employee); if (!$employee_data->save()) { $errors->add('Employee', $employee_data->getError()); } } //End of validate Employee //2. Validate Employee contact Parameter if (!$errors->count() && isset($employee['contacts']) && is_array($employee['contacts'])) { $contact_current_ids = []; foreach ($employee['contacts'] as $key => $value) { if (!$errors->count()) { $contact_data = \App\Models\PersonContact::findornew($value['id']); $contact_rules = ['person_id' => 'exists:persons,id|' . ($is_new ? '' : 'in:' . $employee_data['id']), 'person_type' => !$contact_data ? '' : 'in:' . get_class($employee_data), 'item' => 'required|max:255', 'is_default' => 'boolean']; $validator = Validator::make($value, $contact_rules); //if there was contact and validator false if (!$validator->passes()) { $errors->add('contact', $validator->errors()); } else { $value['person_id'] = $employee_data['id']; $value['person_type'] = get_class($employee_data); $contact_data = $contact_data->fill($value); if (!$contact_data->save()) { $errors->add('contact', $contact_data->getError()); } else { $contact_current_ids[] = $contact_data['id']; } } } } //if there was no error, check if there were things need to be delete if (!$errors->count()) { $contacts = \App\Models\PersonContact::personid($employee['id'])->get(['id'])->toArray(); $contact_should_be_ids = []; foreach ($contacts as $key => $value) { $contact_should_be_ids[] = $value['id']; } $difference_contact_ids = array_diff($contact_should_be_ids, $contact_current_ids); if ($difference_contact_ids) { foreach ($difference_contact_ids as $key => $value) { $contact_data = \App\Models\PersonContact::find($value); if (!$contact_data->delete()) { $errors->add('contact', $contact_data->getError()); } } } } } //End of validate employee contact //3. Validate Employee privatedocument Parameter if (!$errors->count() && isset($employee['privatedocuments']) && is_array($employee['privatedocuments'])) { $pd_current_ids = []; foreach ($employee['privatedocuments'] as $key => $value) { if (!$errors->count()) { $param = []; $pd_data = \App\Models\PrivateDocument::findornew($value['id']); $pd_rules = ['document_id' => 'exists:tmp_documents,id|' . ($is_new ? '' : 'in:' . $value['document_id']), 'person_id' => 'exists:persons,id|' . ($is_new ? '' : 'in:' . $employee_data['id'])]; $validator = Validator::make($value, $pd_rules); //if there was privatedocument and validator false if (!$validator->passes()) { $errors->add('privatedocument', $validator->errors()); } else { $value['person_id'] = $employee_data['id']; $pd_data = $pd_data->fill($value); if (!$pd_data->save()) { $errors->add('privatedocument', $pd_data->getError()); } else { $pd_current_ids[] = $pd_data['id']; } } //check template $dd_current_ids = []; foreach ($value['documentdetails'] as $key2 => $value2) { if (!$errors->count()) { $dd_data = \App\Models\DocumentDetail::findornew($value2['id']); $dd_rules = ['person_document_id' => 'exists:persons_documents,id|' . ($is_new ? '' : 'in:' . $pd_data['id']), 'template_id' => 'exists:tmp_templates,id']; $validator = Validator::make($value2, $dd_rules); $template_data = \App\Models\Template::find($value2['template_id']); if ($template_data) { //if there was dd and validator false if (!$validator->passes()) { $errors->add('dd', $validator->errors()); } else { $param[$template_data['type'] == 'date' ? 'on' : strtolower($template_data['type'])] = $value2[$template_data['type'] == 'date' ? 'on' : strtolower($template_data['type'])]; $param['template_id'] = $template_data['id']; $param['person_document_id'] = $pd_data['id']; if (isset($param['on'])) { $param['on'] = date('Y-m-d H:i:s', strtotime($param['on'])); } $dd_data = $dd_data->fill($param); if (!$dd_data->save()) { $errors->add('dd', $dd_data->getError()); } else { $dd_current_ids[] = $dd_data['id']; } } } } } //if there was no error, check if there were things need to be delete if (!$errors->count()) { $dds = \App\Models\DocumentDetail::persondocumentid($pd_data['id'])->get(['id'])->toArray(); $dd_should_be_ids = []; foreach ($dds as $key2 => $value2) { $dd_should_be_ids[] = $value2['id']; } $difference_dd_ids = array_diff($dd_should_be_ids, $dd_current_ids); if ($difference_dd_ids) { foreach ($difference_dd_ids as $key2 => $value2) { $dd_data = \App\Models\DocumentDetail::find($value2); if (!$dd_data->delete()) { $errors->add('dd', $dd_data->getError()); } } } } } } //if there was no error, check if there were things need to be delete if (!$errors->count()) { $privatedocuments = \App\Models\PrivateDocument::personid($employee['id'])->get(['id'])->toArray(); $pd_should_be_ids = []; foreach ($privatedocuments as $key => $value) { $pd_should_be_ids[] = $value['id']; } $difference_privatedocument_ids = array_diff($pd_should_be_ids, $pd_current_ids); if ($difference_privatedocument_ids) { foreach ($difference_privatedocument_ids as $key => $value) { $pd_data = \App\Models\PrivateDocument::find($value); if (!$pd_data->delete()) { $errors->add('privatedocument', $contact_data->getError()); } } } } } //End of validate employee privatedocument //4. Validate Employee career Parameter if (!$errors->count() && isset($employee['careers']) && is_array($employee['careers'])) { $career_current_ids = []; foreach ($employee['careers'] as $key => $value) { if (!$errors->count()) { $career_data = \App\Models\Career::findornew($value['id']); $career_rules = ['person_id' => 'exists:persons,id|' . ($is_new ? '' : 'in:' . $employee_data['id']), 'calendar_id' => 'exists:tmp_calendars,id', 'chart_id' => 'exists:charts,id', 'grade' => 'numeric', 'status' => 'required|in:contract,probation,internship,permanent,others,admin', 'start' => 'required|date_format:"Y-m-d H:i:s"', 'end' => 'date_format:"Y-m-d H:i:s"', 'reason_end_job' => 'required_with:end', 'is_absence' => 'boolean']; $validator = Validator::make($value, $career_rules); //if there was career and validator false if (!$validator->passes()) { $errors->add('career', $validator->errors()); } else { $value['person_id'] = $employee_data['id']; $career_data = $career_data->fill($value); if (!$career_data->save()) { $errors->add('career', $career_data->getError()); } else { $career_current_ids[] = $career_data['id']; } } } } //if there was no error, check if there were things need to be delete if (!$errors->count()) { $careers = \App\Models\Career::personid($employee['id'])->get(['id'])->toArray(); $career_should_be_ids = []; foreach ($careers as $key => $value) { $career_should_be_ids[] = $value['id']; } $difference_career_ids = array_diff($career_should_be_ids, $career_current_ids); if ($difference_career_ids) { foreach ($difference_career_ids as $key => $value) { $career_data = \App\Models\Career::find($value); if (!$career_data->delete()) { $errors->add('career', $career_data->getError()); } } } } } //End of validate employee career //5. Validate Employee workexperience Parameter if (!$errors->count() && isset($employee['workexperiences']) && is_array($employee['workexperiences'])) { $workexperience_current_ids = []; foreach ($employee['workexperiences'] as $key => $value) { if (!$errors->count()) { $workexperience_data = \App\Models\WorkExperience::findornew($value['id']); $workexperience_rules = ['person_id' => 'exists:persons,id|' . ($is_new ? '' : 'in:' . $employee_data['id']), 'position' => 'required|max:255', 'organisation' => 'required|max:255', 'grade' => 'numeric', 'status' => 'required|in:previous', 'start' => 'required|date_format:"Y-m-d H:i:s"', 'end' => 'required|date_format:"Y-m-d H:i:s"', 'reason_end_job' => 'required_with:end', 'is_absence' => 'boolean']; $validator = Validator::make($value, $workexperience_rules); //if there was workexperience and validator false if (!$validator->passes()) { $errors->add('workexperience', $validator->errors()); } else { $value['person_id'] = $employee_data['id']; $workexperience_data = $workexperience_data->fill($value); if (!$workexperience_data->save()) { $errors->add('workexperience', $workexperience_data->getError()); } else { $workexperience_current_ids[] = $workexperience_data['id']; } } } } //if there was no error, check if there were things need to be delete if (!$errors->count()) { $workexperiences = \App\Models\WorkExperience::personid($employee['id'])->get(['id'])->toArray(); $workexperience_should_be_ids = []; foreach ($workexperiences as $key => $value) { $workexperience_should_be_ids[] = $value['id']; } $difference_workexperience_ids = array_diff($workexperience_should_be_ids, $workexperience_current_ids); if ($difference_workexperience_ids) { foreach ($difference_workexperience_ids as $key => $value) { $workexperience_data = \App\Models\WorkExperience::find($value); if (!$workexperience_data->delete()) { $errors->add('workexperience', $workexperience_data->getError()); } } } } } //End of validate employee workexperience //6. Validate Employee ms Parameter if (!$errors->count() && isset($employee['maritalstatuses']) && is_array($employee['maritalstatuses'])) { $ms_current_ids = []; foreach ($employee['maritalstatuses'] as $key => $value) { if (!$errors->count()) { $ms_data = \App\Models\MaritalStatus::findornew($value['id']); $ms_rules = ['person_id' => 'exists:persons,id|' . ($is_new ? '' : 'in:' . $employee_data['id']), 'status' => 'required|max:255', 'on' => 'required|date_format:"Y-m-d H:i:s"']; $validator = Validator::make($value, $ms_rules); //if there was ms and validator false if (!$validator->passes()) { $errors->add('maritalstatus', $validator->errors()); } else { $value['person_id'] = $employee_data['id']; $ms_data = $ms_data->fill($value); if (!$ms_data->save()) { $errors->add('ms', $ms_data->getError()); } else { $ms_current_ids[] = $ms_data['id']; } } } } //if there was no error, check if there were things need to be delete if (!$errors->count()) { $mss = \App\Models\MaritalStatus::personid($employee['id'])->get(['id'])->toArray(); $ms_should_be_ids = []; foreach ($mss as $key => $value) { $ms_should_be_ids[] = $value['id']; } $difference_ms_ids = array_diff($ms_should_be_ids, $ms_current_ids); if ($difference_ms_ids) { foreach ($difference_ms_ids as $key => $value) { $ms_data = \App\Models\MaritalStatus::find($value); if (!$ms_data->delete()) { $errors->add('ms', $ms_data->getError()); } } } } } //End of validate employee ms if ($errors->count()) { DB::rollback(); return new JSend('error', (array) Input::all(), $errors); } DB::commit(); $final_employee = \App\Models\Employee::id($id)->organisationid($org_id)->with(['privatedocuments', 'privatedocuments.document', 'privatedocuments.documentdetails', 'privatedocuments.documentdetails.template', 'careers', 'careers.calendar', 'careers.chart', 'careers.branch', 'workexperiences', 'maritalstatuses', 'contacts'])->first()->toArray(); return new JSend('success', (array) $final_employee); }
/** * Display a listing of the resource. * * @return \Illuminate\Http\Response */ public function index() { $templates = Template::all(); return view('canvas.index', compact('templates')); }
/** * Store a EmployeeDocument (throw to queue) * * 1. store EmployeeDocument of employee to queue * 2. store EmployeeDocument of employees to queue * @return JSend Response */ public function store($org_id = null, $employ_id = null) { // if(!Input::has('employmentdocument')) // { // return new JSend('error', (array)Input::all(), 'Tidak ada data employment document.'); // } $errors = new MessageBag(); DB::beginTransaction(); //1. store EmployeeDocument of employee to queue // $employdoc = Input::get('employmentdocument'); $id = 4089; $employdoc = \App\Models\EmploymentDocument::id(4089)->personid($employ_id)->with(['document', 'documentdetails', 'documentdetails.template'])->first()->toArray(); if (is_null($employdoc['id'])) { $is_new = true; } else { $is_new = false; } $ed_data = \App\Models\EmploymentDocument::findornew($employdoc['id']); $ed_rules = ['document_id' => 'exists:tmp_documents,id|' . ($is_new ? '' : 'in:' . $ed_data['document_id']), 'person_id' => 'exists:persons,id|' . ($is_new ? '' : 'in:' . $employ_id)]; $validator = Validator::make($employdoc, $ed_rules); //if there was employmentdocument and validator false if (!$validator->passes()) { $errors->add('employmentdocument', $validator->errors()); } else { $value['person_id'] = $employ_id; $ed_data = $ed_data->fill($employdoc); if (!$ed_data->save()) { $errors->add('employmentdocument', $ed_data->getError()); } } if (!$errors->count() && isset($employdoc['documentdetails']) && is_array($employdoc['documentdetails'])) { //check template $dd_current_ids = []; foreach ($employdoc['documentdetails'] as $key => $value) { if (!$errors->count()) { $param = []; $dd_data = \App\Models\DocumentDetail::findornew($value['id']); $dd_rules = ['person_document_id' => 'exists:persons_documents,id|' . ($is_new ? '' : 'in:' . $ed_data['id']), 'template_id' => 'exists:tmp_templates,id']; $validator = Validator::make($value, $dd_rules); $template_data = \App\Models\Template::find($value['template_id']); if ($template_data) { //if there was dd and validator false if (!$validator->passes()) { $errors->add('dd', $validator->errors()); } else { $param[$template_data['type'] == 'date' ? 'on' : strtolower($template_data['type'])] = $value[$template_data['type'] == 'date' ? 'on' : strtolower($template_data['type'])]; $param['template_id'] = $template_data['id']; $param['person_document_id'] = $ed_data['id']; if (isset($param['on'])) { $param['on'] = date('Y-m-d H:i:s', strtotime($param['on'])); } $dd_data = $dd_data->fill($param); if (!$dd_data->save()) { $errors->add('dd', $dd_data->getError()); } else { $dd_current_ids[] = $dd_data['id']; } } } } } //if there was no error, check if there were things need to be delete if (!$errors->count()) { $dds = \App\Models\DocumentDetail::persondocumentid($ed_data['id'])->get(['id'])->toArray(); $dd_should_be_ids = []; foreach ($dds as $key2 => $value) { $dd_should_be_ids[] = $value['id']; } $difference_dd_ids = array_diff($dd_should_be_ids, $dd_current_ids); if ($difference_dd_ids) { foreach ($difference_dd_ids as $key2 => $value) { $dd_data = \App\Models\DocumentDetail::find($value); if (!$dd_data->delete()) { $errors->add('dd', $dd_data->getError()); } } } } } //End of validate EmployeeDocument if ($errors->count()) { DB::rollback(); return new JSend('error', (array) Input::all(), $errors); } DB::commit(); $final_employdoc = \App\Models\EmploymentDocument::id($ed_data['id'])->personid($employ_id)->with(['document', 'documentdetails', 'documentdetails.template'])->first()->toArray(); return new JSend('success', (array) $final_employdoc); }
/** * boot * observing model * */ public static function boot() { parent::boot(); Template::observe(new TemplateObserver()); }
/** * Finds the Template model based on its primary key value. * If the model is not found, a 404 HTTP exception will be thrown. * @param integer $id * @return Form the loaded model * @throws NotFoundHttpException if the model cannot be found */ protected function findTemplateModel($id) { if (($model = Template::findOne($id)) !== null) { return $model; } else { throw new NotFoundHttpException(Yii::t("app", "The requested page does not exist.")); } }
public function run() { Template::create(['template' => 'poster.themes.baidu']); Template::create(['template' => 'poster.themes.haosou']); Template::create(['template' => 'poster.themes.sogou']); }
public function getTemplates() { return $this->hasMany(Template::className(), ['user_id' => 'id']); }