diff --git a/app/Http/Controllers/SoController.php b/app/Http/Controllers/SoController.php index 292e817..a9c07b3 100644 --- a/app/Http/Controllers/SoController.php +++ b/app/Http/Controllers/SoController.php @@ -5,14 +5,15 @@ namespace App\Http\Controllers; use Illuminate\Http\Request; use App\So; use App\Soitem; +use App\company; class SoController extends Controller { public function showso($id) { - $so = So::find($id); - return view('show')->with('so', $so); + $so = So::findOrFail($id); + return view('home')->with('so', $so); } /** @@ -25,23 +26,23 @@ class SoController extends Controller public function store(Request $request) { - //TODO so + //TODO // retrieve FK from Contact, Delivery, Warehouse - //user->company->id, + //user()->company()->id, + + //here is what i did to figure out whether the id is belongs to user + //$booking = Booking::where('user_id', Auth::user())->where('id', $book_id)->firstOrFail(); $so = new So; - $so = So::where("user_id", Auth::user()->com_id)->first(); - $so->ff_id = Auth::user()->company()->id; // have to write a logic (validation) that only freight forwarder that added into contact can use the ff_id + $so = So::where('ff_id', $id)->firstOrFail(); $so->supplier_company_name = $request->input('supplier_company_name'); $so->supplier_contact_person = $request->input('supplier_contact_person'); $so->supplier_contact_person_no = $request->input('supplier_contact_person_no'); - $so->delivery_id = $request->input('delivery_id');// delivery info - $so->warehouse_id = $request->input('warehouse_id');// warehouse + // $so = So::where('delivery_id', $id)->firstOrFail(); + // $so = So::where('warehouse_id', $id)->firstOrFail(); + $so = So::where('user_id', Auth::user()->id)->where('com_id', $id)->first(); $so->save(); - - //Auth::user()->company()->so->save($so); - //shipping order item $soitems = $request->input('soitem'); foreach ($soitems as $soitem) { @@ -63,7 +64,6 @@ class SoController extends Controller )); $new_soitem->save(); - //Auth::user()->company()->soitem->save($soitem); } @@ -80,7 +80,7 @@ class SoController extends Controller */ public function cancelOrder(Request $request) { - $so = So::find($id); + $so = So::where('user_id', Auth::user()->id)->where('id', $com_id)->firstOrFail(); $so->save(); @@ -98,7 +98,12 @@ class SoController extends Controller */ public function update(Request $request, $id) { - $so = So::find($id); + $so = So::where('user_id', Auth::user()->id)->where('id', $com_id)->findtOrFail(); + if (!$so) + { + return response()->json(['message'=>'shipping order not found'], 404); + } + $so->ff_id = $request->input('ff_id'); $so->supplier_company_name = $request->input('supplier_company_name'); $so->supplier_contact_person = $request->input('supplier_contact_person'); diff --git a/app/So.php b/app/So.php index fd5404a..04be23b 100644 --- a/app/So.php +++ b/app/So.php @@ -6,7 +6,7 @@ use Illuminate\Database\Eloquent\Model; class So extends Model { - protected $fillable = [ + protected $fillable = [ 'ff_id', 'supplier_company_name', 'supplier_contact_person', diff --git a/database/seeds/SoSeeder.php b/database/seeds/SoSeeder.php index ab6dbaf..8ed7333 100644 --- a/database/seeds/SoSeeder.php +++ b/database/seeds/SoSeeder.php @@ -15,7 +15,7 @@ class SoSeeder extends Seeder { DB::table('sos')->insert([ - 'id' => '9999', + 'id' => '1', 'ff_id' => '1', 'supplier_company_name' => 'SEED', 'supplier_contact_person' => 'SEED', @@ -24,6 +24,7 @@ class SoSeeder extends Seeder 'warehouse_id' => '1', 'created_at' => Carbon::now()->format('Y-m-d H:i:s'), 'updated_at' => Carbon::now()->format('Y-m-d H:i:s'), + 'com_id' => '1', ]); } diff --git a/database/seeds/SoitemSeeder.php b/database/seeds/SoitemSeeder.php index 3515a96..dc7298e 100644 --- a/database/seeds/SoitemSeeder.php +++ b/database/seeds/SoitemSeeder.php @@ -18,7 +18,7 @@ class SoitemSeeder extends Seeder ([ - 'so_id' => '9999', + 'so_id' => '1', 'status' => '0', 'order_id' => '1', 'brand_no' => '1', @@ -39,7 +39,7 @@ class SoitemSeeder extends Seeder ]), ([ - 'so_id' => '9999', + 'so_id' => '1', 'status' => '0', 'order_id' => '1', 'brand_no' => '1',