예제 #1
0
 /**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function postStore(Request $request)
 {
     $record = new Record();
     $id = $request->input("patientID");
     $record->pt_id = $id;
     $record->diagnosis = $request->input("diagnosis");
     $record->treatment = $request->input("treatment");
     $presName = "";
     $presQty = "";
     $val = $request->input("xy");
     for ($count = 1; $count < $val + 1; $count++) {
         $presName .= $request->input("drug_" . $count);
         $presQty .= $request->input("drug_" . $count . "_qtt");
         $presName .= "#";
         $presQty .= "#";
     }
     $record->pres_med = $presName;
     $record->dispenseQuantity = $presQty;
     $record->save();
     $state = Queue::find($id);
     //retrieve whole row
     if (!is_null($state)) {
         $state->status = 'Payment';
         $state->save();
     }
     $todispense = new Dispensary();
     $todispense->case_ref = $record->id;
     $todispense->dispensed_drug_code = "{$presName}";
     $todispense->dispensed_quantity = "{$presQty}";
     $todispense->save();
     //other fields in this table is to be filled by nurse using DispensaryController
     return redirect()->action('DocController@index');
 }
예제 #2
0
 /**
  * Create a new a record
  */
 public function store(RecordRequest $request)
 {
     $record = new Record();
     $record->biblio = $request->get('biblio_id');
     $record->itemtype = $request->get('itemtype_id');
     $record->hidden = $request->get('hidden') != null ? true : false;
     $record->save();
     $fields = array();
     $field_index = 0;
     foreach ($request->get('fields') as $field) {
         if (isset($request->file('fields')[$field_index])) {
             $image = $request->file('fields')[$field_index]['value'];
             $basename = $image->getClientOriginalName();
             $extension = $image->getClientOriginalExtension();
             $filename = basename($basename, '.' . $extension);
             $image_name = $record->biblio . $record->itemtype . $field_index . '_' . $filename . '.' . $extension;
             $image->move(public_path() . '/images', $image_name);
         } else {
             $image_name = '';
         }
         $rec = new RecordField();
         $rec->tagfield = $field['marcfield'];
         $rec->tagsubfield = $field['marcsubfield'];
         if ($image_name == '') {
             $rec->value = $field['value'];
         } else {
             $rec->value = $image_name;
         }
         $fields[] = $rec;
     }
     $record->fields()->saveMany($fields);
     flash()->success('Record added with success.');
     return redirect('admin/records');
 }
예제 #3
0
 public function add(Request $request)
 {
     $me = \Session::get('user');
     if (!$me->can('项目外出记录管理')) {
         abort(401);
     }
     $user = User::find($request->input('user_id'));
     $record = new Record();
     $project = Project::find($request->input('project_id'));
     $record->project()->associate($project);
     $record->user()->associate($user);
     $time = $request->input('time');
     if (!$time) {
         $time = null;
     } else {
         $time = \Carbon\Carbon::createFromFormat('Y/m/d', $time)->format('Y-m-d H:i:s');
     }
     $record->time = $time;
     $record->content = $request->input('content');
     $record->contact = $request->input('contact');
     $record->phone = $request->input('phone');
     $record->software_count = $request->input('software_count');
     $record->hardware_name = $request->input('hardware_name');
     $record->hardware_count = $request->input('hardware_count');
     $record->save();
     \Log::notice(strtr('外出记录添加: 用户(%name[%id]) 添加了项目 %project[%project_id] 的外出记录 %record_id', ['%name' => $me->name, '%id' => $me->id, '%project' => $project->name, '%project_id' => $project->id, '%record_id' => $record->id]));
     return redirect()->back()->with('message_content', '外出记录添加成功!')->with('message_type', 'info')->with('tab', 'records');
 }
 public function store(RecordRequest $request)
 {
     $date = Carbon::now();
     $record = new Record($request->all());
     $record->created_at = $date;
     $record->updated_at = $date;
     $record->save();
     return redirect()->route('registros.index');
 }
