diff --git a/app/Booking.php b/app/Booking.php index c63969cc..5a1c2e0e 100644 --- a/app/Booking.php +++ b/app/Booking.php @@ -7,7 +7,8 @@ use Illuminate\Database\Eloquent\Model; class Booking extends Model { // protected $guarded = []; - protected $hidden = array('user_id', + protected $hidden = array( "user", + "user_id", "rate_id", "rmb_book_amount", "rmb_book_pay_method", @@ -29,7 +30,7 @@ class Booking extends Model public $timestamps = true; public function user(){ - return $this->belongsTo('app\User'); + return $this->belongsTo(User::class); } public function supplierBooking(){ diff --git a/app/Http/Controllers/Auth/RegisterController.php b/app/Http/Controllers/Auth/RegisterController.php index 7f0e1e90..e86685b1 100644 --- a/app/Http/Controllers/Auth/RegisterController.php +++ b/app/Http/Controllers/Auth/RegisterController.php @@ -78,6 +78,7 @@ class RegisterController extends Controller $user = new User(); $user->name = $data['name']; $user->email = $data['email']; + $user->marking = $marking->marking; $user->password = bcrypt($data['password']); $user->save(); diff --git a/app/Http/Controllers/BookingController.php b/app/Http/Controllers/BookingController.php index f38cb4f9..ad63ff84 100644 --- a/app/Http/Controllers/BookingController.php +++ b/app/Http/Controllers/BookingController.php @@ -20,12 +20,11 @@ class BookingController extends Controller public function index(){ $user = Auth::user(); - $bookings = Booking::select('id', 'created_at', 'status', 'rate', 'term', 'amount', 'bia', 'verification_status') + $bookings = Booking::select('user_id', 'id', 'created_at', 'status', 'rate', 'term', 'amount', 'bia', 'verification_status') ->where('user_id', $user->id) ->orderby('updated_at','desc') ->paginate(10); - // reformat to fit frontend structure foreach ($bookings as $booking) { // set timeout @@ -42,7 +41,7 @@ class BookingController extends Controller // TODO : transfer_amount change name to bia $booking->transfer_amount = $booking->bia; - + $booking->track_status = "(". $booking->status ."/7)"; switch ($booking->status) { case 1: @@ -69,15 +68,15 @@ class BookingController extends Controller default: $status_desc = ""; } - $booking->status_desc = $status_desc; + $booking->marking = $booking->user->marking; } - + return $bookings; } public function adminIndex(){ $user = Auth::user(); - $bookings = Booking::select('id', 'created_at', 'admin_status', 'rate', 'term', 'amount', 'bia', 'verification_status') + $bookings = Booking::select('user_id', 'id', 'created_at', 'admin_status', 'rate', 'term', 'amount', 'bia', 'verification_status') ->orderby('updated_at','desc') ->get(); @@ -126,7 +125,8 @@ class BookingController extends Controller break; default: $status_desc = ""; - } + } + $booking->marking = $booking->user->marking; $booking->status_desc = $status_desc; } return $bookings; @@ -169,6 +169,7 @@ class BookingController extends Controller $time_in_seconds = SettingCredit::orderby('updated_at','desc')->first()->time_limit; $difference_in_seconds = ($date1->format('U') + $time_in_seconds) - ($date2->format('U')); $booking->timeout = $difference_in_seconds; + $booking->marking = $booking->user->marking; if (!$booking){ return response()->json(['success'=>false, 'message'=>'not found'], 404); @@ -214,6 +215,7 @@ class BookingController extends Controller $time_in_seconds = SettingCredit::orderby('updated_at','desc')->first()->time_limit; $difference_in_seconds = ($date1->format('U') + $time_in_seconds) - ($date2->format('U')); $booking->timeout = $difference_in_seconds; + $booking->marking = $booking->user->marking; if (!$booking){ return response()->json(['success'=>false, 'message'=>'not found'], 404); @@ -524,6 +526,7 @@ class BookingController extends Controller $term = $request->input('term'); $china_beneficiary = $request->input('china_beneficiary'); $rates = Rate::orderby('updated_at','desc')->first(); + $marking = $user = Auth::user()->marking; $creditLimit = SettingCredit::orderby('updated_at','desc')->first(); @@ -534,9 +537,7 @@ class BookingController extends Controller if($amount > $creditLimit->rmb_credit_limit){ return response()->json(["message" => "Exceed credit limit, please contact our sales team for larger quantitiy"], 400); } - - // TODO : get marking - $marking = "123X"; + switch ($term) { case "x1_cash": diff --git a/app/User.php b/app/User.php index 27b460ef..210388c5 100644 --- a/app/User.php +++ b/app/User.php @@ -29,7 +29,7 @@ class User extends Authenticatable implements JWTSubject * @var array */ protected $hidden = [ - 'password', 'remember_token', + 'password', 'remember_token' ]; /** @@ -98,7 +98,7 @@ class User extends Authenticatable implements JWTSubject return []; } - public function booking(){ + public function bookings(){ return $this->hasMany(Booking::class); } diff --git a/database/factories/UserFactory.php b/database/factories/UserFactory.php index 061d75a2..ef13ef8b 100644 --- a/database/factories/UserFactory.php +++ b/database/factories/UserFactory.php @@ -21,5 +21,6 @@ $factory->define(App\User::class, function (Faker $faker) { 'email' => $faker->unique()->safeEmail, 'password' => $password ?: $password = bcrypt('secret'), 'remember_token' => str_random(10), + 'marking' => $faker->name, ]; }); diff --git a/database/migrations/2018_07_05_095441_add_marking_to_user_table.php b/database/migrations/2018_07_05_095441_add_marking_to_user_table.php new file mode 100644 index 00000000..d8824ab7 --- /dev/null +++ b/database/migrations/2018_07_05_095441_add_marking_to_user_table.php @@ -0,0 +1,31 @@ +string('marking'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + // + } +} diff --git a/database/migrations/2018_07_08_033026_change_foreignkey_type_in_activebank_table.php b/database/migrations/2018_07_08_033026_change_foreignkey_type_in_activebank_table.php new file mode 100644 index 00000000..ad518a6c --- /dev/null +++ b/database/migrations/2018_07_08_033026_change_foreignkey_type_in_activebank_table.php @@ -0,0 +1,41 @@ +dropForeign('setting_active_banks_x1_bank_id_foreign'); + $table->foreign('x1_bank_id') + ->references('acc_no')->on('setting_malaysia_banks'); + + $table->dropForeign('setting_active_banks_x2_bank_id_foreign'); + $table->foreign('x2_bank_id') + ->references('acc_no')->on('setting_malaysia_banks'); + + $table->dropForeign('setting_active_banks_beneficiary_id_foreign'); + $table->foreign('beneficiary_id') + ->references('acc_no')->on('setting_beneficiaries'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + // + } +} diff --git a/database/seeds/BookTableSeeder.php b/database/seeds/BookTableSeeder.php index b312ebf4..5dfc3fd9 100644 --- a/database/seeds/BookTableSeeder.php +++ b/database/seeds/BookTableSeeder.php @@ -35,7 +35,7 @@ class BookTableSeeder extends Seeder 'rate_id' => $rate->id, 'user_id' => $user->id, 'status' => 2, - 'admin_status' => 1, + 'admin_status' => 2, 'created_at' => Carbon::now()->format('Y-m-d H:i:s'), 'updated_at' => Carbon::now()->format('Y-m-d H:i:s'), ]); diff --git a/database/seeds/DatabaseSeeder.php b/database/seeds/DatabaseSeeder.php index b2e3cd03..32544630 100644 --- a/database/seeds/DatabaseSeeder.php +++ b/database/seeds/DatabaseSeeder.php @@ -12,6 +12,8 @@ class DatabaseSeeder extends Seeder */ public function run() { + Eloquent::unguard(); + $this->call(UsersTableSeeder::class); $this->call(RolesAndPermissionsSeeder::class); $this->call(UserRoleSeeder::class); @@ -20,8 +22,10 @@ class DatabaseSeeder extends Seeder $this->call(SettingCreditSeeder::class); $this->call(SuppliersTableSeeder::class); $this->call(MarkingSeeder::class); + DB::statement('SET FOREIGN_KEY_CHECKS=0;'); $this->call(SettingMalaysiaBankSeeder::class); $this->call(SettingBeneficiaresSeeder::class); $this->call(SettingActiveBankSeeder::class); + DB::statement('SET FOREIGN_KEY_CHECKS=1;'); } } diff --git a/database/seeds/MarkingSeeder.php b/database/seeds/MarkingSeeder.php index eab923a7..6686060a 100644 --- a/database/seeds/MarkingSeeder.php +++ b/database/seeds/MarkingSeeder.php @@ -11,6 +11,7 @@ class MarkingSeeder extends Seeder */ public function run() { + DB::table('markings')->truncate(); DB::table('markings')->insert([ 'marking' => 'hehe', 'email' => 'hehe@gmail.com' diff --git a/database/seeds/SettingActiveBankSeeder.php b/database/seeds/SettingActiveBankSeeder.php index e808aca2..feed9792 100644 --- a/database/seeds/SettingActiveBankSeeder.php +++ b/database/seeds/SettingActiveBankSeeder.php @@ -11,6 +11,7 @@ class SettingActiveBankSeeder extends Seeder */ public function run() { + DB::table('setting_active_banks')->truncate(); DB::table('setting_active_banks')->insert([ 'x1_bank_id' => 'malaysiaacc01', 'x2_bank_id' => 'malaysiaacc02', diff --git a/database/seeds/SettingBeneficiaresSeeder.php b/database/seeds/SettingBeneficiaresSeeder.php index dd4c3963..c7da261c 100644 --- a/database/seeds/SettingBeneficiaresSeeder.php +++ b/database/seeds/SettingBeneficiaresSeeder.php @@ -11,6 +11,7 @@ class SettingBeneficiaresSeeder extends Seeder */ public function run() { + DB::table('setting_beneficiaries')->truncate(); DB::table('setting_beneficiaries')->insert([ 'company_name' => 'CIEF2', 'bank_name' => 'Mayban222k', diff --git a/database/seeds/SettingMalaysiaBankSeeder.php b/database/seeds/SettingMalaysiaBankSeeder.php index fefd588f..21cc374a 100644 --- a/database/seeds/SettingMalaysiaBankSeeder.php +++ b/database/seeds/SettingMalaysiaBankSeeder.php @@ -11,6 +11,8 @@ class SettingMalaysiaBankSeeder extends Seeder */ public function run() { + DB::table('setting_active_banks')->truncate(); + DB::table('setting_malaysia_banks')->truncate(); DB::table('setting_malaysia_banks')->insert([ 'company_name' => 'CIEF', 'bank_name' => 'Maybank', diff --git a/database/seeds/UsersTableSeeder.php b/database/seeds/UsersTableSeeder.php index ac5c6584..51ea3589 100644 --- a/database/seeds/UsersTableSeeder.php +++ b/database/seeds/UsersTableSeeder.php @@ -16,8 +16,8 @@ class UsersTableSeeder extends Seeder DB::table('users')->delete(); $users = array( - ['name' => 'User', 'email' => 'user@example.com', 'password' => Hash::make('secret')], - ['name' => 'Admin', 'email' => 'admin@example.com', 'password' => Hash::make('secret')], + ['name' => 'User', 'marking'=> 'X9', 'email' => 'user@example.com', 'password' => Hash::make('secret')], + ['name' => 'Admin', 'marking'=> 'X10', 'email' => 'admin@example.com', 'password' => Hash::make('secret')], ); foreach ($users as $user) diff --git a/phpunit.xml b/phpunit.xml index d61b43d6..d7f2ae60 100644 --- a/phpunit.xml +++ b/phpunit.xml @@ -7,7 +7,7 @@ convertNoticesToExceptions="true" convertWarningsToExceptions="true" processIsolation="false" - stopOnFailure="false"> + stopOnFailure="true"> ./tests/Feature diff --git a/resources/assets/js/pages/admin/booking/completed.vue b/resources/assets/js/pages/admin/booking/completed.vue index 1854f3d7..17501670 100644 --- a/resources/assets/js/pages/admin/booking/completed.vue +++ b/resources/assets/js/pages/admin/booking/completed.vue @@ -114,7 +114,7 @@
Customer Marking :
-
CIEF/150ECE
+
{{ booking_details.marking }}
diff --git a/resources/assets/js/pages/admin/booking/supplierBooking.vue b/resources/assets/js/pages/admin/booking/supplierBooking.vue index f83004c3..091cfaa9 100644 --- a/resources/assets/js/pages/admin/booking/supplierBooking.vue +++ b/resources/assets/js/pages/admin/booking/supplierBooking.vue @@ -48,7 +48,7 @@
Customer Marking :
-
CIEF/150ECE
+
{{ booking_details.marking }}
diff --git a/resources/assets/js/pages/admin/booking/supplierReport.vue b/resources/assets/js/pages/admin/booking/supplierReport.vue index 1d96b517..41400042 100644 --- a/resources/assets/js/pages/admin/booking/supplierReport.vue +++ b/resources/assets/js/pages/admin/booking/supplierReport.vue @@ -48,7 +48,7 @@
Customer Marking :
-
CIEF/150ECE
+
{{ booking_details.marking }}
diff --git a/resources/assets/js/pages/admin/booking/uploadChinaBankslip.vue b/resources/assets/js/pages/admin/booking/uploadChinaBankslip.vue index f8e1261e..0e626004 100644 --- a/resources/assets/js/pages/admin/booking/uploadChinaBankslip.vue +++ b/resources/assets/js/pages/admin/booking/uploadChinaBankslip.vue @@ -48,7 +48,7 @@
Customer Marking :
-
CIEF/150ECE
+
{{ booking_details.marking }}
diff --git a/resources/assets/js/pages/admin/booking/uploadInvoice.vue b/resources/assets/js/pages/admin/booking/uploadInvoice.vue index 8b00f363..dc0397c7 100644 --- a/resources/assets/js/pages/admin/booking/uploadInvoice.vue +++ b/resources/assets/js/pages/admin/booking/uploadInvoice.vue @@ -55,7 +55,7 @@
Customer Marking :
-
CIEF/150ECE
+
{{ booking_details.marking }}
diff --git a/resources/assets/js/pages/admin/booking/verification.vue b/resources/assets/js/pages/admin/booking/verification.vue index 5ad41ab0..1dce14bc 100644 --- a/resources/assets/js/pages/admin/booking/verification.vue +++ b/resources/assets/js/pages/admin/booking/verification.vue @@ -50,7 +50,7 @@
Customer Marking :
-
CIEF/150ECE
+
{{ booking_details.marking }}
diff --git a/resources/assets/js/pages/admin/home.vue b/resources/assets/js/pages/admin/home.vue index 26f27f52..dd94b47a 100644 --- a/resources/assets/js/pages/admin/home.vue +++ b/resources/assets/js/pages/admin/home.vue @@ -11,7 +11,8 @@ {{ scope.row.id }} - --> + + Customer Marking : -
CIEF/150ECE
+
{{ booking_details.marking }}
diff --git a/resources/assets/js/pages/booking/confirmation.vue b/resources/assets/js/pages/booking/confirmation.vue index f02e9ab1..d1de4156 100644 --- a/resources/assets/js/pages/booking/confirmation.vue +++ b/resources/assets/js/pages/booking/confirmation.vue @@ -60,7 +60,7 @@
Customer Marking :
-
CIEF/150ECE
+
{{ booking_details.marking }}
diff --git a/resources/assets/js/pages/booking/po.vue b/resources/assets/js/pages/booking/po.vue index 2375a6a6..f7ba1050 100644 --- a/resources/assets/js/pages/booking/po.vue +++ b/resources/assets/js/pages/booking/po.vue @@ -112,7 +112,7 @@
Customer Marking :
-
CIEF/150ECE
+
{{ booking_details.marking }}
diff --git a/resources/assets/js/pages/booking/poComplete.vue b/resources/assets/js/pages/booking/poComplete.vue index 7f472ae4..5bb61d5d 100644 --- a/resources/assets/js/pages/booking/poComplete.vue +++ b/resources/assets/js/pages/booking/poComplete.vue @@ -112,7 +112,7 @@
Customer Marking :
-
CIEF/150ECE
+
{{ booking_details.marking }}
diff --git a/resources/assets/js/pages/booking/transfer.vue b/resources/assets/js/pages/booking/transfer.vue index 693401f7..5fac361e 100644 --- a/resources/assets/js/pages/booking/transfer.vue +++ b/resources/assets/js/pages/booking/transfer.vue @@ -60,7 +60,7 @@
Customer Marking :
-
CIEF/150ECE
+
{{ booking_details.marking }}
diff --git a/resources/assets/js/pages/booking/uploadPo.vue b/resources/assets/js/pages/booking/uploadPo.vue index 24f4a72a..5ce467b5 100644 --- a/resources/assets/js/pages/booking/uploadPo.vue +++ b/resources/assets/js/pages/booking/uploadPo.vue @@ -97,7 +97,7 @@
Customer Marking :
-
CIEF/150ECE
+
{{ booking_details.marking }}
diff --git a/tests/Feature/LoginTest.php b/tests/Feature/LoginTest.php index 2d29b06f..63365424 100644 --- a/tests/Feature/LoginTest.php +++ b/tests/Feature/LoginTest.php @@ -13,8 +13,8 @@ class LoginTest extends TestCase public function setUp() { parent::setUp(); - $this->user = factory(User::class)->create(); + $this->withoutExceptionHandling(); } /** @test */ @@ -35,7 +35,7 @@ class LoginTest extends TestCase $this->actingAs($this->user) ->getJson('/api/user') ->assertSuccessful() - ->assertJsonStructure(['id', 'name', 'email']); + ->assertJsonStructure(['id', 'name', 'email', 'marking']); } /** @test */