AdminController.php 9.58 KB
<?php
namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Input;
use File;
use App\Http\Requests;
use App\Bus;
use App\Users;
use App\Supir;
use App\Pemesanan;
use App\Batal;
use App\Tolak;
use App\Konfirmasi;
use App\Jadwal;
use Validator;
use App\Http\Controllers\Controller;
use App\User;
use Image;


class AdminController extends Controller
{


    public function dashboards()
    {
        if(isset($key)){
            $this->data['pemesanan'] = Pemesanan::where('name','like','%'.$key.'%')->orderBy('id','desc')->paginate(10);
        }else{
            $this->data['pemesanan'] = Pemesanan::orderBy('id','desc')->paginate(10);
        }
        $this->data['pemesanan'] = DB::table('pemesanan')->get();
        $this->data['total'] = DB::table('pemesanan')->where('status','=','request')->get();

        return view('adminlte::k_klien.index',$this->data);
    }

    public function destroyuser($id)
    {
        $user = Users::find($id);
        $user->delete();
        return redirect('user')->with('message','Data User Berhasil di Hapus');
    }
    public function detailuser($id)
    {
        $user = Users::find($id);
        return view('adminlte::k_klien.user.detailuser', compact('user'));
    }

    public function supir()
    {
        $supir = Supir::all();
        return view('adminlte::k_klien.supir.index', compact('supir'));
    }
    public function tambahsupir()
    {
        $supir = Supir::all();
        return view('adminlte::k_klien.supir.tambah', compact('supir'));
    }
    public function storesupir(Request $request)
    {
        $this->validate($request, [
            'id' => 'required',
            'nama_supir' => 'required',
            'ttl' => 'required',
            'alamat' => 'required',
            'jk' => 'required',
            'agama' => 'required',
            'image' => 'required',
        ]);
        $supir = new Supir();
        $supir->id = $request['id'];
        $supir->nama_supir = $request['nama_supir'];
        $supir->ttl = $request['ttl'];
        $supir->alamat = $request['alamat'];
        $supir->jk = $request['jk'];
        $supir->agama = $request['agama'];
        $supir->image = $request['image'];
        $supir->save();
        return redirect('supir')->with('message','Data Supir Berhasil di Tambah');
    }

    public function jadwals()
    {
        $jadwal = Jadwal::all();
        return view('adminlte::k_klien.supir.jadwals', compact('jadwal'));
    }
    public function destroy($id)
    {
        $supir = Supir::find($id);
        $supir->delete();
        return redirect('supir')->with('message','Data Supir Berhasil di Hapus');
    }
    public function detailsupir($id)
    {
        $supir = Supir::find($id);
        return view('adminlte::k_klien.supir.detail', compact('supir'));
    }

    public function ubahsupir($id)
    {
        $supir = Supir::find($id);
        return view('adminlte::k_klien.supir.ubah', compact('supir'));
    }

    public function updatesupir(Request $request, $id)
    {
        $this->validate($request, [
            'id' => 'required',
            'nama_supir' => 'required',
            'ttl' => 'required',
            'alamat' => 'required',
            'jk' => 'required',
            'agama' => 'required',
        ]);

        $supir = Supir::findOrFail($id);

        $supir->id = $request['id'];
        $supir->nama_supir = $request['nama_supir'];
        $supir->ttl = $request['ttl'];
        $supir->alamat = $request['alamat'];
        $supir->jk = $request['jk'];
        $supir->agama = $request['agama'];

        if($request->file('image') == "")
        {
            $supir->image = $supir->image;
        }
        else
        {
            $file       = $request->file('image');
            $fileName   = $file->getClientOriginalName();
            $request->file('image')->move("image/", $fileName);
            $supir->image = $fileName;
        }

        $supir->save();

        return redirect('k_klien/supir')->with('message','Data Supir Berhasil di Ubah');
    }

    public function bus()
    {
        $bus = Bus::all();
        return view('adminlte::k_klien.bus.index', compact('bus'));
    }

    public function busupdate(Request $request, $id)
    {
        $this->validate($request, [
            'id' => 'required',
            'nama_bus' => 'required',
            'jenis_bus' => 'required',
            'plat_bus' => 'required',
            'deskripsi' => 'required',
        ]);

        $bus = Bus::findOrFail($id);

        $bus->id = $request['id'];
        $bus->nama_bus = $request['nama_bus'];
        $bus->jenis_bus = $request['jenis_bus'];
        $bus->plat_bus = $request['plat_bus'];
        $bus->deskripsi = $request['deskripsi'];

        if($request->file('image') == "")
        {
            $bus->image = $bus->image;
        }
        else
        {
            $file       = $request->file('image');
            $fileName   = $file->getClientOriginalName();
            $request->file('image')->move("image/", $fileName);
            $bus->gambar = $fileName;
        }

        $bus->save();

        return redirect('k_klien/bus')->with('message','Data Bus Berhasil di Ubah');
    }