예제 #5
0
 public function create(Request $req)
 {
     $record = new Record();
     $record->location_id = $req->get("location_id");
     $staff = Staff::where("staff_nr", "=", $req->get("staff_id"))->first();
     if ($staff == null) {
         return "oh fuk";
     }
     $record->staff_id = $staff->id;
     $record->particularities = $req->get("particularities");
     $record->save();
 }
 public function discharge(DischargeRequest $request, $id)
 {
     $visit = Visit::findOrFail($id)->toArray();
     $record = new Record($visit);
     Visit::findOrFail($id)->delete();
     $record->visit_date = $visit['created_at'];
     $record->discharge_date = \Carbon\Carbon::now();
     $record->findings = $request->findings;
     $record->save();
     flash()->overlay('patient discharged', 'notice');
     return redirect('visit');
 }
예제 #7
0
 /**
  * 进行记录的保存
  */
 public static function AddRecord($create_verify, $void_verify, $user_id, $pic_original, $pic_background, $pic_button, $point_x, $point_y, $cookie_str)
 {
     $model = new Record();
     $model->create_verify = $create_verify;
     $model->void_verify = $void_verify;
     $model->user_id = $user_id;
     $model->pic_original = $pic_original;
     $model->pic_background = $pic_background;
     $model->pic_button = $pic_button;
     $model->point_x = $point_x;
     $model->point_y = $point_y;
     $model->cookie_str = $cookie_str;
     $model->save();
     return $model->id;
 }
