Anons79 Mini Shell

Directory : /home/aplikasiposinfo/www/demo-jadwal.aplikasipos.info/app/Http/Controllers/
Upload File :
Current File : /home/aplikasiposinfo/www/demo-jadwal.aplikasipos.info/app/Http/Controllers/TryOutController.php

<?php

namespace App\Http\Controllers;

use App\Helpers\WaHelpers;
use App\Models\Jadwal;
use App\Models\Petugas;
use App\Models\Siswa;
use App\Models\TargetCapaian;
use App\Models\TesTryoutCatOnline;
use App\Models\User;
use Carbon\Carbon;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;

class TryOutController extends Controller
{
    /**
     * Display a listing of the resource.s
     */
    protected $title = 'Try Out Cat Online';
    protected $url = 'tryout';
    public function index()
    {
        //
        $data['title'] = $this->title;
        $data['url'] = $this->url;
        if (Auth::user()->hasRole('Admin'))
        {
            if(isset($_GET['siswa_id'])) {
                $data['menu'] = "jadwal kegiatan";
                // $jadwalKegiatan = JadwalHarian::with('jenisKegiatan')->where('user_id', $_GET['siswa_id'])->get();
                $data['jadwal'] = Jadwal::where('user_id', $_GET['siswa_id'])->whereNotNull("tes_tryout_cat_online_id")->get();
                return view('pages.tryout.index', $data);
            } else {
                $data['siswa'] = User::role('Siswa')->get();
                $data['menu'] = "siswa";
                return view('pages.tryout.index', $data);
            }

            // Tindakan untuk pengguna dengan role 'Orang Tua'
        } else {
            if (Auth::user()->hasRole('Petugas')) {
                $data['menu'] = "jadwal kegiatan";
                $petugas = Petugas::where('user_id', Auth::user()->id)->first();
                $data['jadwal'] = Jadwal::where('petugas_id', $petugas->id)->get();
            } else {
                $data['menu'] = "jadwal kegiatan";
                $siswa = Siswa::where('user_id', Auth::user()->id)->first();
                if($siswa->status != 'aktif') {
                    return redirect()->back()->with('error', 'Halaman ini tidak dapat diakses karena data anda masih belum dikonfirmasi!.');

                }
                $data['jadwal'] = Jadwal::where('user_id', Auth::user()->id)->WhereNotNull("tes_tryout_cat_online_id")->get();
            }


            return view('pages.tryout.index', $data);
        }

    }

    /**
     * Show the form for creating a new resource.
     */
    public function create()
    {
        //
        $siswa = Siswa::where('user_id', Auth::user()->id)->first();
        if($siswa->status != 'aktif') {
            return redirect()->back()->with('error', 'Halaman ini tidak dapat diakses karena data anda masih belum dikonfirmasi!.');
        }
        $data['title'] = $this->title;
        $data['url'] = $this->url;
        $data['pengawas'] = Petugas::get();
        $data['test'] = TesTryoutCatOnline::get();
        return view('pages.tryout.create', $data);
    }

    /**
     * Store a newly created resource in storage.
     */
    public function store(Request $request)
    {
        $request->validate([
            'test' => 'required',
            'location' => 'required',
            'all_day' => 'required',
            'tanggal' => 'required',
            'start' => 'required',
            'end' => 'required',
            'petugas_id' => 'required',
        ]);

        $test = TesTryoutCatOnline::find($request->test);


        $jadwal = Jadwal::create([
            'user_id' => Auth::user()->id,
            'kegiatan' => $test->nama,
            'location' => $request->location,
            'all_day' => $request->all_day,
            'start' => $request->tanggal." ".$request->start,
            'ends' => $request->tanggal." ".$request->end,
            'petugas_id' => $request->petugas_id,
            'notes' => $request->notes,
            'target' => 0,
            'tes_tryout_cat_online_id' => $test->id
        ]);

        TargetCapaian::create([
            'jadwal_id' => $jadwal->id,
            'tanggal' => $request->tanggal,
            'waktu_awal' => $request->start,
            'waktu_akhir' => $request->end,
            'capaian' => 0,
            'score' => 0,
        ]);


        $siswa = Siswa::where('user_id', Auth::user()->id)->first();
        $pesan = "Siswa anda bernama ".$siswa->nama_siswa." menambah kegiatan Try Out Cat Online bernama ".$request->kegiatan. "berlokasi di ".$request->location." tanggal "."LALA"." mulai dari ".$request->start." sampai ".$request->ends.".";
        WaHelpers::sendWa($siswa->no_hp_orang_tua , $pesan);

        $petugas = Petugas::find($request->petugas_id);
        $pesan = "Seorang siswa bernama ".$siswa->nama_siswa." dengan nomor identitas ".$siswa->no_identitas." memilih anda sebagai pengawas dalam kegiatan ".$request->kegiatan. "berlokasi di ".$request->location." tanggal "."LALA"."mulai dari ".$request->start." sampai ".$request->ends.".";
        WaHelpers::sendWa($petugas->no_hp , $pesan);
        return redirect($this->url)->with('success', 'Jadwal Test Try Out berhasil ditambahkan.');
    }

    /**
     * Display the specified resource.
     */
    public function show(string $id)
    {
        $data['title'] = $this->title;
        $data['url'] = $this->url;
        $data['jadwal'] = Jadwal::find($id);
        // $data['menu'] = "jadwal kegiatan";
        // dd($data['jadwal']->target);
        return view('pages.tryout.show', $data);
    }

