diff --git a/app/Booking.php b/app/Booking.php index 0648c176..aa664ec4 100644 --- a/app/Booking.php +++ b/app/Booking.php @@ -17,7 +17,7 @@ class Booking extends Model } public function userBankSlip(){ - return $this->hasOne('app\UserBankSlip'); + return $this->hasOne(UserBankSlip::class); } } diff --git a/app/Http/Controllers/BookingController.php b/app/Http/Controllers/BookingController.php index 6034fad5..2cf7fc89 100644 --- a/app/Http/Controllers/BookingController.php +++ b/app/Http/Controllers/BookingController.php @@ -183,7 +183,7 @@ class BookingController extends Controller ); $user_bankslip = new UserBankSlip; - $user_bankslip->book_id = $booking->id; + $user_bankslip->booking_id = $booking->id; $user_bankslip->bankslip_url = $unique_image_url; $user_bankslip->transfer_amount = $request->input('transfer_amount'); $user_bankslip->save(); @@ -191,12 +191,16 @@ class BookingController extends Controller return response()->json(['message'=>"Success"],200); } - public function updateBankSlipAmount($id){ + public function updateBankSlipAmount(Request $request, $id){ $booking = Booking::where('user_id',Auth::user()->id)->where('id',$id)->first(); $user_bankslip = $booking->userBankSlip()->first(); + + if(!$user_bankslip){ + return response()->json(["message"=> "not found"],400); + } $user_bankslip->transfer_amount = $request->input('transfer_amount'); $user_bankslip->save(); - return response()->json(['message'=>"Success"],200); + return response()->json(["message"=> "Success"],200); } public function uploadPurchaseOrder(Request $request, $id) diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php new file mode 100644 index 00000000..58f9b8ab --- /dev/null +++ b/app/Http/Controllers/UserController.php @@ -0,0 +1,21 @@ +user(); + } +} diff --git a/app/Http/Controllers/WelcomeController.php b/app/Http/Controllers/WelcomeController.php new file mode 100644 index 00000000..fc034c21 --- /dev/null +++ b/app/Http/Controllers/WelcomeController.php @@ -0,0 +1,21 @@ +hasMany('App\Booking'); + return $this->hasMany(Booking::class); } } diff --git a/app/UserBankSlip.php b/app/UserBankSlip.php index 99b1aac4..3e3e6678 100644 --- a/app/UserBankSlip.php +++ b/app/UserBankSlip.php @@ -6,7 +6,7 @@ use Illuminate\Database\Eloquent\Model; class UserBankSlip extends Model { - protected $fillable = ['bank_slip_type','bankslip_url','transfer_amount','book_id','cust_marking']; + protected $fillable = ['bank_slip_type','bankslip_url','transfer_amount','booking_id','cust_marking']; public function booking() { diff --git a/database/migrations/2019_05_22_032509_make_nullable_field_bookings_table.php b/database/migrations/2018_05_22_032509_make_nullable_field_bookings_table.php similarity index 100% rename from database/migrations/2019_05_22_032509_make_nullable_field_bookings_table.php rename to database/migrations/2018_05_22_032509_make_nullable_field_bookings_table.php diff --git a/database/migrations/2018_06_18_141410_rename_book_id_to_booking_id_in_userbankslip_table.php b/database/migrations/2018_06_18_141410_rename_book_id_to_booking_id_in_userbankslip_table.php new file mode 100644 index 00000000..9113a2dd --- /dev/null +++ b/database/migrations/2018_06_18_141410_rename_book_id_to_booking_id_in_userbankslip_table.php @@ -0,0 +1,31 @@ +renameColumn('book_id', 'booking_id'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + // + } +} diff --git a/resources/assets/js/pages/booking/uploadUserBankSlip.vue b/resources/assets/js/pages/booking/uploadUserBankSlip.vue index 931f3757..9323e09a 100644 --- a/resources/assets/js/pages/booking/uploadUserBankSlip.vue +++ b/resources/assets/js/pages/booking/uploadUserBankSlip.vue @@ -64,7 +64,7 @@
- Submit + Submit Upload Later @@ -171,7 +171,7 @@ let newUserSlip = { transfer_amount : this.user_slip_form.transfer_amount } - axios.post('/booking/'+ this.booking_id +'/bankslip-amount', newUserSlip) + axios.patch('/api/booking/'+ this.booking_id +'/bankslip-amount', newUserSlip) .then((response) => { this.$message({ showClose: true, @@ -179,13 +179,19 @@ type: 'success', duration: 5000, }); - // console.log(response) - // this.$router.push({ - // name: 'home' - // }) + console.log(response) + this.$router.push({ + name: 'home' + }) }) .catch((error) => { + this.$message({ + showClose: true, + message: 'Please upload your bankin slip first.', + type: 'warning', + duration: 10000, + }); console.log(error) return }) diff --git a/resources/assets/js/pages/home.vue b/resources/assets/js/pages/home.vue index 0f53ca45..7144f47c 100644 --- a/resources/assets/js/pages/home.vue +++ b/resources/assets/js/pages/home.vue @@ -226,7 +226,7 @@ - Confirm + Confirm @@ -491,6 +491,7 @@ }, createBooking: function () { + this.loading = true, this.dialogFormVisible1 = true let newBooking = { @@ -505,10 +506,11 @@ console.log(newBooking) axios.post('api/booking', newBooking) .then((response) => { - + this.loading = false // push with return id this.$router.push({ - name: 'booking.user.upload' + name: 'booking.user.upload', + params: {id: response.data.id } }) // pass variable to another router diff --git a/routes/api.php b/routes/api.php index a00c55ca..7c59f094 100644 --- a/routes/api.php +++ b/routes/api.php @@ -36,13 +36,11 @@ Route::group(['middleware' => 'auth:api'], function () { Route::delete('/booking/{book_id}', 'BookingController@delete'); Route::post('/booking', 'BookingController@store'); Route::post('/booking/calculation', 'BookingController@calculation'); - Route::post('booking/{book_id}/cancel', 'BookingController@cancel'); - Route::post('booking/{id}/upload-user-bankslip', 'BookingController@uploadbankslip'); - Route::post('booking/{id}/upload-po', 'BookingController@uploadPurchaseOrder'); - Route::put('booking/{id}/bankslip-amount', 'BookingController@updateBankSlipAmount'); - Route::get('/user', function (Request $request) { - return $request->user(); - }); + Route::post('/booking/{book_id}/cancel', 'BookingController@cancel'); + Route::post('/booking/{id}/upload-user-bankslip', 'BookingController@uploadbankslip'); + Route::post('/booking/{id}/upload-po', 'BookingController@uploadPurchaseOrder'); + Route::patch('/booking/{id}/bankslip-amount', 'BookingController@updateBankSlipAmount'); + Route::get('/user', 'UserController@show'); }); Route::patch('settings/profile', 'Settings\ProfileController@update'); diff --git a/routes/web.php b/routes/web.php index c440a077..49812be0 100644 --- a/routes/web.php +++ b/routes/web.php @@ -11,25 +11,7 @@ | */ -Route::get('/', function () { - return view('index'); -}); - -/*Route for the booking */ -// Route::get('/booking', 'BookingController@index'); - -// Route::get('/booking/{booking}', 'BookingController@show'); - -// Route::post('/booking', 'BookingController@create'); - -// Route::post('/booking', 'BookingController@store'); - -// Route::put('/booking/{user-id}', 'BookingController@update'); - -// Route::delete('/booking/{user-id}', 'BookingController@delete'); - +Route::get('/', 'WelcomeController@index'); Route::get('password/reset/{token}', 'Auth\ResetPasswordController@showResetForm')->name('password.request'); Route::post('password/reset', 'Auth\ResetPasswordController@postReset')->name('password.reset'); -Route::get('{path}', function () { - return view('index'); -})->where('path', '(.*)'); +Route::get('{path}', 'WelcomeController@index')->where('path', '(.*)'); diff --git a/vendor/composer/autoload_classmap.php b/vendor/composer/autoload_classmap.php index f18da5fc..dd445256 100644 --- a/vendor/composer/autoload_classmap.php +++ b/vendor/composer/autoload_classmap.php @@ -25,6 +25,8 @@ return array( 'App\\Http\\Controllers\\SettingSupplierController' => $baseDir . '/app/Http/Controllers/SettingSupplierController.php', 'App\\Http\\Controllers\\Settings\\PasswordController' => $baseDir . '/app/Http/Controllers/Settings/PasswordController.php', 'App\\Http\\Controllers\\Settings\\ProfileController' => $baseDir . '/app/Http/Controllers/Settings/ProfileController.php', + 'App\\Http\\Controllers\\UserController' => $baseDir . '/app/Http/Controllers/UserController.php', + 'App\\Http\\Controllers\\WelcomeController' => $baseDir . '/app/Http/Controllers/WelcomeController.php', 'App\\Http\\Kernel' => $baseDir . '/app/Http/Kernel.php', 'App\\Http\\Middleware\\EncryptCookies' => $baseDir . '/app/Http/Middleware/EncryptCookies.php', 'App\\Http\\Middleware\\RedirectIfAuthenticated' => $baseDir . '/app/Http/Middleware/RedirectIfAuthenticated.php', diff --git a/vendor/composer/autoload_static.php b/vendor/composer/autoload_static.php index 9f6b5edd..73b292ab 100644 --- a/vendor/composer/autoload_static.php +++ b/vendor/composer/autoload_static.php @@ -447,6 +447,8 @@ class ComposerStaticInit51a2977d18ddf089cd82402f3476f1a0 'App\\Http\\Controllers\\SettingSupplierController' => __DIR__ . '/../..' . '/app/Http/Controllers/SettingSupplierController.php', 'App\\Http\\Controllers\\Settings\\PasswordController' => __DIR__ . '/../..' . '/app/Http/Controllers/Settings/PasswordController.php', 'App\\Http\\Controllers\\Settings\\ProfileController' => __DIR__ . '/../..' . '/app/Http/Controllers/Settings/ProfileController.php', + 'App\\Http\\Controllers\\UserController' => __DIR__ . '/../..' . '/app/Http/Controllers/UserController.php', + 'App\\Http\\Controllers\\WelcomeController' => __DIR__ . '/../..' . '/app/Http/Controllers/WelcomeController.php', 'App\\Http\\Kernel' => __DIR__ . '/../..' . '/app/Http/Kernel.php', 'App\\Http\\Middleware\\EncryptCookies' => __DIR__ . '/../..' . '/app/Http/Middleware/EncryptCookies.php', 'App\\Http\\Middleware\\RedirectIfAuthenticated' => __DIR__ . '/../..' . '/app/Http/Middleware/RedirectIfAuthenticated.php',