예제 #8
0
 /**
  * Store a newly created record in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function store(Request $request)
 {
     $validator = $this->getValidator($request);
     if ($validator->fails()) {
         return redirect('/record/create')->withInput()->withErrors($validator);
     }
     $record = new Record();
     $record->first_name = $request->first_name;
     $record->last_name = $request->last_name;
     $record->age = $request->age;
     $record->birth_date = $request->birth_date;
     $record->gender_id = $request->gender_id;
     $record->distance_id = $request->distance_id;
     $record->race_name = $request->race_name;
     $record->race_date = $request->race_date;
     $record->race_location = $request->race_location;
     $record->race_notes = $request->race_notes;
     $record->active = $request->active;
     $record->save();
     \Session::flash('alert-success', 'New record added.');
     return redirect('/records');
 }
예제 #9
0
 /**
  * Store a newly created resource in storage.
  *
  * @return Response
  */
 public function store($pid, $fid, Request $request)
 {
     if (!FormController::validProjForm($pid, $fid)) {
         return redirect('projects');
     }
     foreach ($request->all() as $key => $value) {
         if (!is_numeric($key)) {
             continue;
         }
         $message = FieldValidation::validateField($key, $value, $request);
         if ($message != '') {
             flash()->error($message);
             return redirect()->back()->withInput();
         }
     }
     $record = new Record();
     $record->pid = $pid;
     $record->fid = $fid;
     $record->owner = $request->userId;
     $record->save();
     //need to save to create rid needed to make kid
     $record->kid = $pid . '-' . $fid . '-' . $record->rid;
     $record->save();
     foreach ($request->all() as $key => $value) {
         if (!is_numeric($key)) {
             continue;
         }
         $field = FieldController::getField($key);
         if ($field->type == 'Text') {
             $tf = new TextField();
             $tf->flid = $field->flid;
             $tf->rid = $record->rid;
             $tf->text = $value;
             $tf->save();
         } else {
             if ($field->type == 'Rich Text') {
                 $rtf = new RichTextField();
                 $rtf->flid = $field->flid;
                 $rtf->rid = $record->rid;
                 $rtf->rawtext = $value;
                 $rtf->save();
             } else {
                 if ($field->type == 'Number') {
                     $nf = new NumberField();
                     $nf->flid = $field->flid;
                     $nf->rid = $record->rid;
                     $nf->number = $value;
                     $nf->save();
                 } else {
                     if ($field->type == 'List') {
                         $lf = new ListField();
                         $lf->flid = $field->flid;
                         $lf->rid = $record->rid;
                         $lf->option = $value;
                         $lf->save();
                     } else {
                         if ($field->type == 'Multi-Select List') {
                             $mslf = new MultiSelectListField();
                             $mslf->flid = $field->flid;
                             $mslf->rid = $record->rid;
                             $mslf->options = FieldController::msListArrayToString($value);
                             $mslf->save();
                         } else {
                             if ($field->type == 'Generated List') {
                                 $glf = new GeneratedListField();
                                 $glf->flid = $field->flid;
                                 $glf->rid = $record->rid;
                                 $glf->options = FieldController::msListArrayToString($value);
                                 $glf->save();
                             } else {
                                 if ($field->type == 'Date' && $request->input('year_' . $field->flid) != '') {
                                     $df = new DateField();
                                     $df->flid = $field->flid;
                                     $df->rid = $record->rid;
                                     $df->circa = $request->input('circa_' . $field->flid, '');
                                     $df->month = $request->input('month_' . $field->flid);
                                     $df->day = $request->input('day_' . $field->flid);
                                     $df->year = $request->input('year_' . $field->flid);
                                     $df->era = $request->input('era_' . $field->flid, 'CE');
                                     $df->save();
                                 } else {
                                     if ($field->type == 'Schedule') {
                                         $sf = new ScheduleField();
                                         $sf->flid = $field->flid;
                                         $sf->rid = $record->rid;
                                         $sf->events = FieldController::msListArrayToString($value);
                                         $sf->save();
                                     } else {
                                         if ($field->type == 'Geolocator') {
                                             $gf = new GeolocatorField();
                                             $gf->flid = $field->flid;
                                             $gf->rid = $record->rid;
                                             $gf->locations = FieldController::msListArrayToString($value);
                                             $gf->save();
                                         } else {
                                             if ($field->type == 'Documents' && glob(env('BASE_PATH') . 'storage/app/tmpFiles/' . $value . '/*.*') != false) {
                                                 $df = new DocumentsField();
                                                 $df->flid = $field->flid;
                                                 $df->rid = $record->rid;
                                                 $infoString = '';
                                                 $newPath = env('BASE_PATH') . 'storage/app/files/p' . $pid . '/f' . $fid . '/r' . $record->rid . '/fl' . $field->flid;
                                                 mkdir($newPath, 0775, true);
                                                 if (file_exists(env('BASE_PATH') . 'storage/app/tmpFiles/' . $value)) {
                                                     $types = FieldController::getMimeTypes();
                                                     foreach (new \DirectoryIterator(env('BASE_PATH') . 'storage/app/tmpFiles/' . $value) as $file) {
                                                         if ($file->isFile()) {
                                                             if (!array_key_exists($file->getExtension(), $types)) {
                                                                 $type = 'application/octet-stream';
                                                             } else {
                                                                 $type = $types[$file->getExtension()];
                                                             }
                                                             $info = '[Name]' . $file->getFilename() . '[Name][Size]' . $file->getSize() . '[Size][Type]' . $type . '[Type]';
                                                             if ($infoString == '') {
                                                                 $infoString = $info;
                                                             } else {
                                                                 $infoString .= '[!]' . $info;
                                                             }
                                                             rename(env('BASE_PATH') . 'storage/app/tmpFiles/' . $value . '/' . $file->getFilename(), $newPath . '/' . $file->getFilename());
                                                         }
                                                     }
                                                 }
                                                 $df->documents = $infoString;
                                                 $df->save();
                                             } else {
                                                 if ($field->type == 'Gallery' && glob(env('BASE_PATH') . 'storage/app/tmpFiles/' . $value . '/*.*') != false) {
                                                     $gf = new GalleryField();
                                                     $gf->flid = $field->flid;
                                                     $gf->rid = $record->rid;
                                                     $infoString = '';
                                                     $newPath = env('BASE_PATH') . 'storage/app/files/p' . $pid . '/f' . $fid . '/r' . $record->rid . '/fl' . $field->flid;
                                                     //make the three directories
                                                     mkdir($newPath, 0775, true);
                                                     mkdir($newPath . '/thumbnail', 0775, true);
                                                     mkdir($newPath . '/medium', 0775, true);
                                                     if (file_exists(env('BASE_PATH') . 'storage/app/tmpFiles/' . $value)) {
                                                         $types = FieldController::getMimeTypes();
                                                         foreach (new \DirectoryIterator(env('BASE_PATH') . 'storage/app/tmpFiles/' . $value) as $file) {
                                                             if ($file->isFile()) {
                                                                 if (!array_key_exists($file->getExtension(), $types)) {
                                                                     $type = 'application/octet-stream';
                                                                 } else {
                                                                     $type = $types[$file->getExtension()];
                                                                 }
                                                                 $info = '[Name]' . $file->getFilename() . '[Name][Size]' . $file->getSize() . '[Size][Type]' . $type . '[Type]';
                                                                 if ($infoString == '') {
                                                                     $infoString = $info;
                                                                 } else {
                                                                     $infoString .= '[!]' . $info;
                                                                 }
                                                                 rename(env('BASE_PATH') . 'storage/app/tmpFiles/' . $value . '/' . $file->getFilename(), $newPath . '/' . $file->getFilename());
                                                                 rename(env('BASE_PATH') . 'storage/app/tmpFiles/' . $value . '/thumbnail/' . $file->getFilename(), $newPath . '/thumbnail/' . $file->getFilename());
                                                                 rename(env('BASE_PATH') . 'storage/app/tmpFiles/' . $value . '/medium/' . $file->getFilename(), $newPath . '/medium/' . $file->getFilename());
                                                             }
                                                         }
                                                     }
                                                     $gf->images = $infoString;
                                                     $gf->save();
                                                 }
                                             }
                                         }
                                     }
                                 }
                             }
                         }
                     }
                 }
             }
         }
     }
     RevisionController::storeRevision($record->rid, 'create');
     flash()->overlay('Your record has been successfully created!', 'Good Job!');
     return redirect('projects/' . $pid . '/forms/' . $fid . '/records');
 }