    public function tambahbus()
    {
        $bus = Bus::all();
        return view('adminlte::k_klien.bus.tambah', compact('bus'));
    }
    public function store(Request $request)
    {
        $this->validate($request, [
            'nama_bus' => 'required',
            'jenis_bus' => 'required',
            'plat_bus' => 'required',
            'deskripsi' => 'required',
            'gambar' => 'required',
        ]);
        $bus = new Bus();
        $bus->nama_bus = $request['nama_bus'];
        $bus->jenis_bus = $request['jenis_bus'];
        $bus->plat_bus = $request['plat_bus'];
        $bus->deskripsi = $request['deskripsi'];
        $bus->gambar = $request['gambar'];

        $bus->save();

        return redirect('k_klien/bus')->with('message','Data Bus Berhasil Ditambah');
    }

    public function destroybus($id)
    {
        $bus = Bus::find($id);
        $bus->delete();
        return redirect('k_klien/bus')->with('message','Data Bus Berhasil di Hapus');
    }
    public function detailbus($id)
    {
        $bus = Bus::find($id);
        return view('adminlte::k_klien.bus.detail', compact('bus'));
    }
    public function ubahbus($id)
    {
        $bus = Bus::find($id);
        return view('adminlte::k_klien.bus.ubahbus', compact('bus'));
    }

    public function pemesanan()
    {
        $pemesanan = Pemesanan::all();
        return view('adminlte::k_klien.pemesanan.index', compact('pemesanan'));
    }

    public function detailpemesanan($id)
    {
        $pemesanan = Pemesanan::find($id);
        return view('adminlte::k_klien.pemesanan.detail', compact('pemesanan'));
    }

    public function update(Request $request, $id)
    {
        $this->validate($request, [
            'tujuan' => 'required',
            'jumlah' => 'required',
            'alasan' => 'required',
            'berangkat' => 'required',
            'kembali' => 'required',
            'plat_bus' => 'required',
            'name' => 'required',
            'status' => 'required',
        ]);

        $pemesanan = Pemesanan::findOrFail($id);

        $pemesanan->tujuan = $request['tujuan'];
        $pemesanan->jumlah = $request['jumlah'];
        $pemesanan->alasan = $request['alasan'];
        $pemesanan->berangkat = $request['berangkat'];
        $pemesanan->kembali = $request['kembali'];
        $pemesanan->plat_bus = $request['plat_bus'];
        $pemesanan->name = $request['name'];
        $pemesanan->status = $request['status'];
        $pemesanan->save();

        return redirect('k_klien/pemesanan')->with('message','Data Pemesanan Berhasil di Konfirmasi');
    }

    public function tolakpesanan($id)
    {
        $pemesanan = Pemesanan::find($id);
        return view('adminlte::k_klien.pemesanan.tolakpesanan', compact('pemesanan'));
    }

    public function ditolak(Request $request, $id)
    {
        $this->validate($request, [
            'tujuan' => 'required',
            'jumlah' => 'required',
            'alasan' => 'required',
            'berangkat' => 'required',
            'kembali' => 'required',
            'plat_bus' => 'required',
            'name' => 'required',
            'status' => 'required',
            'alasan_tolak' => 'required',
            'saran' => 'required',
        ]);

        $tolak = new Tolak();
        $tolak->tujuan = $request['tujuan'];
        $tolak->jumlah = $request['jumlah'];
        $tolak->alasan = $request['alasan'];
        $tolak->berangkat = $request['berangkat'];
        $tolak->kembali = $request['kembali'];
        $tolak->plat_bus = $request['plat_bus'];
        $tolak->name = $request['name'];
        $tolak->status = $request['status'];
        $tolak->alasan_tolak = $request['alasan_tolak'];
        $tolak->saran = $request['saran'];
        $tolak->save();

        $pemesanan = Pemesanan::find($id);
        $pemesanan->delete();

        return redirect('history')->with('message','Penolakan Berhasil Dilakukan');
    }

    public function history()
    {
        $riwayat = Konfirmasi::all();
        $riwayat2 = Batal::all();
        return view('adminlte::k_klien.history.index', compact('riwayat','riwayat2'));
    }

    public function detailriwayat($id)
    {
        $riwayat = Konfirmasi::find($id);
        return view('adminlte::k_klien.history.detail', compact('riwayat'));
    }
    public function detailriwayat2($id)
    {
        $riwayat2 = Batal::find($id);
        return view('adminlte::k_klien.history.detail2', compact('riwayat2'));
    }
}