public static function updateGroups(Request $request) { $titles = $request::get('title'); $ids = $request::get('id'); $deleteId = $request::get('delete'); $newtitle = $request::get('newtitle'); $i = 0; if ($ids) { foreach ($ids as $id) { $group = Organization::find($id); $group->title = $titles[$i]; if (isset($deleteId[$i]) && $deleteId[$i] == $id) { $group->delete(); } else { $group->save(); } $i++; } } if ($newtitle) { $group = new Organization(); $group->title = $newtitle; $group->save(); } return true; }
protected function createRelations($res, $parent_org_id, &$response) { if ($parent_org_id == null && !isset($res['org_name']) && !$res['org_name']) { $response[] = array('success' => false, 'error' => "Invalid request " . $res); return; } if (isset($res['org_name']) && $res['org_name']) { //check for duplicates if (in_array($res['org_name'], $this->names)) { $response[] = array('success' => false, 'error' => "Duplicate organization name - " . $res['org_name']); return; } $org_id = PipedriveAPI::createOrganization($res['org_name']); if (!$parent_org_id) { $parent_org_id = $org_id; } if ($org_id) { //add new organization $org = new Organization(); $org->id = $org_id; $org->name = $res['org_name']; $org->save(); $this->names[] = $res['org_name']; if ($parent_org_id && $parent_org_id != $org_id) { $relation_id = PipedriveAPI::createRelation($parent_org_id, $org_id); //add new relation if ($relation_id) { $relation = new Relation(); $relation->relation_id = $relation_id; $relation->parent_org_id = $parent_org_id; $relation->org_id = $org_id; $relation->type = 'parent'; $relation->save(); $response[] = array('success' => true, 'parent_org_id' => $parent_org_id, 'org_id' => $org_id, 'org_name' => $res['org_name'], 'ralation_id' => $relation_id); } } if (isset($res['daughters']) && $res['daughters'] && is_array($res['daughters'])) { $parent_org_id = $org_id; foreach ($res['daughters'] as $daughter) { $this->createRelations($daughter, $parent_org_id, $response); } } } } }
protected static function updateDB($data) { foreach ($data as $title) { if ($title['STUDENT ID'] != '') { //creating or updating districts $DDBNNN = preg_split('/(?<=[0-9])(?=[a-z]+)/i', $title['DDBNNN']); $district = District::firstOrCreate(['code' => $DDBNNN[0], 'system_id' => 1]); $district->code = $DDBNNN[0]; $district->system_id = 1; $district->title = 'District ' . $DDBNNN[0]; $district->save(); $organization = Organization::where(['code' => $DDBNNN[1]])->with(array('districts' => function ($query) use($district) { $query->where('district_id', $district->id); }))->first(); if (is_null($organization)) { // TODO figure out if this can be replaced with a firstOrCreate; $organization = new Organization(); } $organization->code = $DDBNNN[1]; $organization->title = $DDBNNN[1]; $organization->save(); if (!$organization->districts->contains($district->id)) { $organization->districts()->attach($district->id); } $user = User::firstOrCreate(['student_id' => $title['STUDENT ID']]); $user->student_id = $title['STUDENT ID']; $user->first_name = $title['FIRST NAME']; $user->last_name = $title['LAST NAME']; $user->sex = $title['SEX']; $user->dob = $title['BIRTH DT']; $user->save(); } } $notifier = new Notifier(); $notifier->to = Auth::user()->email; $notifier->subject = "Your import is completed at " . date('m-d-Y h:i:s A'); $notifier->template = "emails.import"; $notifier->attachData(['user' => Auth::user()]); $notifier->send(); }
/** * Создание организации * @param array $data * @param Organization $parent * @return Organization|null */ protected function createOrganization(array $data, Organization $parent = null) { $organization = new Organization(); // если есть родительская организация, берем статус из нее if ($parent === null) { $organization->status()->associate($this->misc['statuses']->get(mb_convert_case(array_get($data, 'Stan'), MB_CASE_TITLE))); } else { $organization->status()->associate($parent->status); } $organization->opf()->associate($this->misc['opfs']->get(mb_convert_case(array_get($data, 'Opf'), MB_CASE_TITLE))); // если передан тип значит это подорганизация, иначе это главная организация и она - юр лицо $organization->type()->associate(array_get($data, 'type', $this->misc['types']['Юридична особа'])); $organization->fullName = array_get($data, 'Name', ''); $organization->shortName = array_get($data, 'ShortName', ''); $organization->edrpou = array_get($data, 'Kod', ''); $organization->address = array_get($data, 'Address', ''); if (!empty($organization->address)) { // почтовый индекс if (preg_match('~^(\\d+),~u', $organization->address, $matches)) { $organization->postCode = $matches[1]; } // вытягиваем город из адреса if (preg_match('~,\\s*(?:м.|місто)\\s*(\\w+)\\s*,~ui', $organization->address, $matches)) { $organization->city()->associate($this->misc['cities'][mb_convert_case($matches[1], MB_CASE_TITLE)]); } } if (!$organization->save()) { return null; } // создаем под организации if (isset($data['Pidrozdil'])) { if (is_array($data['Pidrozdil'])) { foreach ($data['Pidrozdil'] as $subOrg) { $subOrgData = $this->parseSubOrganization($subOrg); $organization->organizations()->save($this->createOrganization($subOrgData, $organization)); } } else { $subOrgData = $this->parseSubOrganization($data['Pidrozdil']); $organization->organizations()->save($this->createOrganization($subOrgData, $organization)); } } // если указан руководитель, добавляем его в БД if (isset($data['Kerivnik'])) { // поднимаем первые буквы в вверхний регист, остальные в нижний $chief = implode(' ', array_map(function ($item) { $parts = explode('-', $item); if (count($parts) == 1) { return mb_convert_case($item, MB_CASE_TITLE); } else { return implode('-', array_map(function ($it) { return mb_convert_case($it, MB_CASE_TITLE); }, $parts)); } }, explode(' ', mb_strtolower($data['Kerivnik'])))); $organization->chief = $chief; $organization->save(); } return $organization; }
/** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(Request $request) { if ($organization = Organization::where('userId', Auth::user()->id)->first()) { } else { $organization = new Organization(); $organization->userId = Auth::user()->id; } if ($request['brochure']) { $filepath = base_path() . "/public/uploads/" . $organization->brochure; is_file($filepath) ? file_exists($filepath) ? unlink($filepath) : " " : " "; $name = time() . "." . $request->file('brochure')->getClientOriginalExtension(); $dest = base_path() . "/public/uploads"; $request->file('brochure')->move($dest, $name); $organization->brochure = $name; } $organization->name = $request['name']; $organization->address = $request['address']; $organization->description = $request['description']; $organization->save(); \Session::flash('success_message', 'Your record has been updated'); return redirect('organization/edit'); }
public function saveOrganization(Request $request) { $organization = new Organization(); $organization->name = $request->input('name'); $organization->contact = $request->input('contact'); $organization->description = $request->input('description'); $organization->save(); return redirect("admin/organizations")->with("success", "Organizacija je sacuvana."); }