예제 #10
0
 public function store(Request $request)
 {
     $record = new Record($request->all());
     $record->save();
     return $record;
 }
예제 #11
0
 public static function storeRecord($request)
 {
     $record = Record::whereBtn($request->get('btn'))->first();
     $btn = str_replace(' ', '', $request->get('btn'));
     // Replaces all spaces with hyphens.
     $stripped_btn = preg_replace('/[^A-Za-z0-9\\-]/', '', $btn);
     // Removes special chars.
     if (count($record) == 0) {
         $record = new Record();
         $record->user_id = Auth::user()->id;
         $record->name = $request->get('name');
         $record->mrn = $request->get('mrn');
         $record->age = $request->get('age');
         $record->btn = $stripped_btn;
         $record->rn = $request->get('rn');
         $record->insurance = $request->get('insurance');
         $record->pcp = $request->get('pcp');
         $record->gender = $request->get('gender');
         $record->reference_no = $request->get('reference_no');
         $record->date_of_birth = date('Y-m-d', strtotime($request->get('date_of_birth')));
         $record->call_notes = $request->get('call_notes');
         if ($record->save()) {
             // Add checklist entries
             foreach ($record->list as $list) {
                 $record->checklist()->save(new Checklist($list));
             }
             return redirect()->to('/record/' . $record->id)->with('message', 'Record has been successfully saved')->with('msg_type', 'success');
         } else {
             return redirect()->to('/record/' . $record->id)->with('message', 'Record was not able to save. Please review the entries.')->with('msg_type', 'negative');
         }
     }
     $update_record = $record->update(['call_notes' => $request->get('call_notes')]);
     return redirect()->back()->with('message', 'Record has been successfully updated')->with('msg_type', 'success');
 }
