/** * Run the database seeds. * * @return void */ public function run() { $faker = Faker\Factory::create(); // Create a faker, add en_SG providers $faker->addProvider(new Faker\Provider\en_SG\Address($faker)); $faker->addProvider(new Faker\Provider\en_SG\Enhanced($faker)); $faker->addProvider(new Faker\Provider\en_SG\Person($faker)); $faker->addProvider(new Faker\Provider\en_SG\PhoneNumber($faker)); $faker->seed(9876); // Calling the same script twice with the same seed produces the same results $languages = array('Cantonese', 'English', 'Hainanese', 'Hakka', 'Hokkien', 'Malay', 'Mandarin', 'Tamil', 'Teochew'); // Insert dummy records for 15 dummy elderly account foreach (range(1, 15) as $index) { $languages = $faker->shuffle($languages); $numOfLanguages = $faker->numberBetween(1, 4); $chosenLanguages = $faker->randomElements($languages, $numOfLanguages); foreach ($chosenLanguages as $language) { ElderlyLanguage::create(['elderly_id' => $index, 'language' => $language]); } } }
/** * Update an existing elderly/senior. * Responds to requests to PUT /elderly/{id} * * @param int $id the ID of the elderly/senior * @param \App\Http\Requests\EditElderlyRequest $request * @return Response */ public function update($id, EditElderlyRequest $request) { $elderly = Elderly::findOrFail($id); $elderly->update(['centre_id' => $request->get('centre'), 'nric' => $request->get('nric'), 'name' => $request->get('name'), 'gender' => $request->get('gender'), 'birth_year' => $request->get('birth_year'), 'next_of_kin_name' => $request->get('nok_name'), 'next_of_kin_contact' => $request->get('nok_contact'), 'medical_condition' => $request->get('medical_condition')]); // Gets the languages that are currently in the database $currentLanguages = $elderly->languages->lists('language', 'language'); // Adds any new languages into the database foreach ($request->get('languages') as $language) { if ($currentLanguages->has($language)) { $currentLanguages->forget($language); } else { ElderlyLanguage::create(['elderly_id' => $elderly->elderly_id, 'language' => $language]); } } // Remove any current languages that are not in the $request foreach ($currentLanguages as $language) { ElderlyLanguage::where('elderly_id', $id)->where('language', $language)->delete(); } return redirect()->route('elderly.show', compact('elderly'))->with('success', 'Senior is updated successfully!'); }
/** * Update an existing activity. * Responds to requests to PUT /activities/{id} * * @param int $id the ID of the activity * @param \App\Http\Requests\EditActivityRequest $request * @return Response */ public function update($id, EditActivityRequest $request) { $errors = array(); $startLocationId = $request->get('start_location'); $endLocationId = $request->get('end_location'); $elderlyId = $request->get('senior'); $startLocation = new Centre(); $endLocation = new Centre(); $elderly = new Elderly(); if ($request->get('start_location') == "others") { $postal = $request->get('start_postal'); $geoInfo = json_decode($this->postalCodeToAddress($postal), true); if ($geoInfo['status'] == 'ok') { $startLocation->name = ucwords(strtolower($request->get('start_location_name'))); $startLocation->address = $geoInfo['address']; $startLocation->postal_code = $postal; $startLocation->lng = $geoInfo['x']; $startLocation->lat = $geoInfo['y']; } else { $errors = array_add($errors, 'start_location', 'Postal code for branch does not exist.'); } } if ($request->get('end_location') == "others") { if ($request->get('start_location_name') == $request->get('end_location_name')) { $endLocation = $startLocation; } else { $postal = $request->get('end_postal'); $geoInfo = json_decode($this->postalCodeToAddress($postal), true); if ($geoInfo['status'] == 'ok') { $endLocation->name = ucwords(strtolower($request->get('end_location_name'))); $endLocation->address = $geoInfo['address']; $endLocation->postal_code = $postal; $endLocation->lng = $geoInfo['x']; $endLocation->lat = $geoInfo['y']; } else { $errors = array_add($errors, 'end_location', 'Postal code for appointment venue does not exist.'); } } } if ($request->get('senior') == "others") { $elderly->nric = $request->get('senior_nric'); $elderly->name = $request->get('senior_name'); $elderly->gender = $request->get('senior_gender'); $elderly->birth_year = $request->get('senior_birth_year'); $elderly->next_of_kin_name = $request->get('senior_nok_name'); $elderly->next_of_kin_contact = $request->get('senior_nok_contact'); $elderly->medical_condition = $request->get('senior_medical'); $elderly->centre_id = $request->get('centre'); if (count($request->get('languages')) < 1) { $errors = array_add($errors, 'languages', 'Language is required.'); } else { foreach ($request->get('languages') as $language) { $v = Validator::make(['language' => $language], ['language' => 'alpha']); if ($v->fails()) { $errors = array_add($errors, 'languages', 'Language must be valid words.'); } } } } if (count($errors) > 0) { return back()->withErrors($errors)->withInput(); } else { if ($request->get('start_location') == "others") { $startLocation->save(); $startLocationId = $startLocation->centre_id; } if ($request->get('end_location') == "others") { $endLocation->save(); $endLocationId = $endLocation->centre_id; } if ($request->get('senior') == "others") { $elderly->save(); foreach ($request->get('languages') as $language) { ElderlyLanguage::create(['elderly_id' => $elderly->elderly_id, 'language' => $language]); } $elderlyId = $elderly->elderly_id; } $activity = Activity::findOrFail($id); $activity->update(['datetime_start' => $request->get('date') . " " . $request->get('time'), 'expected_duration_minutes' => $request->get('duration'), 'category' => 'transport', 'more_information' => $request->get('more_information'), 'location_from_id' => $startLocationId, 'location_to_id' => $endLocationId, 'elderly_id' => $elderlyId, 'centre_id' => $request->get('centre'), 'staff_id' => Auth::user()->staff_id]); return redirect()->route('activities.show', compact('activity'))->with('success', 'Activity is updated successfully!'); } }