<?php namespace App\Http\Controllers; use App\Homestay; use App\ListBook; use App\RequestHomestay; use App\Room; use Illuminate\Http\Request; use App\User; use Validator; use App\Http\Controllers\Controller; use Illuminate\Foundation\Auth\RegistersUsers; use App\Owner; use Illuminate\Support\Facades\DB; use App\RequestFasilitas; class AdminController extends Controller { public function __construct(){ $this->middleware('auth'); $this->middleware('dinaspariwisata'); } public function index() { return view('adminlte::home'); } //Mengakses Daftar Pemesanan public function listPesanan(){ $data = DB::table('homestay') ->join('daftar_book','homestay.id','=','daftar_book.homestay') ->select('daftar_book.*','homestay.nama_homestay','homestay.owner') ->get(); return view('adminlte::layouts.admin.dataPemesanan')->with('data',$data); } //Mengakses Daftar Owner public function listOwner(){ $count = User::all()->where('role',"Owner")->count(); $data = User::all()->where('role',"Owner"); //dd($data); return view('adminlte::layouts.admin.listOwner')->with('data',$data)->with('count',$count); } //Menambah owner public function create() { return view('adminlte::layouts.admin.addOwner'); } //Meyimpan Data Owner public function store(Request $request) { $this->validate($request,[ 'name' => 'required|min:5|max:35', 'username' => 'required|min:5|max:35', 'email' => 'required|email|unique:users', 'password' => 'required|min:6|max:20', 'password_confirmation' => 'required|min:3|max:20|same:password', ],[ 'name.required' => ' Nama Harus di isi', 'name.min' => ' Nama minimal 5 characters.', 'name.max' => ' Nama maksimal 35 characters.', 'username.required' => ' Username Harus di isi', 'username.min' => ' Usename minimal 5 characters.', 'username.max' => ' Username maksimal 35 characters.', 'password.required' => 'Password Harus di isi', 'password_confirmation.required' => 'Password Confirmasi Harus di isi', ]); $data = $request->all(); $user = new User(); $user->name = $data['name']; $user->username = $data['username']; $user->email = $data['email']; $user->password = bcrypt($data['password']); $user->role = 'Owner'; $user->save(); $dataPemilik = DB::table('users') ->select('users.id') ->where('username','=',$data['username']) ->get(); //dd($dataPemilik->id); $owner = new Owner(); $owner->nama = $data['name']; $owner->id_akun = $dataPemilik[0]->id; $owner->alamat = '--'; $owner->pekerjaan = '--'; $owner->no_telepon = '--'; $owner->no_rekening = '--'; $owner->foto = 'gravatar.png'; $owner->save(); return redirect(url('admin/create'))->with('info', 'User berhasil ditambah '); } //Menampilkan Daftar RequestHomestay public function RequestHomestay(){ $data = DB::table('pemilikhomestay') ->join('pengajuan_homestay','pemilikhomestay.id','=','pengajuan_homestay.id_pemilik_homestay') ->select('pemilikhomestay.nama','pengajuan_homestay.*') ->get(); $count = $data->count(); return view('adminlte::layouts.admin.listPengajuan')->with('data',$data) ->with('count',$count); } //Melakuan Aksi Untuk memproses Permintaan Admin public function UpdateRequestFasilitass($id){ //$data = DB::table('requestfasilitas')->where('id', $id)->first(); $RF = RequestFasilitas::find($id); $RF->status = 2; $RF->update(); return redirect('requestFasilitas'); } public function UpdateRequestFasilitas($id){ $RF = RequestFasilitas::find($id); $RF->status = 1; $RF->update(); return redirect('requestFasilitas'); } //Mengakses Daftar Request Fasilitas public function RequestFasilitas(){ $data = DB::table('pemilikhomestay') ->join('requestfasilitas','pemilikhomestay.id','=','requestfasilitas.id_pemilik_homestay') ->select('pemilikhomestay.nama','requestfasilitas.*') ->get(); $count = $data->count(); return view('adminlte::layouts.admin.listRequestFasilitas')->with('data',$data)->with('count',$count); } //Penyetujuan Pengajuan Homestay public function AccPengajuanHomestay($id){ $RH = RequestHomestay::find($id); $RH->status = 1; $data = DB::table('pengajuan_homestay') ->join('pemilikhomestay','pemilikhomestay.id','=','pengajuan_homestay.id_pemilik_homestay') ->select('pemilikhomestay.nama','pemilikhomestay.alamat') ->where('pemilikhomestay.id','=',$RH->id_pemilik_homestay) ->get(); //dd($data); $hs = new Homestay(); $hs->id_pemilik = $RH->id_pemilik_homestay; $hs->nama_homestay = $RH->nama_homestay; $hs->owner = $data[0]->nama ; $hs->alamat = $data[0]->alamat; $hs->jumlah_kamar = $RH->jumlah_kamar; $hs->harga = 150000; $hs->status='----'; $hs->save(); $idHts = DB::table('homestay') ->select('homestay.*') ->where('homestay.owner','=',$data[0]->nama) ->get(); for ($i = 1;$i<=$RH->jumlah_kamar;$i++){ $km = new Room(); $km->id_homestay = $idHts[0]->id; $km->nomor_kamar = $i; $km->jumlah_bed = 2; $km->save(); } $RH->update(); return redirect('requestHomestay'); } }