diff --git a/app/Http/Controllers/SoController.php b/app/Http/Controllers/SoController.php index a9c07b3..125c6ea 100644 --- a/app/Http/Controllers/SoController.php +++ b/app/Http/Controllers/SoController.php @@ -6,6 +6,7 @@ use Illuminate\Http\Request; use App\So; use App\Soitem; use App\company; +use Auth; class SoController extends Controller { @@ -22,25 +23,18 @@ class SoController extends Controller * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ - //post shipping order amd item public function store(Request $request) { - - //TODO - // retrieve FK from Contact, Delivery, Warehouse - //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(); - + $user = Auth::user(); + $so = new So; - $so = So::where('ff_id', $id)->firstOrFail(); + $so->ff_id = $contact->id; //ff contact list id $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 = 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->delivery_id = $deliveryinfo->id; //deli-info id + $so->warehouse_id = $warehouse_id->id; //warehouse id + $so->com_id = $user->company(); //company id $so->save(); $soitems = $request->input('soitem'); @@ -62,8 +56,8 @@ class SoController extends Controller 'packaging_gross'=>$soitem['packaging_gross'], 'packaging_nett'=>$soitem['packaging_nett'], )); - $new_soitem->save(); + $new_soitem->save(); } @@ -98,18 +92,20 @@ class SoController extends Controller */ public function update(Request $request, $id) { - $so = So::where('user_id', Auth::user()->id)->where('id', $com_id)->findtOrFail(); + $so = So::where('com_id', Auth::user()->company())->where('id', $id)->firstOrFail(); + if (!$so) { - return response()->json(['message'=>'shipping order not found'], 404); + return response()->json(['message'=>'Access Denied!'], 404); } - $so->ff_id = $request->input('ff_id'); + $so->ff_id = $contact->id; $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'); - $so->warehouse_id = $request->input('warehouse_id'); + $so->delivery_id = $deliveryinfo->id; + $so->warehouse_id = $warehouse_id->id; + $deliveryinfo->com_id = $user->company(); $so->save(); $soitems = $request->input('soitem'); @@ -145,11 +141,18 @@ class SoController extends Controller * @param int $id * @return \Illuminate\Http\Response */ - public function delete(So $so_id) + public function delete(So $id) { - $so_id->delete($so_id); + $so = So::where('com_id', Auth::user()->company())->where('id', $id)->firstOrFail(); + + if (!$so) + { + return response()->json(['message'=>'Access Denied!'], 404); + } + + $so->delete($id); - return response()->json($so_id, 204); + return response()->json($so, 204); } diff --git a/app/So.php b/app/So.php index 04be23b..be297b4 100644 --- a/app/So.php +++ b/app/So.php @@ -13,9 +13,10 @@ class So extends Model 'supplier_contact_person_no', 'delivery_id', 'warehouse_id', + 'com_id', ]; - public function Soitem() + public function soitem() { return $this->hasMany('App\Soitem'); } @@ -25,5 +26,10 @@ class So extends Model return $this->belongsTo('App\Company'); } + public function shipmentitem() + { + return $this->hasMany('App\Shipmentitem'); + } + } diff --git a/app/Soitem.php b/app/Soitem.php index 19195ae..4a904da 100644 --- a/app/Soitem.php +++ b/app/Soitem.php @@ -24,9 +24,9 @@ class Soitem extends Model ]; - public function So() + public function so() { - return $this->belongsTo('App\So', 'id'); + return $this->belongsTo('App\So'); } diff --git a/database/migrations/2018_06_20_025738_add_foreign_key_to_so_table.php b/database/migrations/2018_06_20_025738_add_foreign_key_to_so_table.php new file mode 100644 index 0000000..479ce4e --- /dev/null +++ b/database/migrations/2018_06_20_025738_add_foreign_key_to_so_table.php @@ -0,0 +1,47 @@ +unsignedInteger('ff_id'); + $table->foreign('ff_id') + ->references('id')->on('contacts') + ->onDelete('cascade'); + + $table->unsignedInteger('delivery_id'); + $table->foreign('delivery_id') + ->references('id')->on('deliveryinfos') + ->onDelete('cascade'); + + $table->unsignedInteger('warehouse_id'); + $table->foreign('warehouse_id') + ->references('id')->on('warehouses') + ->onDelete('cascade'); + + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('sos', function (Blueprint $table) { + // + }); + } +}