Fix wrong variable name. Add auth check before upload bankslip and PO. Optimize some code stlye

This commit is contained in:
Too
2018-06-15 17:13:53 +08:00
parent 0ca14574d4
commit 3060aa1c1f
5 changed files with 147 additions and 164 deletions
+67 -102
View File
@@ -47,13 +47,7 @@ class BookingController extends Controller
break;
}
<<<<<<< HEAD
// Calculation Service charge
=======
// Calculation
// Service charge
>>>>>>> 83dfca2ae18825a69bca7aec5619abf7f4d0671f
$amount = $request->input("amount");
//logic : if amount higher than 10,000, no service charge. if amount lower than 10,000, 20.00 service charge
@@ -114,9 +108,13 @@ class BookingController extends Controller
return response()->json($booking, 201);
}
public function update(Request $request, $book_id)
{
if (!Auth::check())
{
return response()->json(['message'=>'not loggin'],200);
}
$book_id = Booking::find($book_id);
$book_id->account_name = $request->input('account_name');
$book_id->account_num = $request->input('account_num');
@@ -134,98 +132,85 @@ class BookingController extends Controller
public function uploadbankslip(Request $request, $id)
{
$user_bankslip = Booking::where("user_id", Auth::user()->id)->first();
if (!$user_bankslip)
{
return response()->json(['message'=>'Access denied'], 200);
}
$validator = Validator::make($request->all(), [
'bankslip_url' => 'image|mimes:jpg,jpeg,bmp,png'
]);
if($validator->fails())
{
return response()->json(['message'=>'Incorrect format'],200);
}
$unique_image_url = ""; //init variable
if($bankslip_url = $request->file('bankslip_url'))
{
// Get image name and store it
$filename = $bankslip_url->getClientOriginalName();
$input['bankslip_url'] = $filename;
//hash image name
$unique_name = 'bank_slip_' . md5($filename. time());
// Get image extension concentae it with hashed image name
$ext = $bankslip_url->getClientOriginalExtension();
$unique_image_url = $unique_name. '.' .$ext;
//update database
Storage::putFileAs(
'bankslip_url',/*folder name*/ $bankslip_url, $unique_image_url
);
} //end if
else {
return response()->json(['message' => 'No file detected'], 400);
}
$booking = Booking::find($id);
/* Validation*/
if (!$booking || Auth::user()->id != $booking->user_id)
{
return response()->json(['message'=>'Access denied'], 200);
}
$validator = Validator::make($request->all(), [
'bankslip_url' => 'image|mimes:jpg,jpeg,bmp,png'
]);
if($validator->fails())
{
return response()->json(['message'=>'Incorrect format'],200);
}
if(!$bankslip_file = $request->file('bankslip_url'))
{
return response()->json(['message' => 'No file detected'], 400);
}
/* End Validation */
$filename = $bankslip_file->getClientOriginalName();
$ext = $bankslip_file->getClientOriginalExtension();
$input['bankslip_url'] = $filename;
$unique_name = 'bank_slip_' . md5($filename. time());
$unique_image_url = $unique_name. '.' .$ext;
Storage::putFileAs(
'bankslip_url',/*folder name*/ $bankslip_file, $unique_image_url
);
$booking->cust_marking = $request->input('cust_marking');
$booking->bank_slip_type = $request->input('bank_slip_type');
// Create Post
$user_bankslip = new UserBankSlip;
$user_bankslip->book_id = $booking->id;
$user_bankslip->bankslip_url = $unique_image_url;
$user_bankslip->transfer_amount = $request->input('transfer_amount');
$user_bankslip->save();
return response()->json(['message'=>$user_bankslip],200);
return response()->json(['message'=>"Success"],200);
}
public function uploadPurchaseOrder(Request $request, $id)
{
$user_po = Booking::where("user_id", Auth::user()->id)->first();
if (!$user_po)
{
return response()->json(['message'=>'Access denied'], 200);
}
$booking = Booking::find($id);
/* Validation */
if (!$booking || Auth::user()->id != $booking->user_id)
{
return response()->json(['message'=>'Access denied'], 200);
}
$validator = Validator::make($request->all(), [
'image_url' => 'image|mimes:jpg,jpeg,bmp,png'
]);
$validator = Validator::make($request->all(), [
'image_url' => 'image|mimes:jpg,jpeg,bmp,png'
]);
if($validator->fails())
{
return response()->json(['message'=>'Incorrect format'],200);
}
if($validator->fails())
{
return response()->json(['message'=>'Incorrect format'],200);
}
$unique_image_url = ""; // declare variable
if($image_url = $request->file('image_url'))
{
// Get image name and store it
$filename = $image_url->getClientOriginalName();
$input['image_url'] = $filename;
// hash image name
$unique_name = 'purchase_order_' . md5($filename. time());
if(!$user_input_file = $request->file('image_url'))
{
return response()->json(['message' => 'No file detected'], 400);
}
/* End Validation */
// Get image extension concentae it with hashed image name
$ext = $image_url->getClientOriginalExtension();
$unique_image_url = $unique_name. '.' .$ext;
//update database
Storage::putFileAs(
'image_url',/*folder name*/ $image_url, $unique_image_url
);
} //end if
else {
return response()->json(['message' => 'No file detected'], 400);
}
$filename = $user_input_file->getClientOriginalName();
$ext = $user_input_file->getClientOriginalExtension();
$input['image_url'] = $filename;
$unique_name = 'purchase_order_' . md5($filename. time());
$unique_image_url = $unique_name. '.' .$ext;
Storage::putFileAs(
'image_url',/*folder name*/ $user_input_file, $unique_image_url
);
$booking = Booking::find($id);
$user_po = new PurchaseOrder;
@@ -233,32 +218,12 @@ class BookingController extends Controller
$user_po->book_id = $booking->id;
$user_po->amount = $request->input('amount');
$user_po->save();
return response()->json(['message'=>'Success'],200);
}
<<<<<<< HEAD
=======
public function update(Request $request, $book_id)
{
$book_id = Booking::find($book_id);
$book_id->account_name = $request->input('account_name');
$book_id->account_num = $request->input('account_num');
$book_id->bank_name = $request->input('bank_name');
$book_id->bank_branch = $request->input('bank_branch');
$book_id->company_name = $request->input('company_name');
$book_id->company_address = $request->input('company_address');
$book_id->bank_address = $request->input('bank_address');
$book_id->swift_code = $request->input('swift_code');
$book_id->cnap = $request->input('cnap');
$book_id->save();
return response()->json(['book_id'=>$book_id],200);
}
>>>>>>> 83dfca2ae18825a69bca7aec5619abf7f4d0671f
public function delete(Booking $book_id)
{
$booking = Booking::where('user_id', Auth::user())->where('id', $book_id)->firstOrFail();
$booking->delete($book_id);
return response()->json($book_id, 204);
}
Generated
+10 -10
View File
@@ -1063,16 +1063,16 @@
},
{
"name": "laravel/framework",
"version": "v5.6.24",
"version": "v5.6.25",
"source": {
"type": "git",
"url": "https://github.com/laravel/framework.git",
"reference": "56290edeb0d8051826d40b4cbd8ed3c30348b2b5"
"reference": "a15efe4fbcd6b38ea76edc5c8939ffde4f4c7b7f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laravel/framework/zipball/56290edeb0d8051826d40b4cbd8ed3c30348b2b5",
"reference": "56290edeb0d8051826d40b4cbd8ed3c30348b2b5",
"url": "https://api.github.com/repos/laravel/framework/zipball/a15efe4fbcd6b38ea76edc5c8939ffde4f4c7b7f",
"reference": "a15efe4fbcd6b38ea76edc5c8939ffde4f4c7b7f",
"shasum": ""
},
"require": {
@@ -1198,7 +1198,7 @@
"framework",
"laravel"
],
"time": "2018-06-04T14:51:03+00:00"
"time": "2018-06-12T14:39:24+00:00"
},
{
"name": "laravel/socialite",
@@ -4730,16 +4730,16 @@
},
{
"name": "sebastian/comparator",
"version": "3.0.0",
"version": "3.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/comparator.git",
"reference": "ed5fd2281113729f1ebcc64d101ad66028aeb3d5"
"reference": "591a30922f54656695e59b1f39501aec513403da"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/ed5fd2281113729f1ebcc64d101ad66028aeb3d5",
"reference": "ed5fd2281113729f1ebcc64d101ad66028aeb3d5",
"url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/591a30922f54656695e59b1f39501aec513403da",
"reference": "591a30922f54656695e59b1f39501aec513403da",
"shasum": ""
},
"require": {
@@ -4790,7 +4790,7 @@
"compare",
"equality"
],
"time": "2018-04-18T13:33:00+00:00"
"time": "2018-06-14T15:05:28+00:00"
},
{
"name": "sebastian/diff",
+66 -29
View File
@@ -2,48 +2,85 @@
namespace Tests\Unit\BookingTest;
use App\User;
use Artisan;
use Tests\TestCase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
use Illuminate\Database\Seeder;
use Illuminate\Foundation\Testing\DatabaseMigrations;
use Illuminate\Support\Facades\Storage;
use Illuminate\Http\UploadedFile;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Support\Providers\AuthServiceProvider;
use Auth;
use Artisan;
use App\User;
use App\Booking;
class BookingTest extends TestCase
{
protected $user;
public function setUp()
{
parent::setUp();
Artisan::call('db:seed');
$this->user = factory(User::class)->create();
$this->user = User::Find(1);
}
public function testPost()
{
$response =
$this->actingAs($this->user)
->postJson('/api/booking/', [
'term' => 'x1_ba',
'account_name' => 'johnny',
'account_num' => '1234567',
'bank_name' => 'myabnak',
'bank_branch' => 'banking',
'company_name' => 'besaras',
'company_address' => 'californina',
'bank_address' => 'cyber',
'swift_code' => '123wert',
'cnap' => '2131rew',
'term' => 'x2_cash',
'rmb_book_amount' => 14000,
'rmb_book_pay_method' => 'x1_ba',
'rmb_book_account_name' => 'Xiao Xue',
'rmb_book_acc_no' => '12332123123',
'rmb_book_bank_branch' => 'ShenZhen',
'amount' => 14000,
]);
dd($response->getContent());
$response->assertStatus(200);
$response =
$this->actingAs($this->user)
->postJson('/api/booking/', [
'account_name' => 'johnny',
'account_num' => '1234567',
'bank_name' => 'myabnak',
'bank_branch' => 'banking',
'company_name' => 'besaras',
'company_address' => 'californina',
'bank_address' => 'cyber',
'swift_code' => '123wert',
'cnap' => '2131rew',
'term' => 'x2_cash',
'amount' => '14000',
'rmb_book_amount' => '2131',
'rmb_book_pay_method' => '2131rea',
'rmb_book_account_name' => '2131rew',
'rmb_book_acc_no' => '2131',
'rmb_book_bank_branch' => '2131rew',
'usd_book_amount' => '2131',
'usd_book_pay_method' => '2131rew',
'usd_book_company_name' => '2131rew',
'usd_book_company_address' => '2131rew',
'usd_book_swift_code' => '2131rew',
'usd_book_cnap' => '2131rew',
'usd_book_bank_branch' => '2131rew',
'verification_status' => '1'
]);
$response->assertStatus(201);
}
public function testuploadbankslip()
{
$this->actingAs($this->user);
Storage::fake('bankslip_url');
$response = $this->json('POST', '/api/booking/1/upload-user-bankslip', [
'bankslip_url' => UploadedFile::fake()->image('comp.jpg'),
'transfer_amount' => '9000'
]);
$response->assertStatus(200);
}
public function testuploadPO()
{
$this->actingAs($this->user);
Storage::fake('image_url');
$response = $this->json('POST', '/api/booking/1/upload-po', [
'image_url' => UploadedFile::fake()->image('comp.jpg'),
'amount' => '12345'
]);
$response->assertStatus(200);
}
}
+2 -1
View File
@@ -1679,6 +1679,7 @@ return array(
'Illuminate\\Foundation\\Testing\\WithoutEvents' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Testing/WithoutEvents.php',
'Illuminate\\Foundation\\Testing\\WithoutMiddleware' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Testing/WithoutMiddleware.php',
'Illuminate\\Foundation\\Validation\\ValidatesRequests' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Validation/ValidatesRequests.php',
'Illuminate\\Hashing\\AbstractHasher' => $vendorDir . '/laravel/framework/src/Illuminate/Hashing/AbstractHasher.php',
'Illuminate\\Hashing\\ArgonHasher' => $vendorDir . '/laravel/framework/src/Illuminate/Hashing/ArgonHasher.php',
'Illuminate\\Hashing\\BcryptHasher' => $vendorDir . '/laravel/framework/src/Illuminate/Hashing/BcryptHasher.php',
'Illuminate\\Hashing\\HashManager' => $vendorDir . '/laravel/framework/src/Illuminate/Hashing/HashManager.php',
@@ -4130,7 +4131,7 @@ return array(
'Tests\\Feature\\RegisterTest' => $baseDir . '/tests/Feature/RegisterTest.php',
'Tests\\Feature\\SettingsTest' => $baseDir . '/tests/Feature/SettingsTest.php',
'Tests\\TestCase' => $baseDir . '/tests/TestCase.php',
'Tests\\Unit\\BookingTest\\BookingTest' => $baseDir . '/tests/Feature/BookingTest.php',
'Tests\\Unit\\BookingTest\\BookingTest' => $baseDir . '/tests/Feature/BookingTest2.php',
'Text_Template' => $vendorDir . '/phpunit/php-text-template/src/Template.php',
'TheSeer\\Tokenizer\\Exception' => $vendorDir . '/theseer/tokenizer/src/Exception.php',
'TheSeer\\Tokenizer\\NamespaceUri' => $vendorDir . '/theseer/tokenizer/src/NamespaceUri.php',
+2 -22
View File
@@ -4,15 +4,7 @@
namespace Composer\Autoload;
<<<<<<< HEAD
class ComposerStaticInit6dcfe61ea7999ade723f072fea748b5a
=======
<<<<<<< HEAD
class ComposerStaticInit6dcfe61ea7999ade723f072fea748b5a
=======
class ComposerStaticInit51a2977d18ddf089cd82402f3476f1a0
>>>>>>> 9fa55b3394b938349e815fea8c8f6acc5b00fd15
>>>>>>> 83dfca2ae18825a69bca7aec5619abf7f4d0671f
{
public static $files = array (
'6124b4c8570aa390c21fafd04a26c69f' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/deep_copy.php',
@@ -2115,6 +2107,7 @@ class ComposerStaticInit51a2977d18ddf089cd82402f3476f1a0
'Illuminate\\Foundation\\Testing\\WithoutEvents' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Testing/WithoutEvents.php',
'Illuminate\\Foundation\\Testing\\WithoutMiddleware' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Testing/WithoutMiddleware.php',
'Illuminate\\Foundation\\Validation\\ValidatesRequests' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Validation/ValidatesRequests.php',
'Illuminate\\Hashing\\AbstractHasher' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Hashing/AbstractHasher.php',
'Illuminate\\Hashing\\ArgonHasher' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Hashing/ArgonHasher.php',
'Illuminate\\Hashing\\BcryptHasher' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Hashing/BcryptHasher.php',
'Illuminate\\Hashing\\HashManager' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Hashing/HashManager.php',
@@ -4566,7 +4559,7 @@ class ComposerStaticInit51a2977d18ddf089cd82402f3476f1a0
'Tests\\Feature\\RegisterTest' => __DIR__ . '/../..' . '/tests/Feature/RegisterTest.php',
'Tests\\Feature\\SettingsTest' => __DIR__ . '/../..' . '/tests/Feature/SettingsTest.php',
'Tests\\TestCase' => __DIR__ . '/../..' . '/tests/TestCase.php',
'Tests\\Unit\\BookingTest\\BookingTest' => __DIR__ . '/../..' . '/tests/Feature/BookingTest.php',
'Tests\\Unit\\BookingTest\\BookingTest' => __DIR__ . '/../..' . '/tests/Feature/BookingTest2.php',
'Text_Template' => __DIR__ . '/..' . '/phpunit/php-text-template/src/Template.php',
'TheSeer\\Tokenizer\\Exception' => __DIR__ . '/..' . '/theseer/tokenizer/src/Exception.php',
'TheSeer\\Tokenizer\\NamespaceUri' => __DIR__ . '/..' . '/theseer/tokenizer/src/NamespaceUri.php',
@@ -4757,23 +4750,10 @@ class ComposerStaticInit51a2977d18ddf089cd82402f3476f1a0
public static function getInitializer(ClassLoader $loader)
{
return \Closure::bind(function () use ($loader) {
<<<<<<< HEAD
=======
<<<<<<< HEAD
>>>>>>> 83dfca2ae18825a69bca7aec5619abf7f4d0671f
$loader->prefixLengthsPsr4 = ComposerStaticInit6dcfe61ea7999ade723f072fea748b5a::$prefixLengthsPsr4;
$loader->prefixDirsPsr4 = ComposerStaticInit6dcfe61ea7999ade723f072fea748b5a::$prefixDirsPsr4;
$loader->prefixesPsr0 = ComposerStaticInit6dcfe61ea7999ade723f072fea748b5a::$prefixesPsr0;
$loader->classMap = ComposerStaticInit6dcfe61ea7999ade723f072fea748b5a::$classMap;
<<<<<<< HEAD
=======
=======
$loader->prefixLengthsPsr4 = ComposerStaticInit51a2977d18ddf089cd82402f3476f1a0::$prefixLengthsPsr4;
$loader->prefixDirsPsr4 = ComposerStaticInit51a2977d18ddf089cd82402f3476f1a0::$prefixDirsPsr4;
$loader->prefixesPsr0 = ComposerStaticInit51a2977d18ddf089cd82402f3476f1a0::$prefixesPsr0;
$loader->classMap = ComposerStaticInit51a2977d18ddf089cd82402f3476f1a0::$classMap;
>>>>>>> 9fa55b3394b938349e815fea8c8f6acc5b00fd15
>>>>>>> 83dfca2ae18825a69bca7aec5619abf7f4d0671f
}, null, ClassLoader::class);
}