コード例 #1
0
ファイル: Organization.php プロジェクト: jtoshmat/laravel
 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;
 }
コード例 #2
0
 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);
                 }
             }
         }
     }
 }
コード例 #3
0
ファイル: BulkImporter.php プロジェクト: jtoshmat/laravel
 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();
 }
コード例 #4
0
ファイル: ParseOrganizations.php プロジェクト: w1lliams/sh
 /**
  * Создание организации
  * @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;
 }
コード例 #5
0
 /**
  * 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');
 }
コード例 #6
0
ファイル: AdminController.php プロジェクト: rista404/vzb
 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.");
 }