Commit 70c6ce1b authored by cahyo adi purnomo's avatar cahyo adi purnomo
Browse files

Initial Commit

parents
No related merge requests found
Pipeline #2745 failed with stages
in 1 minute and 32 seconds
Showing with 1068 additions and 0 deletions
+1068 -0
root = true
[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true
indent_style = space
indent_size = 4
trim_trailing_whitespace = true
[*.md]
trim_trailing_whitespace = false
[*.{yml,yaml}]
indent_size = 2
[docker-compose.yml]
indent_size = 4
APP_NAME=Laravel
APP_ENV=local
APP_KEY=base64:lE7c2DOW0o1YiEKvntKZjRPV0/xzF7agPvWqQ+xQMb4=
APP_DEBUG=true
APP_URL=http://localhost
LOG_CHANNEL=stack
LOG_DEPRECATIONS_CHANNEL=null
LOG_LEVEL=debug
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel-uas-rpl
DB_USERNAME=root
DB_PASSWORD=
BROADCAST_DRIVER=log
CACHE_DRIVER=file
FILESYSTEM_DISK=local
QUEUE_CONNECTION=sync
SESSION_DRIVER=file
SESSION_LIFETIME=120
MEMCACHED_HOST=127.0.0.1
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
MAIL_MAILER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=465
MAIL_USERNAME=chyoad.123@student.uns.ac.id
MAIL_PASSWORD=zumxltflhwfeczto
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS="chyoad.123@student.uns.ac.id"
MAIL_FROM_NAME="${APP_NAME}"
AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=
AWS_USE_PATH_STYLE_ENDPOINT=false
PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=
PUSHER_HOST=
PUSHER_PORT=443
PUSHER_SCHEME=https
PUSHER_APP_CLUSTER=mt1
VITE_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
VITE_PUSHER_HOST="${PUSHER_HOST}"
VITE_PUSHER_PORT="${PUSHER_PORT}"
VITE_PUSHER_SCHEME="${PUSHER_SCHEME}"
VITE_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
CAPTCHA_KEY = 6LcLJKsjAAAAAHetN-12ZIL0xpv7QV-Vf5VckyX4
CAPTCHA_SECRET = 6LcLJKsjAAAAAKbIsrzdDEPClEURG8cjvjkVsf3R
APP_NAME=Laravel
APP_ENV=local
APP_KEY=
APP_DEBUG=true
APP_URL=http://localhost
LOG_CHANNEL=stack
LOG_DEPRECATIONS_CHANNEL=null
LOG_LEVEL=debug
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=
BROADCAST_DRIVER=log
CACHE_DRIVER=file
FILESYSTEM_DISK=local
QUEUE_CONNECTION=sync
SESSION_DRIVER=file
SESSION_LIFETIME=120
MEMCACHED_HOST=127.0.0.1
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
MAIL_MAILER=smtp
MAIL_HOST=mailhog
MAIL_PORT=1025
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS="hello@example.com"
MAIL_FROM_NAME="${APP_NAME}"
AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=
AWS_USE_PATH_STYLE_ENDPOINT=false
PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=
PUSHER_HOST=
PUSHER_PORT=443
PUSHER_SCHEME=https
PUSHER_APP_CLUSTER=mt1
VITE_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
VITE_PUSHER_HOST="${PUSHER_HOST}"
VITE_PUSHER_PORT="${PUSHER_PORT}"
VITE_PUSHER_SCHEME="${PUSHER_SCHEME}"
VITE_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
* text=auto
*.blade.php diff=html
*.css diff=css
*.html diff=html
*.md diff=markdown
*.php diff=php
/.github export-ignore
CHANGELOG.md export-ignore
.styleci.yml export-ignore
<p align="center"><a href="https://laravel.com" target="_blank"><img src="https://raw.githubusercontent.com/laravel/art/master/logo-lockup/5%20SVG/2%20CMYK/1%20Full%20Color/laravel-logolockup-cmyk-red.svg" width="400" alt="Laravel Logo"></a></p>
<p align="center">
<a href="https://travis-ci.org/laravel/framework"><img src="https://travis-ci.org/laravel/framework.svg" alt="Build Status"></a>
<a href="https://packagist.org/packages/laravel/framework"><img src="https://img.shields.io/packagist/dt/laravel/framework" alt="Total Downloads"></a>
<a href="https://packagist.org/packages/laravel/framework"><img src="https://img.shields.io/packagist/v/laravel/framework" alt="Latest Stable Version"></a>
<a href="https://packagist.org/packages/laravel/framework"><img src="https://img.shields.io/packagist/l/laravel/framework" alt="License"></a>
</p>
## About Laravel
Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experience to be truly fulfilling. Laravel takes the pain out of development by easing common tasks used in many web projects, such as:
- [Simple, fast routing engine](https://laravel.com/docs/routing).
- [Powerful dependency injection container](https://laravel.com/docs/container).
- Multiple back-ends for [session](https://laravel.com/docs/session) and [cache](https://laravel.com/docs/cache) storage.
- Expressive, intuitive [database ORM](https://laravel.com/docs/eloquent).
- Database agnostic [schema migrations](https://laravel.com/docs/migrations).
- [Robust background job processing](https://laravel.com/docs/queues).
- [Real-time event broadcasting](https://laravel.com/docs/broadcasting).
Laravel is accessible, powerful, and provides tools required for large, robust applications.
## Learning Laravel
Laravel has the most extensive and thorough [documentation](https://laravel.com/docs) and video tutorial library of all modern web application frameworks, making it a breeze to get started with the framework.
You may also try the [Laravel Bootcamp](https://bootcamp.laravel.com), where you will be guided through building a modern Laravel application from scratch.
If you don't feel like reading, [Laracasts](https://laracasts.com) can help. Laracasts contains over 2000 video tutorials on a range of topics including Laravel, modern PHP, unit testing, and JavaScript. Boost your skills by digging into our comprehensive video library.
## Laravel Sponsors
We would like to extend our thanks to the following sponsors for funding Laravel development. If you are interested in becoming a sponsor, please visit the Laravel [Patreon page](https://patreon.com/taylorotwell).
### Premium Partners
- **[Vehikl](https://vehikl.com/)**
- **[Tighten Co.](https://tighten.co)**
- **[Kirschbaum Development Group](https://kirschbaumdevelopment.com)**
- **[64 Robots](https://64robots.com)**
- **[Cubet Techno Labs](https://cubettech.com)**
- **[Cyber-Duck](https://cyber-duck.co.uk)**
- **[Many](https://www.many.co.uk)**
- **[Webdock, Fast VPS Hosting](https://www.webdock.io/en)**
- **[DevSquad](https://devsquad.com)**
- **[Curotec](https://www.curotec.com/services/technologies/laravel/)**
- **[OP.GG](https://op.gg)**
- **[WebReinvent](https://webreinvent.com/?utm_source=laravel&utm_medium=github&utm_campaign=patreon-sponsors)**
- **[Lendio](https://lendio.com)**
## Contributing
Thank you for considering contributing to the Laravel framework! The contribution guide can be found in the [Laravel documentation](https://laravel.com/docs/contributions).
## Code of Conduct
In order to ensure that the Laravel community is welcoming to all, please review and abide by the [Code of Conduct](https://laravel.com/docs/contributions#code-of-conduct).
## Security Vulnerabilities
If you discover a security vulnerability within Laravel, please send an e-mail to Taylor Otwell via [taylor@laravel.com](mailto:taylor@laravel.com). All security vulnerabilities will be promptly addressed.
## License
The Laravel framework is open-sourced software licensed under the [MIT license](https://opensource.org/licenses/MIT).
<?php
namespace App\Console;
use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;
class Kernel extends ConsoleKernel
{
/**
* Define the application's command schedule.
*
* @param \Illuminate\Console\Scheduling\Schedule $schedule
* @return void
*/
protected function schedule(Schedule $schedule)
{
// $schedule->command('inspire')->hourly();
}
/**
* Register the commands for the application.
*
* @return void
*/
protected function commands()
{
$this->load(__DIR__.'/Commands');
require base_path('routes/console.php');
}
}
<?php
namespace App\Exceptions;
use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;
use Throwable;
class Handler extends ExceptionHandler
{
/**
* A list of exception types with their corresponding custom log levels.
*
* @var array<class-string<\Throwable>, \Psr\Log\LogLevel::*>
*/
protected $levels = [
//
];
/**
* A list of the exception types that are not reported.
*
* @var array<int, class-string<\Throwable>>
*/
protected $dontReport = [
//
];
/**
* A list of the inputs that are never flashed to the session on validation exceptions.
*
* @var array<int, string>
*/
protected $dontFlash = [
'current_password',
'password',
'password_confirmation',
];
/**
* Register the exception handling callbacks for the application.
*
* @return void
*/
public function register()
{
$this->reportable(function (Throwable $e) {
//
});
}
}
<?php
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use App\Providers\RouteServiceProvider;
use Illuminate\Foundation\Auth\ConfirmsPasswords;
class ConfirmPasswordController extends Controller
{
/*
|--------------------------------------------------------------------------
| Confirm Password Controller
|--------------------------------------------------------------------------
|
| This controller is responsible for handling password confirmations and
| uses a simple trait to include the behavior. You're free to explore
| this trait and override any functions that require customization.
|
*/
use ConfirmsPasswords;
/**
* Where to redirect users when the intended url fails.
*
* @var string
*/
protected $redirectTo = RouteServiceProvider::HOME;
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('auth');
}
}
<?php
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\SendsPasswordResetEmails;
class ForgotPasswordController extends Controller
{
/*
|--------------------------------------------------------------------------
| Password Reset Controller
|--------------------------------------------------------------------------
|
| This controller is responsible for handling password reset emails and
| includes a trait which assists in sending these notifications from
| your application to your users. Feel free to explore this trait.
|
*/
use SendsPasswordResetEmails;
}
<?php
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use App\Providers\RouteServiceProvider;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use App\Rules\Captcha;
class LoginController extends Controller
{
/*
|--------------------------------------------------------------------------
| Login Controller
|--------------------------------------------------------------------------
|
| This controller handles authenticating users for the application and
| redirecting them to your home screen. The controller uses a trait
| to conveniently provide its functionality to your applications.
|
*/
use AuthenticatesUsers;
/**
* Where to redirect users after login.
*
* @var string
*/
protected $redirectTo = RouteServiceProvider::HOME;
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest')->except('logout');
}
}
<?php
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use App\Providers\RouteServiceProvider;
use App\Models\User;
use Illuminate\Foundation\Auth\RegistersUsers;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Validator;
use App\Rules\Captcha;
class RegisterController extends Controller
{
/*
|--------------------------------------------------------------------------
| Register Controller
|--------------------------------------------------------------------------
|
| This controller handles the registration of new users as well as their
| validation and creation. By default this controller uses a trait to
| provide this functionality without requiring any additional code.
|
*/
use RegistersUsers;
/**
* Where to redirect users after registration.
*
* @var string
*/
protected $redirectTo = RouteServiceProvider::HOME;
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest');
}
/**
* 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, [
'name' => ['required', 'string', 'max:255'],
'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
'password' => ['required', 'string', 'min:8'],
'g-recaptcha-response' => new Captcha(),
]);
}
/**
* Create a new user instance after a valid registration.
*
* @param array $data
* @return \App\Models\User
*/
protected function create(array $data)
{
return User::create([
'name' => $data['name'],
'email' => $data['email'],
'password' => Hash::make($data['password']),
]);
}
}
<?php
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use App\Providers\RouteServiceProvider;
use Illuminate\Foundation\Auth\ResetsPasswords;
class ResetPasswordController 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;
/**
* Where to redirect users after resetting their password.
*
* @var string
*/
protected $redirectTo = RouteServiceProvider::HOME;
}
<?php
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use App\Providers\RouteServiceProvider;
use Illuminate\Foundation\Auth\VerifiesEmails;
class VerificationController extends Controller
{
/*
|--------------------------------------------------------------------------
| Email Verification Controller
|--------------------------------------------------------------------------
|
| This controller is responsible for handling email verification for any
| user that recently registered with the application. Emails may also
| be re-sent if the user didn't receive the original email message.
|
*/
use VerifiesEmails;
/**
* Where to redirect users after verification.
*
* @var string
*/
protected $redirectTo = RouteServiceProvider::HOME;
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('auth');
$this->middleware('signed')->only('verify');
$this->middleware('throttle:6,1')->only('verify', 'resend');
}
}
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Redirect;
class AuthController extends Controller
{
public function showLogin() {
return view ('auth.login');
}
public function login(Request $request) {
$result = auth()->attempt([
'email' => $request->email,
'password' => $request->password
]);
if ($result) {
$request->session()->regenerate();
// return redirect('/dashboard');
return view('dashboard');
}
return back();
}
public function logout(Request $request)
{
// $request->session()->flush();
// Auth::logout();
// return Redirect('login');
auth()->logout();
$request->session()->invalidate();
$request->session()->regenerateToken();
return redirect('/login');
}
}
<?php
namespace App\Http\Controllers;
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
use Illuminate\Foundation\Bus\DispatchesJobs;
use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Routing\Controller as BaseController;
class Controller extends BaseController
{
use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
}
<?php
namespace App\Http\Controllers;
use App\Models\User;
use App\Models\IncomingMail;
use App\Models\OutgoingMail;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
class HomeController extends Controller
{
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware(['auth', 'verified']);
}
/**
* Show the application dashboard.
*
* @return \Illuminate\Contracts\Support\Renderable
*/
public function index()
{
if (Auth::check()) {
$incomingMail = IncomingMail::count();
$outgoingMail = OutgoingMail::count();
$users = User::count();
$data = [
'incomingMails' => $incomingMail,
'outgoingMails' => $outgoingMail,
'users' => $users,
'name' => Auth::user()->name
];
return view('dashboard', $data);
} else {
return redirect('/');
}
}
public function logout() {
if (Auth::check()) {
Auth::logout();
}
return redirect('/');
}
}
<?php
namespace App\Http\Controllers;
use App\Models\IncomingMail;
use App\Http\Requests\StoreIncomingMailRequest;
use App\Http\Requests\UpdateIncomingMailRequest;
use Illuminate\Support\Facades\Auth;
use Illuminate\Http\Request;
use PDF;
class IncomingMailController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
if (Auth::check()) {
$incomingMails = IncomingMail::all();
return view ('incomingMail.incomingMail', compact('incomingMails'));
} else {
return redirect('/');
}
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
if (Auth::check()) {
return view ('incomingMail.addIncomingMail');
} else {
return redirect('/');
}
}
/**
* Store a newly created resource in storage.
*
* @param \App\Http\Requests\StoreIncomingMailRequest $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
if (Auth::check()) {
$request->validate([
'type' => 'required',
'receipt_date' => 'required',
'sent_date' => 'required',
'mail_number' => 'required',
'sender' => 'required',
'about' => 'required'
]);
$mail = new IncomingMail;
$mail->type = $request->type;
$mail->receipt_date = $request->receipt_date;
$mail->sent_date = $request->sent_date;
$mail->mail_number = $request->mail_number;
$mail->sender = $request->sender;
$mail->about = $request->about;
$mail->user_id = Auth::user()->id;
$mail->save();
return redirect('/incoming-mail')->with('success_message', 'Surat Masuk berhasil ditambahkan!');
} else {
return redirect('/');
}
}
/**
* Display the specified resource.
*
* @param \App\Models\IncomingMail $incomingMail
* @return \Illuminate\Http\Response
*/
public function show($id)
{
if (Auth::check()) {
$mail = IncomingMail::where('id', $id)->first();
return view('incomingMail.detailIncomingMail', compact('mail'));
} else {
return redirect('/');
}
}
/**
* Show the form for editing the specified resource.
*
* @param \App\Models\IncomingMail $incomingMail
* @return \Illuminate\Http\Response
*/
public function edit(IncomingMail $incomingMail)
{
if (Auth::check()) {
$mail = $incomingMail;
return view('incomingMail.editIncomingMail', compact('mail'));
} else {
return redirect('/');
}
}
/**
* Update the specified resource in storage.
*
* @param \App\Http\Requests\UpdateIncomingMailRequest $request
* @param \App\Models\IncomingMail $incomingMail
* @return \Illuminate\Http\Response
*/
public function update(Request $request, IncomingMail $incomingMail)
{
if (Auth::check()) {
$request->validate([
'type' => 'required',
'receipt_date' => 'required',
'sent_date' => 'required',
'mail_number' => 'required',
'sender' => 'required',
'about' => 'required'
]);
$incomingMail->type = $request->type;
$incomingMail->receipt_date = $request->receipt_date;
$incomingMail->sent_date = $request->sent_date;
$incomingMail->mail_number = $request->mail_number;
$incomingMail->sender = $request->sender;
$incomingMail->about = $request->about;
$incomingMail->user_id = Auth::user()->id;
$incomingMail->save();
return redirect('/incoming-mail')->with('success_message', 'Surat Masuk berhasil diubah!');
} else {
return redirect('/');
}
}
/**
* Remove the specified resource from storage.
*
* @param \App\Models\IncomingMail $incomingMail
* @return \Illuminate\Http\Response
*/
public function destroy(IncomingMail $incomingMail)
{
if (Auth::check()) {
$incomingMail->delete();
return redirect('/incoming-mail')->with('success_message', 'Surat Masuk berhasil dihapus!');
} else {
return redirect('/');
}
}
public function exportPDF()
{
if (Auth::check()) {
$incomingMails = IncomingMail::all();
$data = PDF::loadview('incomingMail.incomingMail_Reports', [
'incomingMails' => $incomingMails
]);
return $data->download('laporan-surat-masuk.pdf');
} else {
return redirect('/');
}
}
// public function exportEXCEL()
// {
// if (Auth::check()) {
// $incomingMails = IncomingMail::all();
// $data = Excel::loadview('incomingMail.incomingMail_Reports', [
// 'incomingMails' => $incomingMails
// ]);
// return $data->download('laporan-surat-masuk.xlsx');
// } else {
// return redirect('/');
// }
// }
}
<?php
namespace App\Http\Controllers;
use App\Models\OutgoingMail;
use App\Http\Requests\StoreOutgoingMailRequest;
use App\Http\Requests\UpdateOutgoingMailRequest;
use Illuminate\Support\Facades\Auth;
use Illuminate\Http\Request;
use PDF;
class OutgoingMailController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
if (Auth::check()) {
$outgoingMails = OutgoingMail::all();
return view ('outgoingMail.outgoingMail', compact('outgoingMails'));
} else {
return redirect('/');
}
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
if (Auth::check()) {
return view ('outgoingMail.addOutgoingMail');
} else {
return redirect('/');
}
}
/**
* Store a newly created resource in storage.
*
* @param \App\Http\Requests\StoreOutgoingMailRequest $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
if (Auth::check()) {
$request->validate([
'type' => 'required',
'sent_date' => 'required',
'mail_number' => 'required',
'receiver' => 'required',
'about' => 'required'
]);
$mail = new OutgoingMail;
$mail->type = $request->type;
$mail->sent_date = $request->sent_date;
$mail->mail_number = $request->mail_number;
$mail->receiver = $request->receiver;
$mail->about = $request->about;
$mail->user_id = Auth::user()->id;
$mail->save();
return redirect('/outgoing-mail')->with('success_message', 'Surat Keluar berhasil ditambahkan!');
} else {
return redirect('/');
}
}
/**
* Display the specified resource.
*
* @param \App\Models\OutgoingMail $outgoingMail
* @return \Illuminate\Http\Response
*/
public function show($id)
{
if (Auth::check()) {
$mail = OutgoingMail::where('id', $id)->first();
return view('outgoingMail.detailOutgoingMail', compact('mail'));
} else {
return redirect('/');
}
}
/**
* Show the form for editing the specified resource.
*
* @param \App\Models\OutgoingMail $outgoingMail
* @return \Illuminate\Http\Response
*/
public function edit(OutgoingMail $outgoingMail)
{
if (Auth::check()) {
$mail = $outgoingMail;
return view('outgoingMail.editOutgoingMail', compact('mail'));
} else {
return redirect('/');
}
}
/**
* Update the specified resource in storage.
*
* @param \App\Http\Requests\UpdateOutgoingMailRequest $request
* @param \App\Models\OutgoingMail $outgoingMail
* @return \Illuminate\Http\Response
*/
public function update(Request $request, OutgoingMail $outgoingMail)
{
if (Auth::check()) {
$request->validate([
'type' => 'required',
'sent_date' => 'required',
'mail_number' => 'required',
'receiver' => 'required',
'about' => 'required'
]);
$outgoingMail->type = $request->type;
$outgoingMail->sent_date = $request->sent_date;
$outgoingMail->mail_number = $request->mail_number;
$outgoingMail->receiver = $request->receiver;
$outgoingMail->about = $request->about;
$outgoingMail->user_id = Auth::user()->id;
$outgoingMail->save();
return redirect('/outgoing-mail')->with('success_message', 'Surat Keluar berhasil diubah!');
} else {
return redirect('/');
}
}
/**
* Remove the specified resource from storage.
*
* @param \App\Models\OutgoingMail $outgoingMail
* @return \Illuminate\Http\Response
*/
public function destroy(OutgoingMail $outgoingMail)
{
if (Auth::check()) {
$outgoingMail->delete();
return redirect('/outgoing-mail')->with('success_message', 'Surat Keluar berhasil dihapus!');
} else {
return redirect('/');
}
}
public function exportPDF()
{
if (Auth::check()) {
$outgoingMails = OutgoingMail::all();
$data = PDF::loadview('outgoingMail.outgoingMail_Reports', [
'outgoingMails' => $outgoingMails
]);
return $data->download('laporan-surat-keluar.pdf');
} else {
return redirect('/');
}
}
}
<?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<int, class-string|string>
*/
protected $middleware = [
// \App\Http\Middleware\TrustHosts::class,
\App\Http\Middleware\TrustProxies::class,
\Illuminate\Http\Middleware\HandleCors::class,
\App\Http\Middleware\PreventRequestsDuringMaintenance::class,
\Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
\App\Http\Middleware\TrimStrings::class,
\Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
];
/**
* The application's route middleware groups.
*
* @var array<string, array<int, class-string|string>>
*/
protected $middlewareGroups = [
'web' => [
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
\Illuminate\Session\Middleware\StartSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
\App\Http\Middleware\VerifyCsrfToken::class,
\Illuminate\Routing\Middleware\SubstituteBindings::class,
],
'api' => [
// \Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class,
'throttle:api',
\Illuminate\Routing\Middleware\SubstituteBindings::class,
],
];
/**
* The application's route middleware.
*
* These middleware may be assigned to groups or used individually.
*
* @var array<string, class-string|string>
*/
protected $routeMiddleware = [
'auth' => \App\Http\Middleware\Authenticate::class,
'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
'auth.session' => \Illuminate\Session\Middleware\AuthenticateSession::class,
'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class,
'can' => \Illuminate\Auth\Middleware\Authorize::class,
'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
'password.confirm' => \Illuminate\Auth\Middleware\RequirePassword::class,
'signed' => \App\Http\Middleware\ValidateSignature::class,
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class,
];
}
Markdown is supported
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