예제 #12
0
 public function restoreData(Request $request)
 {
     $this->json_file = null;
     $this->decoded_json = null;
     $users_exempt_from_lockout = new Collection();
     $users_exempt_from_lockout->put(1, 1);
     //Add another one of these with (userid,userid) to exempt extra users
     $this->lockUsers($users_exempt_from_lockout);
     if ($request->session()->has("restore_file_path")) {
         $filepath = $request->session()->get("restore_file_path");
         $request->session()->forget("restore_file_path");
     } else {
         return $this->ajaxResponse(false, "You did not select a valid restore point or upload a valid backup file");
     }
     try {
         $this->json_file = Storage::get($filepath);
     } catch (\Exception $e) {
         $this->ajaxResponse(false, "The backup file couldn't be opened.  Make sure it still exists and the permissions are correct.");
     }
     try {
         $this->decoded_json = json_decode($this->json_file);
         $this->decoded_json->kora3;
     } catch (\Exception $e) {
         $this->ajaxResponse(false, "The backup file contains invalid JSON data, it may be corrupt or damaged.  Check the file or try another one.\n            The restore did not start, so data already in the database was not deleted.");
     }
     $backup_data = $this->decoded_json;
     //Delete all existing data
     try {
         foreach (User::all() as $User) {
             if ($User->id == 1) {
                 //Do not delete the default admin user
                 continue;
             } else {
                 $User->delete();
             }
         }
         foreach (Project::all() as $Project) {
             $Project->delete();
         }
         foreach (Form::all() as $Form) {
             $Form->delete();
         }
         foreach (Field::all() as $Field) {
             $Field->delete();
         }
         foreach (Record::all() as $Record) {
             $Record->delete();
         }
         foreach (Metadata::all() as $Metadata) {
             $Metadata->delete();
         }
         foreach (Token::all() as $Token) {
             $Token->delete();
         }
         foreach (Revision::all() as $Revision) {
             $Revision->delete();
         }
         foreach (DateField::all() as $DateField) {
             $DateField->delete();
         }
         foreach (FormGroup::all() as $FormGroup) {
             $FormGroup->delete();
         }
         foreach (GeneratedListField::all() as $GeneratedListField) {
             $GeneratedListField->delete();
         }
         foreach (ListField::all() as $ListField) {
             $ListField->delete();
         }
         foreach (MultiSelectListField::all() as $MultiSelectListField) {
             $MultiSelectListField->delete();
         }
         foreach (NumberField::all() as $NumberField) {
             $NumberField->delete();
         }
         foreach (ProjectGroup::all() as $ProjectGroup) {
             $ProjectGroup->delete();
         }
         foreach (RichTextField::all() as $RichTextField) {
             $RichTextField->delete();
         }
         foreach (ScheduleField::all() as $ScheduleField) {
             $ScheduleField->delete();
         }
         foreach (TextField::all() as $TextField) {
             $TextField->delete();
         }
     } catch (\Exception $e) {
         $this->ajaxResponse(false, "There was a problem when attempting to remove existing information from the\n            database, the database user may not have permission to do this or the database may be in use.");
     }
     try {
         //This try-catch is for non-QueryExceptions, like if a table is missing entirely from the JSON data
         // User
         foreach ($backup_data->users as $user) {
             try {
                 $new_user = User::create(array("username" => $user->username, "name" => $user->name, "email" => $user->email, "password" => $user->password, "organization" => $user->organization, "language" => $user->language, "regtoken" => $user->regtoken));
                 $new_user->id = $user->id;
                 $new_user->admin = $user->admin;
                 $new_user->active = $user->active;
                 $new_user->remember_token = $user->remember_token;
                 $new_user->created_at = $user->created_at;
                 $new_user->updated_at = $user->updated_at;
                 $new_user->locked_out = true;
                 $new_user->save();
             } catch (\Exception $e) {
                 $this->ajax_error_list->push($e->getMessage());
             }
         }
         // Project
         foreach ($backup_data->projects as $project) {
             //$new_project = Project::create(array("name" => $project->name, "slug" => $project->slug, "description" => $project->description, "adminGID" => $project->adminGID, "active" => $project->active));
             try {
                 $new_project = Project::create(array());
                 $new_project->name = $project->name;
                 $new_project->slug = $project->slug;
                 $new_project->description = $project->description;
                 $new_project->adminGID = $project->adminGID;
                 $new_project->active = $project->active;
                 $new_project->pid = $project->pid;
                 $new_project->created_at = $project->created_at;
                 $new_project->updated_at = $project->updated_at;
                 $new_project->save();
             } catch (QueryException $e) {
                 $this->ajax_error_list->push($e->getMessage());
             }
         }
         // Form
         foreach ($backup_data->forms as $form) {
             try {
                 $new_form = Form::create(array("pid" => $form->pid));
                 $new_form->fid = $form->fid;
                 $new_form->name = $form->name;
                 $new_form->slug = $form->slug;
                 $new_form->description = $form->description;
                 $new_form->adminGID = $form->adminGID;
                 $new_form->layout = $form->layout;
                 $new_form->public_metadata = $form->public_metadata;
                 $new_form->layout = $form->layout;
                 $new_form->adminGID = $form->adminGID;
                 $new_form->created_at = $form->created_at;
                 $new_form->updated_at = $form->updated_at;
                 $new_form->save();
             } catch (QueryException $e) {
                 $this->ajax_error_list->push($e->getMessage());
             }
         }
         // Field
         foreach ($backup_data->fields as $field) {
             try {
                 $new_field = Field::create(array("pid" => $field->pid, "fid" => $field->fid, "order" => $field->order, "type" => $field->type, "name" => $field->name, "slug" => $field->slug, "desc" => $field->desc, "required" => $field->required, "default" => $field->default, "options" => $field->options));
                 $new_field->flid = $field->flid;
                 $new_field->default = $field->default;
                 $new_field->options = $field->options;
                 $new_field->created_at = $field->created_at;
                 $new_field->updated_at = $field->updated_at;
                 $new_field->save();
             } catch (QueryException $e) {
                 $this->ajax_error_list->push($e->getMessage());
             }
         }
         // FormGroup
         foreach ($backup_data->formgroups as $formgroup) {
             try {
                 $new_formgroup = new FormGroup();
                 $new_formgroup->name = $formgroup->group_data->name;
                 $new_formgroup->fid = $formgroup->group_data->fid;
                 $new_formgroup->create = $formgroup->group_data->create;
                 $new_formgroup->edit = $formgroup->group_data->edit;
                 $new_formgroup->ingest = $formgroup->group_data->ingest;
                 $new_formgroup->delete = $formgroup->group_data->delete;
                 $new_formgroup->modify = $formgroup->group_data->modify;
                 $new_formgroup->destroy = $formgroup->group_data->destroy;
                 $new_formgroup->id = $formgroup->group_data->id;
                 $new_formgroup->created_at = $formgroup->group_data->created_at;
                 $new_formgroup->updated_at = $formgroup->group_data->updated_at;
                 $new_formgroup->save();
                 foreach ($formgroup->user_data as $user_id) {
                     $new_formgroup->users()->attach($user_id);
                 }
             } catch (QueryException $e) {
                 $this->ajax_error_list->push($e->getMessage());
             }
         }
         // ProjectGroup
         foreach ($backup_data->projectgroups as $projectgroup) {
             try {
                 $new_projectgroup = new ProjectGroup();
                 $new_projectgroup->id = $projectgroup->group_data->id;
                 $new_projectgroup->name = $projectgroup->group_data->name;
                 $new_projectgroup->pid = $projectgroup->group_data->pid;
                 $new_projectgroup->create = $projectgroup->group_data->create;
                 $new_projectgroup->edit = $projectgroup->group_data->edit;
                 $new_projectgroup->delete = $projectgroup->group_data->delete;
                 $new_projectgroup->created_at = $projectgroup->group_data->created_at;
                 $new_projectgroup->updated_at = $projectgroup->group_data->updated_at;
                 $new_projectgroup->save();
                 foreach ($projectgroup->user_data as $user_id) {
                     $new_projectgroup->users()->attach($user_id);
                 }
             } catch (QueryException $e) {
                 $this->ajax_error_list->push($e->getMessage());
             }
         }
         // Record
         foreach ($backup_data->records as $record) {
             try {
                 $new_record = new Record(array("pid" => $record->pid, "fid" => $record->fid, "owner" => $record->owner, "kid" => $record->kid));
                 $new_record->rid = $record->rid;
                 $new_record->created_at = $record->created_at;
                 $new_record->updated_at = $record->updated_at;
                 $new_record->save();
             } catch (QueryException $e) {
                 $this->ajax_error_list->push($e->getMessage());
             }
         }
         // TextField
         foreach ($backup_data->textfields as $textfield) {
             try {
                 $new_textfield = new TextField(array("rid" => $textfield->rid, "flid" => $textfield->flid, "text" => $textfield->text));
                 $new_textfield->id = $textfield->id;
                 $new_textfield->created_at = $textfield->created_at;
                 $new_textfield->updated_at = $textfield->updated_at;
                 $new_textfield->save();
             } catch (QueryException $e) {
                 $this->ajax_error_list->push($e->getMessage());
             }
         }
         // RichTextField
         foreach ($backup_data->richtextfields as $richtextfield) {
             try {
                 $new_richtextfield = new RichTextField(array("rid" => $richtextfield->rid, "flid" => $richtextfield->flid, "rawtext" => $richtextfield->rawtext));
                 $new_richtextfield->id = $richtextfield->id;
                 $new_richtextfield->created_at = $richtextfield->created_at;
                 $new_richtextfield->updated_at = $richtextfield->updated_at;
                 $new_richtextfield->save();
             } catch (QueryException $e) {
                 $this->ajax_error_list->push($e->getMessage());
             }
         }
         // NumberField
         foreach ($backup_data->numberfields as $numberfield) {
             try {
                 $new_numberfield = new NumberField(array("rid" => $numberfield->rid, "flid" => $numberfield->flid, "number" => $numberfield->number));
                 $new_numberfield->id = $numberfield->id;
                 $new_numberfield->created_at = $numberfield->created_at;
                 $new_numberfield->updated_at = $numberfield->updated_at;
                 $new_numberfield->save();
             } catch (QueryException $e) {
                 $this->ajax_error_list->push($e->getMessage());
             }
         }
         // ListField
         foreach ($backup_data->listfields as $listfield) {
             try {
                 $new_listfield = new ListField(array("rid" => $listfield->rid, "flid" => $listfield->flid, "option" => $listfield->option));
                 $new_listfield->id = $listfield->id;
                 $new_listfield->created_at = $listfield->created_at;
                 $new_listfield->updated_at = $listfield->updated_at;
                 $new_listfield->save();
             } catch (QueryException $e) {
                 $this->ajax_error_list->push($e->getMessage());
             }
         }
         // GeneratedListField
         foreach ($backup_data->generatedlistfields as $generatedlistfield) {
             try {
                 $new_generatedlistfield = new GeneratedListField(array("rid" => $generatedlistfield->rid, "flid" => $generatedlistfield->flid, "options" => $generatedlistfield->options));
                 $new_generatedlistfield->id = $generatedlistfield->id;
                 $new_generatedlistfield->created_at = $generatedlistfield->created_at;
                 $new_generatedlistfield->updated_at = $generatedlistfield->updated_at;
                 $new_generatedlistfield->save();
             } catch (QueryException $e) {
                 $this->ajax_error_list->push($e->getMessage());
             }
         }
         // MultiSelectListField
         foreach ($backup_data->multiselectlistfields as $multiselectlistfield) {
             try {
                 $new_multiselectlistfield = new MultiSelectListField(array("rid" => $multiselectlistfield->rid, "flid" => $multiselectlistfield->flid, "options" => $multiselectlistfield->options));
                 $new_multiselectlistfield->id = $multiselectlistfield->id;
                 $new_multiselectlistfield->created_at = $multiselectlistfield->created_at;
                 $new_multiselectlistfield->updated_at = $multiselectlistfield->updated_at;
                 $new_multiselectlistfield->save();
             } catch (QueryException $e) {
                 $this->ajax_error_list->push($e->getMessage());
             }
         }
         // DateField
         foreach ($backup_data->datefields as $datefield) {
             try {
                 $new_datefield = new DateField();
                 $new_datefield->id = $datefield->id;
                 $new_datefield->rid = $datefield->rid;
                 $new_datefield->flid = $datefield->flid;
                 $new_datefield->circa = $datefield->circa;
                 $new_datefield->month = $datefield->month;
                 $new_datefield->day = $datefield->day;
                 $new_datefield->year = $datefield->year;
                 $new_datefield->era = $datefield->era;
                 $new_datefield->created_at = $datefield->created_at;
                 $new_datefield->updated_at = $datefield->updated_at;
                 $new_datefield->save();
             } catch (QueryException $e) {
                 $this->ajax_error_list->push($e->getMessage());
             }
         }
         // ScheduleField
         foreach ($backup_data->schedulefields as $schedulefield) {
             try {
                 $new_schedulefield = new ScheduleField(array("rid" => $schedulefield->rid, "flid" => $schedulefield->flid, "events" => $schedulefield->events));
                 $new_schedulefield->id = $schedulefield->id;
                 $new_schedulefield->created_at = $schedulefield->created_at;
                 $new_schedulefield->updated_at = $schedulefield->updated_at;
                 $new_schedulefield->save();
             } catch (QueryException $e) {
                 $this->ajax_error_list->push($e->getMessage());
             }
         }
         // GeolocatorField
         foreach ($backup_data->geolocatorfields as $geolocatorfield) {
             try {
                 $new_geolocatorfield = new GeolocatorField(array("rid" => $geolocatorfield->rid, "flid" => $geolocatorfield->flid, "locations" => $geolocatorfield->locations));
                 $new_geolocatorfield->id = $geolocatorfield->id;
                 $new_geolocatorfield->created_at = $geolocatorfield->created_at;
                 $new_geolocatorfield->updated_at = $new_geolocatorfield->updated_at;
                 $new_geolocatorfield->save();
             } catch (QueryException $e) {
                 $this->ajax_error_list->push($e->getMessage());
             }
         }
         // Token
         foreach ($backup_data->tokens as $token) {
             try {
                 $new_token = new Token(array('token' => $token->token, 'type' => $token->type));
                 $new_token->id = $token->id;
                 $new_token->created_at = $token->created_at;
                 $new_token->updated_at = $token->updated_at;
                 $new_token->save();
             } catch (QueryException $e) {
                 $this->ajax_error_list->push($e->getMessage());
             }
         }
         // Metadata
         foreach ($backup_data->metadatas as $metadata) {
             try {
                 $new_metadata = new Metadata(array());
                 $new_metadata->flid = $metadata->flid;
                 $new_metadata->pid = $metadata->pid;
                 $new_metadata->fid = $metadata->fid;
                 $new_metadata->name = $metadata->name;
                 $new_metadata->created_at = $metadata->created_at;
                 $new_metadata->updated_at = $metadata->updated_at;
                 $new_metadata->save();
             } catch (QueryException $e) {
                 $this->ajax_error_list->push($e->getMessage());
             }
         }
         // Revision
         foreach ($backup_data->revisions as $revision) {
             try {
                 $new_revision = new Revision(array('id' => $revision->id, 'fid' => $revision->fid, 'rid' => $revision->rid, 'userId' => $revision->userId, 'type' => $revision->type, 'data' => $revision->data, 'oldData' => $revision->oldData, 'rollback' => $revision->rollback));
                 $new_revision->created_at = $revision->created_at;
                 $new_revision->updated_at = $revision->updated_at;
                 $new_revision->save();
             } catch (QueryException $e) {
                 $this->ajax_error_list->push($e->getMessage());
             }
         }
     } catch (\Exception $e) {
         $this->ajax_error_list->push($e->getMessage());
         $this->ajaxResponse(false, "An unknown error prevented the restore from completing.\n                You can try restoring from a different backup file or restore point.\n                Users will stay locked out until you run a successful restore or manually unlock them above.\n                For this error, it's not recommended that you unlock users unless you have resolved the problem");
     }
     if (count($this->ajax_error_list) != 0) {
         $this->ajaxResponse(false, "Not all of your data was restored, check the errors below for details.\n            The errors are in order that they occurred, if you can resolve the first error, it will often correct\n            one or more of the errors below it.\n            Users will stay locked out until you run a successful restore or manually unlock them above.");
     } else {
         $this->unlockUsers();
         $this->ajaxResponse(true, "The restore completed successfully.");
     }
 }