    /**
     * Show the form for editing the specified resource.
     */
    public function edit(string $id)
    {
        $siswa = Siswa::where('user_id', Auth::user()->id)->first();
        if($siswa->status != 'aktif') {
            return redirect()->back()->with('error', 'Halaman ini tidak dapat diakses karena data anda masih belum dikonfirmasi!.');

        }
        $data['title'] = $this->title;
        $data['url'] = $this->url;
        $data['pengawas'] = Petugas::get();
        $data['test'] = TesTryoutCatOnline::get();
        $data['jadwal'] = Jadwal::find($id);

        return view('pages.tryout.edit', $data);
    }

    /**
     * Update the specified resource in storage.
     */
    public function update(Request $request, string $id)
    {
        if(isset($_GET['nilai'])) {
            TargetCapaian::where('id', $_GET['target'])->update([
                'capaian' => 1,
            ]);

            $jadwal = Jadwal::find($id);
            $target = TargetCapaian::find($_GET['target']);
            $siswa = Siswa::where('user_id', Auth::user()->id)->first();
            $pesan = "Siswa anda bernama ".$siswa->nama_siswa." untuk kegiatan bernama ".$jadwal->kegiatan. "berlokasi di ".$jadwal->location." pada tanggal ".date('d, F Y', strtotime($target->tanggal))." targetnya telah tercapai.";
            WaHelpers::sendWa($siswa->no_hp_orang_tua , $pesan);

            $petugas = Petugas::find($jadwal->petugas_id);
            $pesan = "Seorang siswa bernama ".$siswa->nama_siswa." dengan nomor identitas ".$siswa->no_identitas." memilih anda sebagai pengawas dalam kegiatan ".$jadwal->kegiatan. "berlokasi di ".$jadwal->location." pada tanggal ".date('d, F Y', strtotime($target->tanggal))." targetnya telah tercapai.";
            WaHelpers::sendWa($petugas->no_hp , $pesan);

            return redirect()->back()->with('success', 'Target anda telah tercapai pada Jadwal kegiatan ini!');
        } else {

            $request->validate([
                'test' => 'required',
                'location' => 'required',
                'all_day' => 'required',
                'tanggal' => 'required',
                'start' => 'required',
                'end' => 'required',
                'petugas_id' => 'required',
            ]);

            $test = TesTryoutCatOnline::find($request->test);


            $jadwal = Jadwal::where('id', $id)->update([
                'user_id' => Auth::user()->id,
                'kegiatan' => $test->nama,
                'location' => $request->location,
                'all_day' => $request->all_day,
                'start' => $request->tanggal." ".$request->start,
                'ends' => $request->tanggal." ".$request->end,
                'petugas_id' => $request->petugas_id,
                'notes' => $request->notes,
                'target' => 0,
                'tes_tryout_cat_online_id' => $test->id
            ]);

            TargetCapaian::where('jadwal_id', $id)->update([

                'tanggal' => $request->tanggal,
                'waktu_awal' => $request->start,
                'waktu_akhir' => $request->end,
                'capaian' => 0,
            ]);



            $jadwal = Jadwal::find($id);
            $siswa = Siswa::where('user_id', Auth::user()->id)->first();
            $pesan = "Siswa anda bernama ".$siswa->nama_siswa." melakukan perubahan kegiatan bernama ".$jadwal->kegiatan." menjadi ".$request->kegiatan. "berlokasi di ".$request->location." mulai dari ".$request->start." sampai ".$request->ends.".";
            WaHelpers::sendWa($siswa->no_hp_orang_tua , $pesan);

            if($request->petugas_id != $jadwal->petugas_id) {
                $petugasLama = Petugas::find($jadwal->petugas_id);
                $petugasBaru = Petugas::find($request->petugas_id);

                $pesan = "Seorang siswa bernama ".$siswa->nama_siswa." dengan nomor identitas ".$siswa->no_identitas." mengganti pengawas yang awalnya adalah ".$petugasLama->nama_petugas." menjadi ".$petugasBaru->nama_petugas." sebagai pengawas dalam kegiatan ".$request->kegiatan. "berlokasi di ".$request->location." mulai dari ".$request->start." sampai ".$request->ends.".";
                WaHelpers::sendWa($petugasLama->no_hp , $pesan);

                $pesan = "Seorang siswa bernama ".$siswa->nama_siswa." dengan nomor identitas ".$siswa->no_identitas." memilih anda sebagai pengawas dalam kegiatan ".$request->kegiatan. "berlokasi di ".$request->location." mulai dari ".$request->start." sampai ".$request->ends.".";
                WaHelpers::sendWa($petugasBaru->no_hp , $pesan);
            }


            return redirect($this->url)->with('success', 'Jadwal kegiatan berhasil diubah.');
        }
    }

    /**
     * Remove the specified resource from storage.
     */
    public function destroy(string $id)
    {
        //
        $jadwal = Jadwal::find($id);
        $siswa = Siswa::where('user_id', Auth::user()->id)->first();
        $pesan = "Siswa anda bernama ".$siswa->nama_siswa." Menghapus kegiatan yang bernama ".$jadwal->kegiatan. "berlokasi di ".$jadwal->location." mulai dari ".$jadwal->start." sampai ".$jadwal->ends.".";
        WaHelpers::sendWa($siswa->no_hp_orang_tua , $pesan);

        $petugas = Petugas::find($jadwal->petugas_id);
        $pesan = "Seorang siswa bernama ".$siswa->nama_siswa." yang anda awasi telah menghapus kegiatan yang bernama ".$jadwal->kegiatan. "berlokasi di ".$jadwal->location." mulai dari ".$jadwal->start." sampai ".$jadwal->ends.".";
        WaHelpers::sendWa($petugas->no_hp , $pesan);
        TargetCapaian::where('jadwal_id', $id)->delete();
        $jadwal->delete();
        return redirect($this->url)->with('success', 'Jadwal kegiatan berhasil dihapus.');

    }
}

Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]