Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
No results found
Show changes
Commits on Source (7)
Showing
with 664 additions and 0 deletions
APP_ENV=local
APP_DEBUG=true
APP_KEY=SomeRandomString
APP_URL=http://localhost
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret
CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
MAIL_DRIVER=smtp
MAIL_HOST=mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
* text=auto
*.css linguist-vendored
*.less linguist-vendored
/vendor
/node_modules
/public/storage
Homestead.yaml
Homestead.json
.env
composer.lock
.idea
.DS_STORE
_DS_Store
<?php
namespace App\Console\Commands;
use Illuminate\Console\Command;
use Illuminate\Foundation\Inspiring;
class Inspire extends Command
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'inspire';
/**
* The console command description.
*
* @var string
*/
protected $description = 'Display an inspiring quote';
/**
* Execute the console command.
*
* @return mixed
*/
public function handle()
{
$this->comment(PHP_EOL.Inspiring::quote().PHP_EOL);
}
}
<?php
namespace App\Console;
use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;
class Kernel extends ConsoleKernel
{
/**
* The Artisan commands provided by your application.
*
* @var array
*/
protected $commands = [
// Commands\Inspire::class,
];
/**
* Define the application's command schedule.
*
* @param \Illuminate\Console\Scheduling\Schedule $schedule
* @return void
*/
protected function schedule(Schedule $schedule)
{
// $schedule->command('inspire')
// ->hourly();
}
}
<?php
namespace App\Events;
abstract class Event
{
//
}
<?php
namespace App\Exceptions;
use Exception;
use Illuminate\Validation\ValidationException;
use Illuminate\Auth\Access\AuthorizationException;
use Illuminate\Database\Eloquent\ModelNotFoundException;
use Symfony\Component\HttpKernel\Exception\HttpException;
use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;
class Handler extends ExceptionHandler
{
/**
* A list of the exception types that should not be reported.
*
* @var array
*/
protected $dontReport = [
AuthorizationException::class,
HttpException::class,
ModelNotFoundException::class,
ValidationException::class,
];
/**
* Report or log an exception.
*
* This is a great spot to send exceptions to Sentry, Bugsnag, etc.
*
* @param \Exception $e
* @return void
*/
public function report(Exception $e)
{
parent::report($e);
}
/**
* Render an exception into an HTTP response.
*
* @param \Illuminate\Http\Request $request
* @param \Exception $e
* @return \Illuminate\Http\Response
*/
public function render($request, Exception $e)
{
return parent::render($request, $e);
}
}
<?php
namespace App\Http\Controllers\Auth;
use App\User;
use Validator;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\ThrottlesLogins;
use Illuminate\Foundation\Auth\AuthenticatesAndRegistersUsers;
class AuthController extends Controller
{
/*
|--------------------------------------------------------------------------
| Registration & Login Controller
|--------------------------------------------------------------------------
|
| This controller handles the registration of new users, as well as the
| authentication of existing users. By default, this controller uses
| a simple trait to add these behaviors. Why don't you explore it?
|
*/
use AuthenticatesAndRegistersUsers, ThrottlesLogins;
/**
* Where to redirect users after login / registration.
*
* @var string
*/
protected $redirectTo = '/';
/**
* Create a new authentication controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest', ['except' => 'logout']);
}
/**
* Get a validator for an incoming registration request.
*
* @param array $data
* @return \Illuminate\Contracts\Validation\Validator
*/
protected function validator(array $data)
{
return Validator::make($data, [
'email' => 'required|email|max:255|unique:users',
'password' => 'required|min:6|confirmed'
]);
}
/**
* Create a new user instance after a valid registration.
*
* @param array $data
* @return User
*/
protected function create(array $data)
{
return User::create([
'email' => $data['email'],
'password' => bcrypt($data['password']),
]);
}
}
<?php
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\ResetsPasswords;
class PasswordController extends Controller
{
/*
|--------------------------------------------------------------------------
| Password Reset Controller
|--------------------------------------------------------------------------
|
| This controller is responsible for handling password reset requests
| and uses a simple trait to include this behavior. You're free to
| explore this trait and override any methods you wish to tweak.
|
*/
use ResetsPasswords;
/**
* Create a new password controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest');
}
}
<?php
namespace App\Http\Controllers;
use Illuminate\Foundation\Bus\DispatchesJobs;
use Illuminate\Routing\Controller as BaseController;
use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
class Controller extends BaseController
{
use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
}
<?php
namespace App\Http\Controllers;
use App\Http\Requests;
use App\User;
use Illuminate\Http\Request;
class HomeController extends Controller
{
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
}
/**
* Show the application dashboard.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
return redirect('/');
}
public function postRegister(Request $request)
{
$email = $request->input('email');
$password = $request->input('password');
User::create([
'email' => $email,
'password' => bcrypt($password)
]);
return redirect()->action('Auth\AuthController@login');
}
}
<?php
namespace App\Http\Controllers;
use App\Models\Permohonan;
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()
{
$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;
$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');
}
}
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');
}
}
public function upload(Request $request)
{
$user = Auth::user();
$permohonan = $user->permohonan;
return view('permohonan.upload', [
'permohonan' => $permohonan
]);
}
public function postUploadRt(Request $request)
{
$user = Auth::user();
$permohonan = $user->permohonan;
$uploadPath = public_path(Permohonan::SURAT_RT_DIR);
if ($request->hasFile('file')) {
$permohonan->uploadSuratRt = true;
$permohonan->save();
$request->file('file')->move($uploadPath, $permohonan->id);
} else {
}
return redirect()->action('PermohonanController@upload');
}
public function postUploadRw(Request $request)
{
}
}
\ No newline at end of file
<?php
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use App\Models\Permohonan;
class PermohonanController extends Controller
{
public function __construct()
{
}
public function index()
{
$permohonanList = Permohonan::where('status', '=', Permohonan::STATUS_PENDING)
->get();
return view('admin.permohonan.index', [
'permohonanList' => $permohonanList
]);
}
}
\ No newline at end of file
<?php
namespace App\Http;
use Illuminate\Foundation\Http\Kernel as HttpKernel;
class Kernel extends HttpKernel
{
/**
* The application's global HTTP middleware stack.
*
* These middleware are run during every request to your application.
*
* @var array
*/
protected $middleware = [
\Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
];
/**
* The application's route middleware groups.
*
* @var array
*/
protected $middlewareGroups = [
'web' => [
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
\Illuminate\Session\Middleware\StartSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class
],
'api' => [
'throttle:60,1',
],
];
/**
* The application's route middleware.
*
* These middleware may be assigned to groups or used individually.
*
* @var array
*/
protected $routeMiddleware = [
'auth' => \App\Http\Middleware\Authenticate::class,
'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
];
}
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Support\Facades\Auth;
class Authenticate
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @param string|null $guard
* @return mixed
*/
public function handle($request, Closure $next, $guard = null)
{
if (Auth::guard($guard)->guest()) {
if ($request->ajax() || $request->wantsJson()) {
return response('Unauthorized.', 401);
} else {
return redirect()->guest('login');
}
}
return $next($request);
}
}
<?php
namespace App\Http\Middleware;
use Illuminate\Cookie\Middleware\EncryptCookies as BaseEncrypter;
class EncryptCookies extends BaseEncrypter
{
/**
* The names of the cookies that should not be encrypted.
*
* @var array
*/
protected $except = [
//
];
}
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Support\Facades\Auth;
class RedirectIfAuthenticated
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @param string|null $guard
* @return mixed
*/
public function handle($request, Closure $next, $guard = null)
{
if (Auth::guard($guard)->check()) {
return redirect('/');
}
return $next($request);
}
}
<?php
namespace App\Http\Middleware;
use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as BaseVerifier;
class VerifyCsrfToken extends BaseVerifier
{
/**
* The URIs that should be excluded from CSRF verification.
*
* @var array
*/
protected $except = [
//
];
}
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
abstract class Request extends FormRequest
{
//
}
<?php
/*
|--------------------------------------------------------------------------
| Application Routes
|--------------------------------------------------------------------------
|
| Here is where you can register all of the routes for an application.
| It's a breeze. Simply tell Laravel the URIs it should respond to
| and give it the controller to call when that URI is requested.
|
*/
Route::get('/', function () {
return view('welcome');
});
Route::group(['middleware' => ['web']], function () {
Route::get('/login', 'HomeController@login');
Route::post('/login', 'Auth\AuthController@login');
Route::get('/logout', 'Auth\AuthController@logout');
Route::get('/register', 'HomeController@register');
Route::auth();
Route::post('/register1', 'HomeController@postRegister');
Route::get('/home', 'HomeController@index');
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::get('/permohonan/upload', 'PermohonanController@upload');
Route::post('/permohonan/upload/rt', 'PermohonanController@postUploadRt');
Route::post('/permohonan/upload/rw', 'PermohonanController@postUploadRw');
Route::get('/admin', 'Admin\PermohonanController@index');
});
});
\ No newline at end of file