From e67866d03dca220fe80aa790e28a6395f16d721a Mon Sep 17 00:00:00 2001 From: iLazaKnight <aldoazali@gmail.com> Date: Fri, 1 Feb 2019 18:15:46 +0700 Subject: [PATCH] T7 - Membuat format unggah xlsx pada UI --- app/Http/Controllers/AddMemberController.php | 40 ++++++++++++++++++++ resources/views/admin/addXLSX.blade.php | 21 ++++++++++ resources/views/inc/addmembertab.blade.php | 10 +++-- 3 files changed, 68 insertions(+), 3 deletions(-) create mode 100644 resources/views/admin/addXLSX.blade.php diff --git a/app/Http/Controllers/AddMemberController.php b/app/Http/Controllers/AddMemberController.php index 300dca6..c480cb4 100644 --- a/app/Http/Controllers/AddMemberController.php +++ b/app/Http/Controllers/AddMemberController.php @@ -83,6 +83,46 @@ class AddMemberController extends Controller return redirect('/admin/members')->with('members', $members)->with('success', 'Members Imported'); } + public function importXLSX(Request $request) + { + $array_members = collect(); + if ($request->hasFile('list_members')) { + try { + $extension = $request->file('list_members')->getClientOriginalExtension(); + if ($extension === 'xlsx') { + $path = $request->file('list_members')->getRealPath(); + $data = Excel::load($path, function($reader) {})->get(); + if (!empty($data)) { + foreach ($data as $key=>$value) { + $member = Member::create([ + 'nim' => $value->nim, + 'name' => $value->name, + 'email' => $value->email, + 'phone_number' => $value->phone_number, + 'interest' => 'none', + 'company' => 'none', + ]); + $member->save(); + + $member = Member::where('email', $value->email)->first(); + $array_members->push($member); + } + } + } else { + return redirect('/admin/members')->with('error', 'Wrong File Extension'); + } + } catch (Exception $e) { + return redirect('/admin/members')->with('error', $e->getMessage()); + } + } else { + return redirect('/admin/members')->with('error','No XLSX file'); + } + + $members = Member::orderBy('name','asc')->paginate(20); + return redirect('/admin/members')->with('members', $members)->with('success', 'Members Imported'); + } + + public function importMember(Request $request) { $this->validate($request, [ diff --git a/resources/views/admin/addXLSX.blade.php b/resources/views/admin/addXLSX.blade.php new file mode 100644 index 0000000..7bcc829 --- /dev/null +++ b/resources/views/admin/addXLSX.blade.php @@ -0,0 +1,21 @@ +@extends('layouts.app') + +@section('content') + @include('inc.addmembertab') + <div class="addCSVForm"> + {!! Form::open(['action' => ['AddMemberController@importXLSX'], 'method' => 'POST', 'enctype' => 'multipart/form-data']) !!} + <div class="form-group"> + {{Form::label('list_members','Members')}} + {{Form::file('list_members',['class' => 'form-control-file'])}} + </div> + <br> + <br> + {{Form::hidden('_method', 'POST')}} + {{Form::submit('Submit', ['class' => 'btn btn-primary'])}} + <a onclick="return confirm('Are you sure you want to leave?')" class="btn btn-danger pull-right" href="/admin/members"> + Cancel + </a> + {!! Form::close() !!} + </div> +</div> +@endsection diff --git a/resources/views/inc/addmembertab.blade.php b/resources/views/inc/addmembertab.blade.php index 9132c04..45ca8b7 100644 --- a/resources/views/inc/addmembertab.blade.php +++ b/resources/views/inc/addmembertab.blade.php @@ -1,8 +1,12 @@ <nav class="nav nav-pills nav-justified"> - <a class="nav-item nav-link active manualAdd" href="/admin/add"> + <a class="nav-item nav-link active amanualAdd" href="/admin/add"> <i class="addMenu">Add Manually</i> </a> - <a class="nav-item nav-link CSVAdd" href="/admin/addCSV"> + <a class="nav-item nav-link aCSVAdd" href="/admin/addCSV"> <i class="addMenu">Upload CSV</i> + </a> + <a class="nav-item nav-link XLSXAdd" href="/admin/addCSV"> + <i class="addMenu">Upload XLSX</i> </a> -</nav> \ No newline at end of file + +</nav> -- GitLab