Skip to content
Snippets Groups Projects
Commit fa1c3d41 authored by Vincent Sebastian The's avatar Vincent Sebastian The
Browse files

form

parent 04d72eaf
No related merge requests found
Pipeline #1075 skipped
......@@ -2,15 +2,82 @@
namespace App\Http\Controllers;
use App\Services\PermohonanService;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Validator;
class PermohonanController extends Controller
{
private $permohonanService;
public function __construct()
{
$this->permohonanService = new PermohonanService();
}
public function index()
{
return view('permohonan.index');
$user = Auth::user();
return view('permohonan.index', [
'permohonan' => $user->permohonan
]);
}
public function create()
{
$user = Auth::user();
$this->permohonanService->createPermohonan($user);
return redirect()->action('PermohonanController@update');
}
public function update(Request $request)
{
$user = Auth::user();
if ($this->permohonanService->userHavePermohonan($user)) {
$permohonan = $user->permohonan;
var_dump($request->session()->all());
exit;
return view('permohonan.update', [
'permohonan' => $permohonan
]);
} else {
return redirect()->action('PermohonanController@createPermohonan');
}
}
public function postUpdate(Request $request)
{
$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()) {
return redirect('permohonan/update')->with('errorMessages', 'asdasd');
} else {
}
}
private function getPreviousSpouseValidation($previousMaritalStatus)
{
}
}
\ No newline at end of file
......@@ -28,6 +28,12 @@ Route::group(['middleware' => ['web']], function () {
Route::group(['middleware' => ['auth']], function () {
Route::get('/', 'PermohonanController@index');
Route::get('/permohonan/create', 'PermohonanController@create');
Route::get('/permohonan/update', 'PermohonanController@update');
Route::post('/permohonan/update', 'permohonanController@postUpdate');
});
});
Route::group(['middleware' => 'web'], function () {
......
<?php
namespace App\Services;
use App\Models\Permohonan;
use App\User;
use Carbon\Carbon;
class PermohonanService
{
public function __construct()
{
}
public function userHavePermohonan(User $user)
{
return !($user->permohonan == NULL);
}
public function createPermohonan(User $user)
{
if ($user->permohonan != NULL) {
$user->permohonan->delete();
}
$permohonan = new Permohonan();
$permohonan->user_id = $user->id;
$permohonan->status = Permohonan::STATUS_NOT_COMPLETED;
return $permohonan->save();
}
public function updatePermohonan(User $user, array $data)
{
$user = User::find($user->id);
$permohonan = $user->permohonan;
if ($permohonan == NULL) {
return false;
} else {
$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();
}
}
}
\ No newline at end of file
......@@ -2,6 +2,7 @@
namespace App;
use App\Models\Permohonan;
use Illuminate\Foundation\Auth\User as Authenticatable;
class User extends Authenticatable
......@@ -27,4 +28,9 @@ class User extends Authenticatable
protected $hidden = [
'password', 'remember_token',
];
public function permohonan()
{
return $this->hasOne(Permohonan::class);
}
}
<?php
namespace App\Models;
use App\User;
use Illuminate\Database\Eloquent\Model;
class Permohonan extends Model
{
const STATUS_NOT_COMPLETED = 0;
const STATUS_PENDING = 1;
const STATUS_APPROVED = 2;
const STATUS_BELUM_PERNAH_MENIKAH = 0;
const STATUS_PERNAH_MENIKAH = 1;
public static $STATUS_STRING = [
"Belum pernah menikah",
"Pernah menikah"
];
protected $table = "permohonan";
public $timestamps = false;
public function user()
{
return $this->belongsTo(User::class, 'user_id');
}
}
\ No newline at end of file
......@@ -6,7 +6,9 @@
"type": "project",
"require": {
"php": ">=5.5.9",
"laravel/framework": "5.2.*"
"laravel/framework": "5.2.*",
"laravelcollective/html": "5.2.*",
"illuminate/html": "5.*"
},
"require-dev": {
"fzaninotto/faker": "~1.4",
......
......@@ -156,6 +156,8 @@ return [
App\Providers\EventServiceProvider::class,
App\Providers\RouteServiceProvider::class,
Collective\Html\HtmlServiceProvider::class,
],
/*
......@@ -201,7 +203,8 @@ return [
'URL' => Illuminate\Support\Facades\URL::class,
'Validator' => Illuminate\Support\Facades\Validator::class,
'View' => Illuminate\Support\Facades\View::class,
'Form' => Collective\Html\FormFacade::class,
'Html' => Collective\Html\HtmlFacade::class,
],
];
......@@ -2,7 +2,7 @@
<html lang="en" class="">
<head>
<meta charset="utf-8" />
<title>Bandung Web Kit | BDGWEBKIT</title>
<title>Pencatatan Pernikahan</title>
<link rel="stylesheet" type="text/css" href="{{ URL::asset('assets/libs/assets/animate.css/animate.css') }}">
<link rel="stylesheet" type="text/css" href="{{ URL::asset('assets/libs/assets/font-awesome/css/font-awesome.min.css') }}">
<link rel="stylesheet" type="text/css" href="{{ URL::asset('assets/libs/assets/simple-line-icons/css/simple-line-icons.css') }}">
......@@ -243,115 +243,115 @@
<li class="hidden-folded m-t text-dark-grey text-xs padder-md padder-v-sm">
<span>Navigation</span>
</li>
<li>
<a href="index.html" class="text-dark-grey" >
<li class="active">
<a href="/" class="text-dark-grey" >
<i class="icon-bdg_dashboard icon-grey"></i>
<span class="font-bold">Dashboard</span>
</a>
</li>
<li class="line1 dg"></li>
{{--<li class="line1 dg"></li>--}}
<li class="hidden-folded text-dark-grey text-xs padder-md padder-v-sm">
<span>Components</span>
</li>
{{--<li class="hidden-folded text-dark-grey text-xs padder-md padder-v-sm">--}}
{{--<span>Components</span>--}}
{{--</li>--}}
<li class="active">
<a href class="auto">
<span class="pull-right text-muted">
<i class="text8 icon-bdg_arrow3 text"></i>
<i class="text8 icon-bdg_arrow1 text-active"></i>
</span>
<i class="icon-bdg_uikit"></i>
<span class="font-bold">UI Kits</span>
</a>
<ul class="nav nav-sub dk">
<li class="nav-sub-header">
<a href>
<span>UI Kits</span>
</a>
</li>
<li>
<a href="ui_button.html">
<span>Buttons</span>
</a>
</li>
<li >
<a href="ui_icons.html">
<b class="badge bg-danger pull-right">3</b>
<span>Icons</span>
</a>
</li>
<li class="active">
<a href="ui_grid.html">
<span>Grid</span>
</a>
</li>
{{--<li class="active">--}}
{{--<a href class="auto">--}}
{{--<span class="pull-right text-muted">--}}
{{--<i class="text8 icon-bdg_arrow3 text"></i>--}}
{{--<i class="text8 icon-bdg_arrow1 text-active"></i>--}}
{{--</span>--}}
{{--<i class="icon-bdg_uikit"></i>--}}
{{--<span class="font-bold">UI Kits</span>--}}
{{--</a>--}}
{{--<ul class="nav nav-sub dk">--}}
{{--<li class="nav-sub-header">--}}
{{--<a href>--}}
{{--<span>UI Kits</span>--}}
{{--</a>--}}
{{--</li>--}}
{{--<li>--}}
{{--<a href="ui_button.html">--}}
{{--<span>Buttons</span>--}}
{{--</a>--}}
{{--</li>--}}
{{--<li >--}}
{{--<a href="ui_icons.html">--}}
{{--<b class="badge bg-danger pull-right">3</b>--}}
{{--<span>Icons</span>--}}
{{--</a>--}}
{{--</li>--}}
{{--<li class="active">--}}
{{--<a href="ui_grid.html">--}}
{{--<span>Grid</span>--}}
{{--</a>--}}
{{--</li>--}}
</ul>
</li>
<li>
<a href="table_static.html" class="auto">
{{--</ul>--}}
{{--</li>--}}
{{--<li>--}}
{{--<a href="table_static.html" class="auto">--}}
<b class="badge bg-info pull-right">2</b>
<i class="icon-bdg_table"></i>
<span class="font-bold">Table</span>
</a>
{{--<b class="badge bg-info pull-right">2</b>--}}
{{--<i class="icon-bdg_table"></i>--}}
{{--<span class="font-bold">Table</span>--}}
{{--</a>--}}
</li>
<li>
<a href="form_element.html" class="auto">
<i class="icon-bdg_form"></i>
<span class="font-bold">Form</span>
</a>
</li>
<li>
<a href="ui_chart.html">
<i class="icon-bdg_chart2"></i>
<span class="font-bold">Chart</span>
</a>
</li>
<li>
<a href class="auto">
<span class="pull-right text-muted">
<i class="text8 icon-bdg_arrow3 text"></i>
<i class="text8 icon-bdg_arrow1 text-active"></i>
</span>
<i class="icon-bdg_layout"></i>
<span class="font-bold">Pages</span>
</a>
<ul class="nav nav-sub dk">
<li class="nav-sub-header">
<a href>
<span>Pages</span>
</a>
</li>
{{--</li>--}}
{{--<li>--}}
{{--<a href="form_element.html" class="auto">--}}
{{--<i class="icon-bdg_form"></i>--}}
{{--<span class="font-bold">Form</span>--}}
{{--</a>--}}
{{--</li>--}}
{{--<li>--}}
{{--<a href="ui_chart.html">--}}
{{--<i class="icon-bdg_chart2"></i>--}}
{{--<span class="font-bold">Chart</span>--}}
{{--</a>--}}
{{--</li>--}}
{{--<li>--}}
{{--<a href class="auto">--}}
{{--<span class="pull-right text-muted">--}}
{{--<i class="text8 icon-bdg_arrow3 text"></i>--}}
{{--<i class="text8 icon-bdg_arrow1 text-active"></i>--}}
{{--</span>--}}
{{--<i class="icon-bdg_layout"></i>--}}
{{--<span class="font-bold">Pages</span>--}}
{{--</a>--}}
{{--<ul class="nav nav-sub dk">--}}
{{--<li class="nav-sub-header">--}}
{{--<a href>--}}
{{--<span>Pages</span>--}}
{{--</a>--}}
{{--</li>--}}
<li>
<a href="lockscreen.html">
<span>Lock screen</span>
</a>
</li>
<li>
<a href="signin.html">
<span>Signin</span>
</a>
</li>
<li>
<a href="register.html">
<span>Signup</span>
</a>
</li>
<li>
<a href="forgot_password.html">
<span>Forgot password</span>
</a>
</li>
{{--<li>--}}
{{--<a href="lockscreen.html">--}}
{{--<span>Lock screen</span>--}}
{{--</a>--}}
{{--</li>--}}
{{--<li>--}}
{{--<a href="signin.html">--}}
{{--<span>Signin</span>--}}
{{--</a>--}}
{{--</li>--}}
{{--<li>--}}
{{--<a href="register.html">--}}
{{--<span>Signup</span>--}}
{{--</a>--}}
{{--</li>--}}
{{--<li>--}}
{{--<a href="forgot_password.html">--}}
{{--<span>Forgot password</span>--}}
{{--</a>--}}
{{--</li>--}}
</ul>
</li>
{{--</ul>--}}
{{--</li>--}}
</ul>
......
@inject('permohonanModel', 'App\Models\Permohonan')
@extends('layouts.base')
@section('title')
Daftar Permohonan
Permohonan Pengajuan Catatan Perkawinan
@endsection
@section('content')
<div class="col-md-12">
<h1>Aha!!</h1>
<div class="col-sm-8">
<div class="panel panel-default">
<div class="panel-heading font-bold">Permohonan</div>
<div class="panel-body">
@if($permohonan == NULL)
<p>Anda belum mengajukan permohonan pengajuan catatan perkawinan.</p>
<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>
@elseif($permohonan->status == $permohonanModel->STATUS_NOT_COMPLETE)
<div class="col-md-8">
<p>Anda sudah mengajukan permohonan</p>
<a href="/permohonan/update" class="btn btn-info">
<i class="fa fa-edit"></i>
Update Data
</a>
</div>
<div class="col-md-4">
<span class="label label-danger pull-right">
Data Belum Lengkap
</span>
</div>
@endif
</div>
</div>
</div>
@endsection
\ No newline at end of file
@extends('layouts.base')
@section('title')
Permohonan Pengajuan Catatan Perkawinan
@endsection
@section('content')
<div class="col-sm-12">
@if(Session::has('errorMessages'))
{{ var_dump(Session::get('errorMessages')->all()) }}
<div class="alert alert-danger">
Harap betulkan kesalahan pada form
<ul>
@foreach(Session::get('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="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">
</div>
<div class="form-group">
<label>Nama Lengkap</label>
<input type="text" class="form-control" name="namaPria">
</div>
<div class="form-group">
<label>Status Pernikahan Sebelumnya</label>
<select class="form-control" name="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">
</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">
</div>
<div class="form-group">
<label>Nama Lengkap</label>
<input type="text" class="form-control" name="namaWanita">
</div>
<div class="form-group">
<label>Status Pernikahan Sebelumnya</label>
<select class="form-control" name="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">
</div>
</div>
</div>
<button type="submit" class="btn btn-success">Submit</button>
</form>
</div>
</div>
</div>
@endsection
\ No newline at end of file
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment