/** * Display a listing of the resource. * * @return Response */ public function index() { if (!Settings::item('page_map')) { abort(404); } $apartment = Apartment::active()->where('map_lat', '!=', '')->where('map_lng', '!=', '')->paginate(50); return view('map.index', ['apartments' => $apartment]); }
public function run() { foreach (range(1, 32) as $index) { Apartment::create(['name' => 'CS' . $index, 'number' => $index, 'property_id' => 1]); } foreach (range(1, 60) as $index) { Apartment::create(['name' => 'SG' . $index, 'number' => $index, 'property_id' => 2]); } Apartment::create(['name' => '1807H1', 'number' => 1, 'property_id' => 3]); }
/** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(Request $request, Apartment $apartment) { // $input = $request->all(); //$apartment = Apartment::find($id); $apartment->fill($input); $apartment->save(); return back(); }
/** * Uploads new apartment photos * * * @return Response */ public function uploader() { $photos = Apartment::uploader(); return view('admin.apartment._img_container', ['photos' => $photos['photos'], 'errors' => $photos['errors']]); }
public function index() { $apartments = Apartment::all(); return view('booking.index', compact('apartments')); }
public function getAllAppartments() { $query = Apartment::with('images')->with('accessories')->get(); return Response::json($query); }
public function destroyApartment() { $input = Input::all(); Apartment::destroy($input['id']); return Redirect::to('booking/admin'); }
/** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { // $this->validate($request, ['startdate' => 'required|date', 'enddate' => 'required|date', 'monthly_rent' => 'required|numeric', 'pet_rent' => 'numeric', 'deposit' => 'numeric', 'pet_deposit' => 'numeric']); $input = $request->all(); $input['startdate'] = Carbon::parse($input['startdate']); $input['enddate'] = Carbon::parse($input['enddate']); $apartment = Apartment::find($input['apartment_id']); // Check for Date overlap on existing leases if (!$apartment->checkAvailability($input['startdate'], $input['enddate'])) { return back()->withInput()->with('error', 'These dates are not available!'); } $lease = Lease::create(['apartment_id' => $input['apartment_id'], 'startdate' => $input['startdate'], 'enddate' => $input['enddate'], 'monthly_rent' => $input['monthly_rent'], 'pet_rent' => $input['pet_rent']]); //Create Lease Details $start = $lease->startdate; $end = $lease->enddate; $inc = \DateInterval::createFromDateString('first day of next month'); $p = new \DatePeriod($start, $inc, $end); foreach ($p as $d) { // echo $p . " - " . $d . "<br>"; // dd($p); $d = Carbon::instance($d); $lease_detail = new LeaseDetail(); $lease_detail->month = $d->format('n'); $lease_detail->year = $d->format('Y'); // echo $end->month . " " . $end->year . " + " . $d->format('n') . " " . $d->format('Y'); //If the startdate has the same month and year as the current month, calculate a partial if ($start->month == $d->format('n') && $start->year == $d->format('Y')) { $multiplier = (date('t', strtotime($d->format('Y-m-d'))) - ($start->day - 1)) / date('t', strtotime($d->format('Y-m-d'))); $lease_detail->startdate = $start; $lease_detail->enddate = Carbon::parse('last day of ' . $d->format('F') . " " . $d->year); // echo "Remaining Days/Total Days in Month (" . date('t',strtotime($d->format('Y-m-d'))) . " - " . ($start->day-1) . "/" . date('t',strtotime($d->format('Y-m-d'))) . ") Mulitiplier: "; } elseif ($end->month == $d->format('n') && $end->year == $d->format('Y')) { $multiplier = $end->day / date('t', strtotime($d->format('Y-m-d'))); $lease_detail->startdate = Carbon::parse('first day of ' . $d->format('F') . " " . $d->year); $lease_detail->enddate = $end; // echo "# of Days in Last Month/Total Days in Month (" . ($end->day) . "/" . date('t',strtotime($d->format('Y-m-d'))) . ") Mulitiplier: "; } else { //echo '- Full Month'; $multiplier = 1.0; $lease_detail->startdate = Carbon::parse('first day of ' . $d->format('F') . " " . $d->year); $lease_detail->enddate = Carbon::parse('last day of ' . $d->format('F') . " " . $d->year); } // echo $multiplier . "<br>"; $lease_detail->multiplier = $multiplier; $lease_detail->monthly_rent = round($lease->monthly_rent * $multiplier, 2); $lease_detail->monthly_pet_rent = round($lease->pet_rent * $multiplier, 2); $lease->details()->save($lease_detail); } // Create Lease Deposits if (!empty($input['deposit'])) { $ld = new LeaseDeposit(); $ld->amount = $input['deposit']; $ld->deposit_type = 'Damage Deposit'; $lease->leaseDeposits()->save($ld); } if (!empty($input['pet_deposit'])) { $pd = new LeaseDeposit(); $pd->amount = $input['pet_deposit']; $pd->deposit_type = 'Pet Deposit'; $lease->leaseDeposits()->save($pd); } return redirect()->action('LeaseController@show', [$apartment->name, $lease->id]); }
public function getLookDetail($ls) { $file = \App\MeterFile::where('active', 1)->first(); if (!$file) { return back()->withErrors('Необходимо активировать базу.'); } $apartment = \App\Apartment::where('ls', $ls)->first(); if (!$apartment) { abort(404); } $building = $apartment->building; $street = $building->street; $full_address = $street->prefix . '. ' . $street->name . ', д. ' . $building->number . ($building->housing ? '/' . $building->housing : '') . ' кв. ' . $apartment->number . ($apartment->part ? '/' . $apartment->part : ''); $meters = \App\Meter::where('apartment_id', $apartment->id)->orderBy('service_id')->get(); $meter_ids = []; foreach ($meters as $m) { array_push($meter_ids, $m->id); } $old_values = \App\MeterValue::where('file_id', $file->id)->whereIn('meter_id', $meter_ids)->get(); $meter_values = []; foreach ($old_values as $ov) { $meter_values[$ov->meter_id] = $ov; } return view('admin.detail', ['address' => $full_address, 'apartment' => $apartment, 'meters' => $meters, 'meter_values' => $meter_values, 'file' => $file->id]); }
public function apartament($apartament_id) { $apartament = \App\Apartment::where('active', '1')->where('id', $apartament_id)->firstOrFail(); return view('apartment', ['apartament' => $apartament, 'page' => 'apartment']); }
/** * Display a listing of the resource. * * @return Response */ public function index() { $apartment = Apartment::active()->orderBy('id', 'DESC')->paginate(12); $slider_photos = Apartment::sliderPhotoArray(); return view('index', ['apartments' => $apartment, 'slider_photos' => $slider_photos]); }
public static function removePhotoFromApartments($photos, $id) { $apartment = Apartment::where('id', $id)->get(['photos'])->first(); if ($apartment->photos) { if (!$photos) { $photos = []; } $removed = array_diff(json_decode($apartment->photos), $photos); foreach ($removed as $photo) { @unlink(self::$apartment_folder . '/' . $id . '/' . $photo); @unlink(self::$apartment_folder . '/' . $id . '/ico_' . $photo); } } }
public function saveFeedback(Request $request) { if (!session()->has('can-save')) { return json_encode(['success' => false, 'errors' => ['Ошибка прав доступа на сохранение отзыва.']]); } session()->flash('can-save', '1'); $validator = Validator::make($request->all(), ['owner' => 'required|exists:apartments,ls', 'feedtext' => 'required'], ['feedtext.required' => 'Заполните текст отзыва.']); if ($validator->fails()) { return json_encode(['success' => false, 'errors' => $validator->errors()->all()]); } $ls = $request->input('owner'); $text = $request->input('feedtext'); $apartment = \App\Apartment::where('ls', $ls)->first(); $building = $apartment->building; $street = $building->street; $full_address = $street->prefix . '. ' . $street->name . ', д. ' . $building->number . ($building->housing ? '/' . $building->housing : '') . ' кв. ' . $apartment->number . ($apartment->part ? '/' . $apartment->part : ''); $feed = new \App\Feedback(); $feed->address = $full_address; $feed->ls = $ls; $feed->text = $text; $feed->save(); return json_encode(['success' => true]); }