diff --git a/.env.example b/.env.example index 9a9d0dc7e0052663cc5572bb0e96cbcb7888b8cd..b1242d038e5f08126be2f37fe889bbd9ae80028f 100644 --- a/.env.example +++ b/.env.example @@ -10,6 +10,22 @@ DB_DATABASE=homestead DB_USERNAME=homestead DB_PASSWORD=secret +KTPKK_DB_CONNECTION=mysql +KTPKK_DB_HOST=167.205.35.176 +KTPKK_DB_PORT=3306 +KTPKK_DB_DATABASE=db_ppl_core +KTPKK_DB_USERNAME=root +KTPKK_DB_PASSWORD=ppl2016 + +KTPKK_API_URL=167.205.34.149:8000/api/kawin + +CORE_DB_CONNECTION=mysql +CORE_DB_HOST=167.205.35.176 +CORE_DB_PORT=3306 +CORE_DB_DATABASE=db_ppl_core +CORE_DB_USERNAME=root +CORE_DB_PASSWORD=ppl2016 + CACHE_DRIVER=file SESSION_DRIVER=file QUEUE_DRIVER=sync diff --git a/.env.example.swp b/.env.example.swp new file mode 100644 index 0000000000000000000000000000000000000000..68e9570221ed5d7fe0bea2263fd5372a863c0d55 Binary files /dev/null and b/.env.example.swp differ diff --git a/app/Http/Controllers/Admin/PencatatanController.php b/app/Http/Controllers/Admin/PencatatanController.php new file mode 100644 index 0000000000000000000000000000000000000000..7bf4f73df896b88e345ce6a7353f1178169741a1 --- /dev/null +++ b/app/Http/Controllers/Admin/PencatatanController.php @@ -0,0 +1,78 @@ +<?php + +namespace App\Http\Controllers\Admin; + +use App\Http\Controllers\Controller; +use App\Models\Permohonan; +use App\Models\Pencatatan; +use Illuminate\Http\Request; +use Illuminate\Support\Facades\Auth; +use App\Services\PencatatanService; +use Illuminate\Support\Facades\Redirect; + + +class PencatatanController extends Controller +{ + private $pencatatanService; + + public function __construct() + { + $this->pencatatanService = new PencatatanService(); + } + + public function create($id_permohonan) + { + $permohonan = Permohonan::where('id', '=', $id_permohonan)->first(); + $this->pencatatanService->createPencatatan($permohonan); + + return redirect()->action('Admin\PermohonanController@index'); + } + + public function update($id,Request $request) + { + $pencatatan = Pencatatan::where('id', '=', $id)->first(); + + $errorMessages = []; + if ($request->session()->has('errorMessages')) { + $errorMessages = $request->session()->get('errorMessages'); + $permohonan->fill($request->session()->get('permohonanData')); + $request->session()->forget(['errorMessages', 'permohonanData']); + } + return view('pencatatan.update', [ + 'pencatatan' => $pencatatan, + 'errorMessages' => $errorMessages + ]); + } + + public function postUpdate(Request $request) + { + $user = Auth::user(); + + $rules = [ + 'noKtpPria' => 'required|digits:16', + 'namaPria' => 'required', + 'noKtpWanita' => 'required|digits:16', + 'namaWanita' => 'required', + 'statusPria' => 'required', + 'statusWanita' => 'required', + 'istriPriaSebelumnya' => 'required_if:statusPria,1', + 'suamiWanitaSebelumnya' => 'required_if:statusWanita,1' + ]; + + $messages = [ + 'required'=> 'Field :attribute tidak boleh kosong', + 'digits' => 'Field :attribute harus berupa angka dan memiliki panjang 16 digit' + ]; + + $validator = Validator::make($request->input(), $rules, $messages); + + if ($validator->fails()) { + $request->session()->set('errorMessages', $validator->errors()->all()); + $request->session()->set('permohonanData', $request->input()); + return redirect('permohonan/update'); + } else { + $this->permohonanService->updatePermohonan($user, $request->input()); + return redirect('permohonan/update'); + } + } +} diff --git a/app/Http/Controllers/Pencatat/PermohonanController.php b/app/Http/Controllers/Pencatat/PermohonanController.php index b3693a0bc2a8aadba2d5c06649884d0d4a7a1d88..122b629cdcdb7a6c184258a0a2f5fe7f158ab3ae 100644 --- a/app/Http/Controllers/Pencatat/PermohonanController.php +++ b/app/Http/Controllers/Pencatat/PermohonanController.php @@ -6,12 +6,18 @@ use App\Auth; use App\Http\Controllers\Core\PencatatController; use App\Models\Permohonan; use Illuminate\Http\Request; +use App\Services\PermohonanService; +use Illuminate\Support\Facades\Redirect; class PermohonanController extends PencatatController -{ - public function __construct(Request $request) +{ + private $permohonanService; + + public function __construct() { + $this->permohonanService = new PermohonanService(); } + public function index(Request $request) { @@ -33,11 +39,24 @@ class PermohonanController extends PencatatController return redirect()->action('HomeController@login'); } - $user = $this->user($request); - $permohonan = $user->permohonan; + $permohonan = Permohonan::where('id', '=', $id)->first(); return view('admin.permohonan.view', [ 'permohonan' => $permohonan ]); } -} \ No newline at end of file + + public function markApproved(Request $request, $id) + { + //todo kasih otorisasi user khusus petugas + $this->permohonanService->setStatus($id, Permohonan::STATUS_APPROVED); + return Redirect::to('/pencatat'); + } + + public function markNotCompleted(Request $request, $id) + { + //todo kasih otorisasi user khusus petugas + $this->permohonanService->setStatus($id, Permohonan::STATUS_NOT_COMPLETED); + return Redirect::to('/pencatat'); + } +} diff --git a/app/Http/Controllers/PermohonanController.php b/app/Http/Controllers/PermohonanController.php index 58bad9c1535441a6f2e348ce940a7bbde5ab9d17..6753e565ef20965cdd07def5784b737064418ecd 100644 --- a/app/Http/Controllers/PermohonanController.php +++ b/app/Http/Controllers/PermohonanController.php @@ -6,6 +6,7 @@ use App\Auth; use App\Http\Controllers\Core\CommonUserController; use App\Models\Permohonan; use App\Services\PermohonanService; +use App\UserKependudukan; use Illuminate\Http\Request; use Validator; @@ -18,63 +19,163 @@ class PermohonanController extends CommonUserController $this->permohonanService = new PermohonanService(); } - public function index(Request $request) - { - if (!$this->authenticate($request)) { - return redirect()->action('HomeController@login'); - } + public function getToken(){ + if (isset($_GET['token'])) { + return $_GET['token']; + }else return NULL; - $user = $this->user($request); + } + + public function getNIKTerkait($token){ - return view('permohonan.index', [ - 'permohonan' => $user->permohonan - ]); + $nik = null; + + if ($token){ + + $userKependudukan = UserKependudukan::where('token','=',$token)->first(); + + $nik = $userKependudukan->nik; + + } + + return $nik; + } + + public function getPermohonanFromNIK($nik){ + + + $permohonan = Permohonan::where('noKtpPria','=',$nik) + ->orWhere('noKtpWanita','=',$nik) + ->first(); + + return $permohonan; + } + + public function index(Request $request) + { + + $token = $this->getToken(); + + $nik = $this->getNIKTerkait($token); + + if ($nik){ + + $permohonan = $this->getPermohonanFromNIK($nik); + + return view('permohonan.index', [ 'permohonan' => $permohonan, 'token' => $token ]); + + }else{ + + if (!$this->authenticate($request)) { + return redirect()->action('HomeController@login'); + } + + $user = $this->user($request); + + return view('permohonan.index', [ + 'permohonan' => $user->permohonan, 'token' => null + ]); + } } public function create(Request $request) { - if (!$this->authenticate($request)) { - return redirect()->action('HomeController@login'); - } - $user = $this->user($request); - $this->permohonanService->createPermohonan($user); - - return redirect()->action('PermohonanController@update'); + $token = $this->getToken(); + + $nik = $this->getNIKTerkait($token); + + if ($nik){ + + $permohonan = $this->getPermohonanFromNIK($nik); + + $this->permohonanService->createPermohonanNIK($nik); + + return redirect()->action('PermohonanController@update',["token" => $token]); + + }else{ + + if (!$this->authenticate($request)) { + return redirect()->action('HomeController@login'); + } + + $user = $this->user($request); + $this->permohonanService->createPermohonan($user); + + return redirect()->action('PermohonanController@update'); + + } } public function update(Request $request) { - if (!$this->authenticate($request)) { - return redirect()->action('HomeController@login'); - } - - $user = $this->user($request); - if ($this->permohonanService->userHavePermohonan($user)) { - $permohonan = $user->permohonan; - - $errorMessages = []; - if ($request->session()->has('errorMessages')) { - $errorMessages = $request->session()->get('errorMessages'); - $permohonan->fill($request->session()->get('permohonanData')); - $request->session()->forget(['errorMessages', 'permohonanData']); - } - return view('permohonan.update', [ - 'permohonan' => $permohonan, - 'errorMessages' => $errorMessages - ]); - } else { - return redirect()->action('PermohonanController@createPermohonan'); - } + + $token = $this->getToken(); + + $nik = $this->getNIKTerkait($token); + + if ($nik){ + + $permohonan = $this->getPermohonanFromNIK($nik); + + if ($permohonan){ + + $errorMessages = []; + if ($request->session()->has('errorMessages')) { + $errorMessages = $request->session()->get('errorMessages'); + $permohonan->fill($request->session()->get('permohonanData')); + $request->session()->forget(['errorMessages', 'permohonanData']); + } + return view('permohonan.update', [ + 'permohonan' => $permohonan, + 'errorMessages' => $errorMessages, + 'token' => $token + ]); + }else{ + return redirect()->action('PermohonanController@create'); + } + }else{ + + if (!$this->authenticate($request)) { + return redirect()->action('HomeController@login'); + } + + $user = $this->user($request); + if ($this->permohonanService->userHavePermohonan($user)) { + $permohonan = $user->permohonan; + + $errorMessages = []; + if ($request->session()->has('errorMessages')) { + $errorMessages = $request->session()->get('errorMessages'); + $permohonan->fill($request->session()->get('permohonanData')); + $request->session()->forget(['errorMessages', 'permohonanData']); + } + return view('permohonan.update', [ + 'permohonan' => $permohonan, + 'errorMessages' => $errorMessages, + 'token' => null + ]); + } else { + return redirect()->action('PermohonanController@createPermohonan',["token" => $token]); + } + + } } public function postUpdate(Request $request) { - if (!$this->authenticate($request)) { - return redirect()->action('HomeController@login'); - } - - $user = $this->user($request); + + $token = $this->getToken(); + + $nik = $this->getNIKTerkait($token); + + if ($nik==NULL){ + if (!$this->authenticate($request)) { + return redirect()->action('HomeController@login'); + } + + $user = $this->user($request); + } $rules = [ 'noKtpPria' => 'required|digits:16', @@ -97,10 +198,14 @@ class PermohonanController extends CommonUserController if ($validator->fails()) { $request->session()->set('errorMessages', $validator->errors()->all()); $request->session()->set('permohonanData', $request->input()); - return redirect('permohonan/update'); + return redirect('permohonan/update?token='.$token); } else { - $this->permohonanService->updatePermohonan($user, $request->input()); - return redirect('permohonan/update'); + if ($nik){ + $this->permohonanService->updatePermohonanNIK($nik, $request->input()); + }else{ + $this->permohonanService->updatePermohonan($user, $request->input()); + } + return redirect('permohonan/update?token='.$token); } } diff --git a/app/Http/routes.php b/app/Http/routes.php index 1c1622af6b8d67843d7c32a5ce8bd9ac10b7e513..f54d07f3464fafa9f5fc6da097812408dd71322a 100644 --- a/app/Http/routes.php +++ b/app/Http/routes.php @@ -48,9 +48,14 @@ Route::group(['middleware' => ['web']], function () { Route::get('/pencatat', 'Pencatat\PermohonanController@index'); Route::get('/pencatat/permohonan/{id}', 'Pencatat\PermohonanController@view'); + + Route::post('/pencatat/permohonan/{id}/approved', 'Pencatat\PermohonanController@markApproved'); + + Route::post('/pencatat/permohonan/{id}/notCompleted', 'Pencatat\PermohonanController@markNotCompleted'); + // }); // Route::group(['middleware' => ['admin']], function () { // }); -}); \ No newline at end of file +}); diff --git a/app/Models/Pencatatan.php b/app/Models/Pencatatan.php new file mode 100644 index 0000000000000000000000000000000000000000..875a2886164729287622b30042cab55c5593e935 --- /dev/null +++ b/app/Models/Pencatatan.php @@ -0,0 +1,38 @@ +<?php + +namespace App\Models; + +use App\User; +use Illuminate\Database\Eloquent\Model; + +class Pencatatan extends Model +{ + const STATUS_BELUM_PERNAH_MENIKAH = 0; + const STATUS_PERNAH_MENIKAH = 1; + + public static $STATUS_STRING = [ + "Belum pernah menikah", + "Pernah menikah" + ]; + + protected $table = "pencatatan"; + + public $timestamps = false; + + protected $fillable = [ + 'noAkteNikah', + 'noKtpPria', + 'namaPria', + 'noKtpWanita', + 'namaWanita', + 'statusPria', + 'istriPriaSebelumnya', + 'statusWanita', + 'suamiWanitaSebelumnya' + ]; + + /*public function user() + { + return $this->belongsTo(User::class, 'user_id'); + }*/ +} diff --git a/app/Models/Penduduk.php b/app/Models/Penduduk.php new file mode 100644 index 0000000000000000000000000000000000000000..0204d495e89bda19ce896ac668930b54c12835da --- /dev/null +++ b/app/Models/Penduduk.php @@ -0,0 +1,41 @@ +<?php + +namespace App\Models; + +use App\User; +use Illuminate\Database\Eloquent\Model; + +class Penduduk extends Model +{ + + protected $connection = 'mysqlcore'; + + protected $table = "penduduk"; + + public $timestamps = false; + + protected $fillable = [ + 'id', + 'nama', + 'tanggal_lahir', + 'tempat_lahir', + 'jenis_kelamin', + 'id_keluarga', + 'id_ayah', + 'id_ibu', + 'hubungan_keluarga', + 'golongan_darah', + 'agama', + 'wni', + 'status_perkawinan', + 'pekerjaan', + 'pendidikan', + 'id_izin_tetap', + 'id_passport', + 'created_at', + 'updated_at', + 'status' + ]; +} + +?> diff --git a/app/models/Permohonan.php b/app/Models/Permohonan.php similarity index 100% rename from app/models/Permohonan.php rename to app/Models/Permohonan.php diff --git a/app/Pencatatan.php b/app/Pencatatan.php new file mode 100644 index 0000000000000000000000000000000000000000..e44f8e257b7e9db03f384b2d45125a1b56f6d2eb --- /dev/null +++ b/app/Pencatatan.php @@ -0,0 +1,10 @@ +<?php + +namespace App; + +use Illuminate\Database\Eloquent\Model; + +class Pencatatan extends Model +{ + // +} diff --git a/app/Penduduk.php b/app/Penduduk.php new file mode 100644 index 0000000000000000000000000000000000000000..951c7d28b58c23835a50445c5095037d054a6b9d --- /dev/null +++ b/app/Penduduk.php @@ -0,0 +1,10 @@ +<?php + +namespace App; + +use Illuminate\Database\Eloquent\Model; + +class Penduduk extends Model +{ + // +} diff --git a/app/Services/PencatatanService.php b/app/Services/PencatatanService.php new file mode 100644 index 0000000000000000000000000000000000000000..682e2bf5f8ccaa6ce8de563c4ef68a54303bd167 --- /dev/null +++ b/app/Services/PencatatanService.php @@ -0,0 +1,58 @@ +<?php + +namespace App\Services; + +use App\Models\Pencatatan; +use App\Models\Permohonan; +use App\User; +use Carbon\Carbon; + +class PencatatanService +{ + public function __construct() + { + + } + + public function createPencatatan(Permohonan $permohonan) + { + $pencatatan = new Pencatatan(); + $pencatatan->id = $permohonan->id; + $pencatatan->noKtpPria = $permohonan->noKtpPria; + $pencatatan->namaPria = $permohonan->namaPria; + $pencatatan->noKtpWanita = $permohonan->noKtpWanita; + $pencatatan->namaWanita = $permohonan->namaWanita; + $pencatatan->tanggal = new Carbon(); + $pencatatan->statusPria = $permohonan->statusPria; + $pencatatan->istriPriaSebelumnya = $permohonan->istriPriaSebelumnya; + $pencatatan->statusWanita = $permohonan->statusWanita; + $pencatatan->suamiWanitaSebelumnya = $permohonan->suamiWanitaSebelumnya; + + return $pencatatan->save(); + } + + public function updatePencatatan($id, array $data) + { + $pencatatan = Pencatatan::where('id', '=', $id)->first(); + + if ($pencatatan == NULL) { + return false; + } else { + $pencatatan->noKtpPria = $data['noKtpPria']; + $pencatatan->namaPria = $data['namaPria']; + $pencatatan->noKtpWanita = $data['noKtpWanita']; + $pencatatan->namaWanita = $data['namaWanita']; + $pencatatan->tanggal = new Carbon(); + $pencatatan->statusPria = Permohonan::$STATUS_STRING[$data['statusPria']]; + $pencatatan->istriPriaSebelumnya = $data['istriPriaSebelumnya']; + $pencatatan->statusWanita = Permohonan::$STATUS_STRING[$data['statusWanita']]; + $pencatatan->suamiWanitaSebelumnya = $data['suamiWanitaSebelumnya']; + + return $pencatatan->save(); + } + } + + public function getPencatatan(int $id){ + + } +} diff --git a/app/Services/PermohonanService.php b/app/Services/PermohonanService.php index a532effc9f30839fa787dddeb2b347e5e15c9a09..f4e8d8e3518b1e74efe6983b18e98bb0e59adbef 100644 --- a/app/Services/PermohonanService.php +++ b/app/Services/PermohonanService.php @@ -3,6 +3,7 @@ namespace App\Services; use App\Models\Permohonan; +use App\Models\Penduduk; use App\User; use Carbon\Carbon; @@ -32,6 +33,59 @@ class PermohonanService return $permohonan->save(); } + + public function createPermohonanNIK($nik) + { + $permohonan = Permohonan::where('noKtpPria','=',$nik) + ->orWhere('noKtpWanita','=',$nik) + ->first(); + + if ($permohonan != NULL) { + $permohonan->delete(); + } + + $permohonan = new Permohonan(); + $permohonan->status = Permohonan::STATUS_NOT_COMPLETED; + $permohonan->disetujuiRt = 0; + $permohonan->disetujuiRw = 0; + + $penduduk = Penduduk::where('id','=',$nik)->first(); + if ($penduduk){ + if ($penduduk->jenis_kelamin=='L'){ + $permohonan->noKtpPria = $penduduk->id; + $permohonan->namaPria = $penduduk->nama; + }else{ + $permohonan->noKtpWanita = $penduduk->id; + $permohonan->namaWanita = $penduduk->nama; + } + + } + return $permohonan->save(); + } + + public function updatePermohonanNIK($nik, array $data) + { + $permohonan = Permohonan::where('noKtpPria','=',$nik) + ->orWhere('noKtpWanita','=',$nik) + ->first(); + + if ($permohonan == NULL) { + return false; + } else { //TODO tambahkan pengecekan error noKtp + $permohonan->noKtpPria = $data['noKtpPria']; + $permohonan->namaPria = $data['namaPria']; + $permohonan->noKtpWanita = $data['noKtpWanita']; + $permohonan->namaWanita = $data['namaWanita']; + $permohonan->tanggal = new Carbon(); + $permohonan->statusPria = Permohonan::$STATUS_STRING[$data['statusPria']]; + $permohonan->istriPriaSebelumnya = $data['istriPriaSebelumnya']; + $permohonan->statusWanita = Permohonan::$STATUS_STRING[$data['statusWanita']]; + $permohonan->suamiWanitaSebelumnya = $data['suamiWanitaSebelumnya']; + $permohonan->status = Permohonan::STATUS_PENDING; + + return $permohonan->save(); + } + } public function updatePermohonan(User $user, array $data) { diff --git a/app/UserKependudukan.php b/app/UserKependudukan.php new file mode 100644 index 0000000000000000000000000000000000000000..cc22ca7aefc3abfc4acbaa5b080e7f5970122a66 --- /dev/null +++ b/app/UserKependudukan.php @@ -0,0 +1,19 @@ +<?php + +namespace App; +use Illuminate\Database\Eloquent\Model; + +class UserKependudukan extends Model{ + protected $connection = 'mysqlktpkk'; + + protected $table = 'users'; + + protected $fillable = [ + 'nik','email','password', + ]; + protected $hidden = [ + 'password', 'remember_token', 'token' + ]; +} + +?> diff --git a/bdgwebkit/index.html b/bdgwebkit/index.html index 8270fbeabd7a22cbd8ccb2c30b2ab9b4d7b9c7a0..047e993ee9fd14ce1e151cfdf697acea243b1c07 100644 --- a/bdgwebkit/index.html +++ b/bdgwebkit/index.html @@ -2,8 +2,8 @@ <html lang="en" class=""> <head> <meta charset="utf-8" /> - <title>Bandung Web Kit | BDGWEBKIT</title> - <meta name="description" content="Bandung Web Kit" /> + <title>Aplikasi Pencatatan Perkawinan Bandung</title> + <meta name="description" content="Aplikasi Pencatatan Perkawinan Bandung Kit" /> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" /> <link rel="stylesheet" href="../libs/assets/animate.css/animate.css" type="text/css" /> <link rel="stylesheet" href="../libs/assets/font-awesome/css/font-awesome.min.css" type="text/css" /> @@ -31,8 +31,7 @@ </button> <!-- brand --> <a href="#/" class="navbar-brand text-lt"> - <img src="img/logo-small.png" alt="." class="small-logo hide"> - <img src="img/logo.png" alt="." class="large-logo"> + APLIKASI PENCATATAN PERKAWINAN BANDUNG </a> <!-- / brand --> </div> @@ -1272,4 +1271,4 @@ <script src="js/ui-client.js"></script> </body> -</html> \ No newline at end of file +</html> diff --git a/config/database.php b/config/database.php index 8451a62fbf2635da0714f17996c7b14683489f14..95fef8473bba5fd8fdadf74c8551cc6d553478ee 100644 --- a/config/database.php +++ b/config/database.php @@ -77,6 +77,37 @@ return [ 'prefix' => '', 'schema' => 'public', ], + + # Database untuk user-user di database yang aplikasi KTP/KK + 'mysqlktpkk' => [ + 'driver' => 'mysql', + 'host' => env('KTPKK_DB_HOST', 'localhost'), + 'port' => env('KTPKK_DB_PORT', '3306'), + 'database' => env('KTPKK_DB_DATABASE', 'forge'), + 'username' => env('KTPKK_DB_USERNAME', 'forge'), + 'password' => env('KTPKK_DB_PASSWORD', ''), + 'charset' => 'utf8', + 'collation' => 'utf8_unicode_ci', + 'prefix' => '', + 'strict' => false, + 'engine' => null, + ], + + # Database untuk user-user di database yang aplikasi KTP/KK + 'mysqlcore' => [ + 'driver' => 'mysql', + 'host' => env('CORE_DB_HOST', 'localhost'), + 'port' => env('CORE_DB_PORT', '3306'), + 'database' => env('CORE_DB_DATABASE', 'forge'), + 'username' => env('CORE_DB_USERNAME', 'forge'), + 'password' => env('CORE_DB_PASSWORD', ''), + 'charset' => 'utf8', + 'collation' => 'utf8_unicode_ci', + 'prefix' => '', + 'strict' => false, + 'engine' => null, + ], + ], diff --git a/pencatatan_perkawinan_db.sql b/pencatatan_perkawinan_db.sql new file mode 100644 index 0000000000000000000000000000000000000000..e41fe3648c6d9adcef5023764857c32e53978fb8 --- /dev/null +++ b/pencatatan_perkawinan_db.sql @@ -0,0 +1,152 @@ +-- phpMyAdmin SQL Dump +-- version 4.4.9 +-- http://www.phpmyadmin.net +-- +-- Host: localhost +-- Generation Time: May 16, 2016 at 04:22 PM +-- Server version: 5.6.25-log +-- PHP Version: 5.5.31 + +SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; +SET time_zone = "+00:00"; + + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!40101 SET NAMES utf8mb4 */; + +-- +-- Database: `ppl` +-- + +-- -------------------------------------------------------- + +-- +-- Table structure for table `pencatatan` +-- + +CREATE TABLE IF NOT EXISTS `pencatatan` ( + `id` int(11) NOT NULL, + `noKtpPria` varchar(128) DEFAULT NULL, + `namaPria` varchar(128) DEFAULT NULL, + `noKtpWanita` varchar(128) DEFAULT NULL, + `namaWanita` varchar(128) DEFAULT NULL, + `tanggal_permohonan` date DEFAULT NULL, + `tanggal` date DEFAULT NULL, + `statusPria` varchar(32) DEFAULT NULL, + `istriPriaSebelumnya` varchar(128) DEFAULT NULL, + `statusWanita` varchar(32) DEFAULT NULL, + `suamiWanitaSebelumnya` varchar(128) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `pencatatan` +-- + +INSERT INTO `pencatatan` (`id`, `noKtpPria`, `namaPria`, `noKtpWanita`, `namaWanita`, `tanggal_permohonan`, `tanggal`, `statusPria`, `istriPriaSebelumnya`, `statusWanita`, `suamiWanitaSebelumnya`) VALUES +(0, '1234567890123456', 'asdasd asdasd', '1234567890123456', 'pkkodf osf', '2016-04-01', '2016-04-18', 'Belum pernah menikah', '', 'Belum pernah menikah', ''); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `permohonan` +-- + +CREATE TABLE IF NOT EXISTS `permohonan` ( + `id` int(11) NOT NULL, + `user_id` int(11) NOT NULL, + `noKtpPria` varchar(128) DEFAULT NULL, + `namaPria` varchar(128) DEFAULT NULL, + `noKtpWanita` varchar(128) DEFAULT NULL, + `namaWanita` varchar(128) DEFAULT NULL, + `tanggal` date DEFAULT NULL, + `statusPria` varchar(32) DEFAULT NULL, + `istriPriaSebelumnya` varchar(128) DEFAULT NULL, + `statusWanita` varchar(32) DEFAULT NULL, + `suamiWanitaSebelumnya` varchar(128) DEFAULT NULL, + `status` tinyint(4) DEFAULT '0', + `disetujuiRt` tinyint(4) NOT NULL DEFAULT '0', + `disetujuiRw` tinyint(4) NOT NULL DEFAULT '0', + `uploadSuratRt` tinyint(4) NOT NULL DEFAULT '0', + `uploadSuratRw` tinyint(4) NOT NULL DEFAULT '0' +) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `permohonan` +-- + +INSERT INTO `permohonan` (`id`, `user_id`, `noKtpPria`, `namaPria`, `noKtpWanita`, `namaWanita`, `tanggal`, `statusPria`, `istriPriaSebelumnya`, `statusWanita`, `suamiWanitaSebelumnya`, `status`, `disetujuiRt`, `disetujuiRw`, `uploadSuratRt`, `uploadSuratRw`) VALUES +(14, 8, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0), +(15, 10, '1234567890113456', 'cowok', '1234567890113457', 'cewek', '2016-04-21', 'Belum pernah menikah', '', 'Belum pernah menikah', '', 1, 0, 0, 0, 0); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `users` +-- + +CREATE TABLE IF NOT EXISTS `users` ( + `id` int(11) NOT NULL, + `email` varchar(128) NOT NULL, + `password` varchar(128) NOT NULL, + `remember_token` varchar(128) DEFAULT NULL, + `role` int(11) DEFAULT '0', + `name` varchar(128) DEFAULT NULL +) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `users` +-- + +INSERT INTO `users` (`id`, `email`, `password`, `remember_token`, `role`, `name`) VALUES +(5, 'asdasd', '$2y$10$2z2PTdrtTMF9yWWGFUT1ieVzOABfmAzOp4jYTsPgnc6ZCwyhqy1oO', NULL, 0, 'asd'), +(6, 'vincent.s.the@gmail.com', 'c2d628ba98ed491776c9335e988e2e3b', 'Yz8Ipe5VWeGgOlRpuZ1vLucEEQQ08UvqfAE3xvTrLkZHkH8YM0xnRrb161Mb', 0, 'Vincent Sebastian'), +(8, 'qwe@qwe.qwe', 'efe6398127928f1b2e9ef3207fb82663', NULL, 1, 'qwe'), +(9, 'admin@admin.com', '21232f297a57a5a743894a0e4a801fc3', NULL, 2, 'admin'), +(10, 'coba@coba.com', 'c3ec0f7b054e729c5a716c8125839829', NULL, 0, 'coba'); + +-- +-- Indexes for dumped tables +-- + +-- +-- Indexes for table `pencatatan` +-- +ALTER TABLE `pencatatan` + ADD PRIMARY KEY (`id`); + +-- +-- Indexes for table `permohonan` +-- +ALTER TABLE `permohonan` + ADD PRIMARY KEY (`id`); + +-- +-- Indexes for table `users` +-- +ALTER TABLE `users` + ADD PRIMARY KEY (`id`); + +-- +-- AUTO_INCREMENT for dumped tables +-- + +-- +-- AUTO_INCREMENT for table `pencatatan` +-- +ALTER TABLE `pencatatan` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; +-- +-- AUTO_INCREMENT for table `permohonan` +-- +ALTER TABLE `permohonan` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=16; +-- +-- AUTO_INCREMENT for table `users` +-- +ALTER TABLE `users` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=11; +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; diff --git a/resources/views/admin/pencatatan/update.blade.php b/resources/views/admin/pencatatan/update.blade.php new file mode 100644 index 0000000000000000000000000000000000000000..e53ff8ab97f07ed0cc3c2d6d63c2d90970ee1951 --- /dev/null +++ b/resources/views/admin/pencatatan/update.blade.php @@ -0,0 +1,93 @@ +@extends('layouts.base') + +@section('title') + Pencatatan Perkawinan +@endsection + +@section('content') + <div class="col-sm-12"> + @if(sizeof($errorMessages)) + <div class="alert alert-danger"> + Harap betulkan kesalahan pada form + <ul> + @foreach($errorMessages as $error) + <li>{{ $error }}</li> + @endforeach + </ul> + </div> + @endif + + <div class="panel panel-default"> + <div class="panel-heading font-bold"> + Form Permohonan + </div> + <div class="panel-body"> + <form method="POST"> + + <div class="form-group"> + <label>No. KTP</label> + <input type="text" class="form-control" name="noAktaNikah" value="{{ $pencatatan->noAktaNikah }}"> + </div> + + <div class="row"> + <div class="col-md-6"> + <h4>Mempelai Pria</h4> + + <div class="form-group"> + <label>No. KTP</label> + <input type="text" class="form-control" name="noKtpPria" value="{{ $pencatatan->noKtpPria }}"> + </div> + + <div class="form-group"> + <label>Nama Lengkap</label> + <input type="text" class="form-control" name="namaPria" value="{{ $pencatatan->namaPria }}"> + </div> + + <div class="form-group"> + <label>Status Pernikahan Sebelumnya</label> + <select class="form-control" name="statusPria" value="{{ $pencatatan->statusPria }}"> + <option value="0">Belum Pernah Menikah</option> + <option value="1">Sudah Pernah Menikah</option> + </select> + </div> + + <div class="form-group"> + <label>Nama Istri Sebelumnya</label> + <input type="text" class="form-control" name="istriPriaSebelumnya" value="{{ $pencatatan->istriPriaSebelumnya }}"> + </div> + </div> + + <div class="col-md-6"> + <h4>Mempelai Wanita</h4> + + <div class="form-group"> + <label>No. KTP</label> + <input type="text" class="form-control" name="noKtpWanita" value="{{ $pencatatan->noKtpWanita }}"> + </div> + + <div class="form-group"> + <label>Nama Lengkap</label> + <input type="text" class="form-control" name="namaWanita" value="{{ $pencatatan->namaWanita }}"> + </div> + + <div class="form-group"> + <label>Status Pernikahan Sebelumnya</label> + <select class="form-control" name="statusWanita" value="{{ $pencatatan->statusWanita }}"> + <option value="0">Belum Pernah Menikah</option> + <option value="1">Sudah Pernah Menikah</option> + </select> + </div> + + <div class="form-group"> + <label>Nama Suami Sebelumnya</label> + <input type="text" class="form-control" name="suamiWanitaSebelumnya" value="{{ $pencatatan->suamiWanitaSebelumnya }}"> + </div> + </div> + </div> + + <button type="submit" class="btn btn-success">Submit</button> + </form> + </div> + </div> + </div> +@endsection diff --git a/resources/views/admin/permohonan/index.blade.php b/resources/views/admin/permohonan/index.blade.php index c1680582dc3915e09d2cb7f8458c11e2bb23688a..b700de635adce18e3f53534192c3a6c43c720d3c 100644 --- a/resources/views/admin/permohonan/index.blade.php +++ b/resources/views/admin/permohonan/index.blade.php @@ -25,7 +25,7 @@ <td>{{ $permohonan->namaPria }}</td> <td>{{ $permohonan->namaWanita }}</td> <td> - <a href="/admin/permohonan/{{ $permohonan->id }}"><i class="fa fa-search"></i></a> + <a href="/pencatat/permohonan/{{ $permohonan->id }}"><i class="fa fa-search"></i></a> </td> </tr> @endforeach @@ -33,4 +33,4 @@ </table> </div> </div> -@endsection \ No newline at end of file +@endsection diff --git a/resources/views/admin/permohonan/view.blade.php b/resources/views/admin/permohonan/view.blade.php index 10a2213aa557e7134f40a0c1fbfd457fc6f8d630..2e3c3dd918600925291fb9bca17a529a2e0621d9 100644 --- a/resources/views/admin/permohonan/view.blade.php +++ b/resources/views/admin/permohonan/view.blade.php @@ -69,10 +69,10 @@ </div> </div> <div> - <button type="submit" class="btn btn-success" method="POST" formaction="/admin/permohonan/{{ $permohonan->id }}/approved" onclick="return confirm('Anda yakin hendak menandai permohonan ini disetujui?')">Setujui</button> + <button type="submit" class="btn btn-success" method="POST" formaction="/pencatat/permohonan/{{ $permohonan->id }}/approved" onclick="return confirm('Anda yakin hendak menandai permohonan ini disetujui?')">Setujui</button> </div> <div> - <button type="submit" class="btn btn-dark" method="POST" formaction="/admin/permohonan/{{ $permohonan->id }}/notCompleted" onclick="return confirm('Anda yakin hendak menandai permohonan ini belum lengkap?')">Belum Lengkap</button> + <button type="submit" class="btn btn-dark" method="POST" formaction="/pencatat/permohonan/{{ $permohonan->id }}/notCompleted" onclick="return confirm('Anda yakin hendak menandai permohonan ini belum lengkap?')">Belum Lengkap</button> </div> <div> </div> diff --git a/resources/views/permohonan/index.blade.php b/resources/views/permohonan/index.blade.php index 076f231aa39f88856ca833d3be1bbd03166a9b08..b69d787c018823922eb4182bee511538b997a052 100644 --- a/resources/views/permohonan/index.blade.php +++ b/resources/views/permohonan/index.blade.php @@ -11,17 +11,31 @@ <div class="panel-body"> @if($permohonan == NULL) <p>Anda belum mengajukan permohonan pengajuan catatan perkawinan.</p> + @if($token == NULL) <a href="/permohonan/create" class="btn m-b-sm m-r-sm btn-success btn-addon"> <i class="fa fa-plus"></i> Buat Permohonan </a> + @else + <a href="/permohonan/create?token={{ $token }}" class="btn m-b-sm m-r-sm btn-success btn-addon"> + <i class="fa fa-plus"></i> + Buat Permohonan + </a> + @endif @elseif($permohonan->status == \App\Models\Permohonan::STATUS_NOT_COMPLETED) <div class="col-md-8"> <p>Anda sudah mengajukan permohonan</p> + @if($token == NULL) <a href="/permohonan/update" class="btn btn-info"> <i class="fa fa-edit"></i> Update Data </a> + @else + <a href="/permohonan/update?token={{ $token }}" class="btn btn-info"> + <i class="fa fa-edit"></i> + Update Data + </a> + @endif </div> <div class="col-md-4"> <span class="label label-danger pull-right"> @@ -31,10 +45,17 @@ @elseif($permohonan->status == \App\Models\Permohonan::STATUS_PENDING) <div class="col-md-8"> <p>Anda sudah mengisi data, harap tunggu sampai anda dikonfirmasi</p> + @if($token == NULL) <a href="/permohonan/update" class="btn btn-info btn-addon"> <i class="fa fa-edit"></i> Update Data </a> + @else + <a href="/permohonan/update?token={{ $token }}" class="btn btn-info btn-addon"> + <i class="fa fa-edit"></i> + Update Data + </a> + @endif </div> <div class="col-md-4"> <span class="label label-warning pull-right"> @@ -44,6 +65,11 @@ @elseif($permohonan->status == \App\Models\Permohonan::STATUS_APPROVED) <div class="col-md-8"> <p>Anda sudah mengisi data dan telah disetujui. Silakan lanjutkan kepada pelangsungan lalu laporan dan interview kepada petugas pencatatan</p> + <form method="POST"> + <input type="hidden" name="nik_pria" value="{{ $permohonan->noKtpPria }}"> + <input type="hidden" name="nik_wanita" value="{{ $permohonan->noKtpWanita }}"> + <button type="submit" class="btn btn-success" formaction="{{ env('KTPKK_API_URL', '') }}">Teruskan ke aplikasi KTP-KK</button> + </form> </div> <div class="col-md-4"> <span class="label label-warning pull-right">