fix/uploadPoandMinorBugs

This commit is contained in:
lonetrinity
2018-10-08 16:18:56 +08:00
parent b4da087385
commit 94b08cb04d
2 changed files with 33 additions and 47 deletions
+14 -28
View File
@@ -5,6 +5,7 @@ namespace App\Http\Controllers;
use App\PurchaseOrder;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Storage;
use App\Classes\Service\Base64Uploader;
use App\Booking;
use App\Rate;
use App\UserBankSlip;
@@ -608,15 +609,8 @@ class BookingController extends Controller
if($bankslip_file = $request->input('slip_image'))
{
$ext = explode('/', explode(':', substr($bankslip_file, 0, strpos($bankslip_file, ';')))[1])[1];
$img = str_replace('data:image/'.$ext.';base64,', '', $bankslip_file);
$img = str_replace(' ', '+', $img);
$data = base64_decode($img);
$file_name = 'bank_slip_' . md5(time()).'.'.$ext;
if($bankslip_file!=""){
// storing image in storage/app/public Folder
$upload_path = \Storage::disk('public')->put('user_bankslip'.'/'.$file_name, $data);
}
$upload_path = (new Base64Uploader())->execute($bankslip_file, 'user_bankslip');
if($upload_path){
$user_bankslip = $booking->userBankSlip()->first();
@@ -626,7 +620,7 @@ class BookingController extends Controller
$user_bankslip = new UserBankSlip;
}
$user_bankslip->booking_id = $booking->id;
$user_bankslip->bankslip_path = 'user_bankslip'.'/'.$file_name;
$user_bankslip->bankslip_path = 'user_bankslip'.'/'.$upload_path;
$user_bankslip->transfer_amount = null;
$user_bankslip->save();
@@ -668,7 +662,7 @@ class BookingController extends Controller
return response()->json(["success"=>true],200);
}
public function uploadPurchaseOrder(Request $request, $id)
private function uploadPurchaseOrder(Request $request, $id)
{
$booking = Booking::where('user_id',Auth::user()->id)->where('id',$id)->first();
@@ -696,26 +690,18 @@ class BookingController extends Controller
// return response()->json(['message'=>'File too large, upload files up to 3 MB'], 400);
// }
if(!$user_input_file = $request->file('file'))
if(!$user_input_file = $request->input('images'))
{
return response()->json(['message' => 'No file detected'], 404);
}
/* End Validation */
$filename = $user_input_file->getClientOriginalName();
$ext = $user_input_file->getClientOriginalExtension();
$input['file'] = $filename;
$unique_name = 'purchase_order_' . md5($filename. time());
$unique_image_path = $unique_name. '.' .$ext;
$upload_path = Storage::disk('public')->putFileAs(
'purchase_order',/*folder name*/ $user_input_file, $unique_image_path, 'public'
);
$user_po = new PurchaseOrder;
$user_po->image_path = $upload_path;
$user_po->booking_id = $booking->id;
$user_po->save();
foreach($request->input('images') as $file){
$filename = (new Base64Uploader())->execute($file, 'purchase_order');
$user_po = new PurchaseOrder;
$user_po->image_path = 'purchase_order/'.$filename;
$user_po->booking_id = $booking->id;
$user_po->save();
}
$booking->status = 6;
// $booking->admin_status = 7;
@@ -1002,7 +988,7 @@ class BookingController extends Controller
}
public function confirmPurchaseOrder($id, Request $request){
dd($request->input('images')[0]);
$this->uploadPurchaseOrder($request, $id);
$booking = Booking::where('user_id',Auth::user()->id)->where('id',$id)->first();
$purchase_order = $booking->purchaseOrder()->first();
+19 -19
View File
@@ -241,26 +241,26 @@ export default {
console.log(this.purchaseOrderArray);
axios
.post('/api/booking/' + this.$route.params.id + '/confirm-po', { images: this.purchaseOrderArray})
// .then((response) => {
// this.$message({
// showClose: true,
// message: 'Your PO has been uploaded. We are processing the Invoice.',
// type: 'success',
// duration: 5000
// })
// this.$router.push({
// name: 'home'
// })
.then((response) => {
this.$message({
showClose: true,
message: 'Your PO has been uploaded. We are processing the Invoice.',
type: 'success',
duration: 5000
})
this.$router.push({
name: 'home'
})
this.loading_btn = false
}).catch((error) => {
this.$message({
showClose: true,
message: "Please upload your purchase order",
type: 'error',
duration: 30000
})
this.loading_btn = false
// }).catch((error) => {
// this.$message({
// showClose: true,
// message: "Please upload your purchase order",
// type: 'error',
// duration: 30000
// })
// this.loading_btn = false
// })
})
},
beforeFileUpload(file, fileList) {
this.purchaseOrderArray = [];