<?php

namespace App\Controllers;

use App\Models\Mp_model;

class Manajemen_pengguna extends BaseController
{
    protected $mp_model;

    public function __construct()
	{
        $this->mp_model = new Mp_model();
	}

	public function akun()
	{
        $data['page_title'] = 'Manajemen Pengguna';
        $data['sub_title'] = 'Akun';
		return view('manajemen_pengguna/index_akun', $data);
	}

    public function personil()
    {
        $data['page_title'] = 'Manajemen Pengguna';
        $data['sub_title'] = 'Personil';
        $data['data'] = $this->mp_model->get_personil();
		return view('manajemen_pengguna/index_personil', $data);
    }

    public function unit()
    {
        $data['page_title'] = 'Manajemen Pengguna';
        $data['sub_title'] = 'Personil';
		return view('manajemen_pengguna/index_unit', $data);
    }

    public function tambah_data($jenis)
    {
        if($jenis == 'personil'){
            $page_name = 'tambah_personil';
            $data = $this->proses_tambah_personil($jenis);
        }
        if($jenis == 'akun'){
            $page_name = 'tambah_akun';
            $data = $this->proses_tambah_akun($jenis);
        }
        if($jenis == 'unit'){
            $page_name = 'tambah_unit';
            $data = $this->proses_tambah_unit($jenis);
        }
		return view("manajemen_pengguna/$page_name", $data);
    }

    public function proses_tambah_personil($jenis)
    {
        $data['page_title'] = 'Tambah Data '. ucwords($jenis);
        $data['sub_title'] = 'Personil';
        $data['data'] = $this->mp_model->get_personil();
		return $data;
    }

    public function proses_tambah_unit($jenis)
    {
        $data['page_title'] = 'Tambah Data '. ucwords($jenis);
        $data['sub_title'] = 'Personil';
		return $data;
    }

    public function proses_tambah_akun($jenis)
    {
        $data['page_title'] = 'Tambah Data '. ucwords($jenis);
        $data['sub_title'] = 'Personil';
		return $data;
    }

    public function save($jenis)
    {
        if($jenis == 'personil'){
            $data = $this->request->getVar();
            $status = $this->save_tambah_personil($data);
        }
        if($jenis == 'akun'){
            $data = $this->request->getVar();
            $status = $this->save_tambah_akun($data);
        }
        if($jenis == 'unit'){
            $data = $this->request->getVar();
            $status = $this->save_tambah_unit($data);
        }
        session()->setFlashdata('pesan', 'Data '.$jenis.' berhasil ditambahkan.');
		return redirect()->to("/manajemen_pengguna/$jenis");
    }

    public function save_tambah_personil($data)
    {
        $this->mp_model->save([
			'nama' => $data['nama'],
			'email' => $data['email'],
			'nomor_telepon' => $data['nomor_telepon']
		]);
        return 1;
    }

    public function save_tambah_akun($data)
    {

    }

    public function save_tambah_unit($data)
    {

    }

    public function edit($jenis, $id)
    {
        if($jenis == 'personil'){
            $page_name = 'edit_personil';
            $data = $this->proses_edit_personil($jenis, $id);
        }
        if($jenis == 'akun'){
            $page_name = 'edit_akun';
            $data = $this->proses_edit_akun($jenis, $id);
        }
        if($jenis == 'unit'){
            $page_name = 'edit_unit';
            $data = $this->proses_edit_unit($jenis, $id);
        }
		return view("manajemen_pengguna/$page_name", $data);
    }

    public function proses_edit_personil($jenis, $id)
    {
        $data['page_title'] = 'Edit Data '. ucwords($jenis);
        $data['sub_title'] = 'Personil';
        $data['id'] = $id;
        $data['data'] = $this->mp_model->get_personil($id);
        return $data;
    }

    public function proses_edit_akun($jenis, $id)
    {
        $data['page_title'] = 'Edit Data '. ucwords($jenis);
        $data['sub_title'] = 'Personil';
        $data['data'] = $this->mp_model->get_personil($id);
        return $data;
    }

    public function proses_edit_unit($jenis, $id)
    {
        $data['page_title'] = 'Edit Data '. ucwords($jenis);
        $data['sub_title'] = 'Personil';
        $data['data'] = $this->mp_model->get_personil($id);
        return $data;
    }

    public function update($jenis, $id)
    {
        if($jenis == 'personil'){
            $data = $this->request->getVar();
            $status = $this->update_personil($data, $id);
        }
        if($jenis == 'akun'){
            $data = $this->request->getVar();
            $status = $this->update_akun($data, $id);
        }
        if($jenis == 'unit'){
            $data = $this->request->getVar();
            $status = $this->update_unit($data, $id);
        }
        session()->setFlashdata('pesan', 'Data '.$jenis.' berhasil diupdate.');
		return redirect()->to("/manajemen_pengguna/$jenis");
    }

    public function update_personil($data, $id)
    {
        $this->mp_model->save([
            'id' =>$id,
			'nama' => $data['nama'],
			'email' => $data['email'],
			'nomor_telepon' => $data['nomor_telepon']
		]);
        return 1;
    }

    public function update_akun($data, $id)
    {

    }

    public function update_unit($data, $id)
    {

    }
}