예제 #13
0
 /**
  * Rolls back a record.
  *
  * @param Request $request
  */
 public function rollback(Request $request)
 {
     $revision = Revision::where('id', '=', $request['revision'])->first();
     $form = FormController::getForm($revision->fid);
     if ($revision->type == 'create') {
         $record = Record::where('rid', '=', $revision->rid)->first();
         $revision = RevisionController::storeRevision($record->rid, 'delete');
         $record->delete();
         flash()->overlay('Record ' . $form->pid . '-' . $form->fid . '-' . $revision->rid . ' has been deleted.', 'Success!');
     } elseif ($revision->type == 'delete') {
         if (RecordController::exists($revision->rid)) {
             flash()->overlay('Cannot recreate a record that already exists.');
         } else {
             $record = new Record();
             $record->rid = $revision->rid;
             $record->fid = $revision->fid;
             $record->pid = $form->pid;
             $record->owner = $revision->owner;
             $record->save();
             $record->kid = $record->pid . '-' . $record->fid . '-' . $record->rid;
             $record->save();
             RevisionController::redo($record, $form, $revision, false);
             RevisionController::storeRevision($record->rid, 'create');
             flash()->overlay('Record ' . $form->pid . '-' . $form->fid . '-' . $record->rid . ' has been rolled back.', 'Success!');
         }
     } else {
         $record = RecordController::getRecord($revision->rid);
         RevisionController::redo($record, $form, $revision, true);
         flash()->overlay('Record ' . $form->pid . '-' . $form->fid . '-' . $record->rid . ' has been rolled back.', 'Success!');
     }
 }