bug fixing

This commit is contained in:
Zain Fauzan Rofie Azizi
2018-06-25 09:38:03 +08:00
parent 7d51085dae
commit 48e033f436
7 changed files with 133 additions and 47 deletions
+12
View File
@@ -19,4 +19,16 @@ class Company extends Model
return $this->hasMany('App\Deliveryinfo');
}
public function warehouse() {
return $this->hasMany('App\Warehouse');
}
public function contact() {
return $this->hasMany('App\Contact');
}
}
+2 -7
View File
@@ -8,21 +8,16 @@ class Contact extends Model
{
protected $fillable = ['company_id'];
public function user()
{
public function user() {
return $this->belongsTo(App/User);
}
public function company()
{
public function company(){
return $this->belongsTo(App/Company);
}
}
+57 -29
View File
@@ -8,52 +8,59 @@ use Illuminate\Http\Request;
class ContactController extends Controller
{
/**
* list the company that belongs to user's company only
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function index()
{
$contact=Contact::all();
$response=[
'contact'=>$contact
];
return response()->json($contact, 200);
$contacts = Contact::where('user_id', Auth::user()->id)->where('id', $id)->first();
if (!$contacts)
{
return response()->json(['message'=>'Access Denied!'], 404);
}
return response()->json($contacts, 200);
}
/**
* Store a new contact list.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
$user = Auth::user();
$contact = new Contact;
$contact->com_id = $user->company();
// get company id from request ex:
// query to find company asisng to $company
// $company = Company::find($company_id);
$company = Company::find($com_id);
// get user from session
// $request->user();
// $user = $request->user();
$request->user();
$user = $request->user();
// prepare query
$contact = new Contact();
$contact->company_id = $company->id;
$contact->user_id = $user->id;
$contact->save();
// insert into database
$contact = new Contact();
$contact->com_id = $company->id;
$contact->user_id = $user->id;
$contact->save();
return response()->json($contact, 201);
}
public function destroy($id)
{
$contact = Contact::where("user_id", Auth::user()->id)->where('id', $id)->first();
//$contact=Contact::find($id);
$contact->delete();
return response()->json($contact, 204);
}
/**
* Approve a new contact list.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function postApprove(Request $request, $id)
{
$contact = Contact::where("user_id", Auth::user()->id)->where('id', $id)->first();
$contact = Contact::where('com_id', Auth::user()->company())->where('id', $id)->first();
//$contact = Contact::where('id', '=', e($id))->first();
if($contact)
{
@@ -67,6 +74,7 @@ class ContactController extends Controller
$contact->status=0;
}
else{
return response()->json(["message" => "not allowed"], 400);
}
@@ -82,4 +90,24 @@ class ContactController extends Controller
//return redirect()->back()->with('info','Request has been approved ');
}
}
/**
* Remove the contact list.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
$contact = Contact::where('com_id', Auth::user()->company())->where('id', $id)->first();
if (!$contact)
{
return response()->json(['message'=>'Access Denied!'], 404);
}
$contact->delete($id);
return response()->json($contact, 204);
}
}
@@ -11,6 +11,7 @@ class DeliveryinfoController extends Controller
public function index()
{
$deliveryinfo = Deliveryinfo::where('com_id', Auth::user()->company())->get();
return response()->json($deliveryinfo, 200);
}
+17 -10
View File
@@ -16,33 +16,40 @@ class WarehouseController extends Controller
*/
public function index()
{
$warehouse = Warehouse::where('com_id', Auth::user()->company())->where('id', $id)->firstOrFail();
if (!$warehouse)
$warehouses = Warehouse::where('com_id', Auth::user()->company())->get();
if (!$warehouses)
{
return response()->json(['message'=>'Access Denied!'], 404);
}
$warehouse=Warehouse::all();
$warehouse = Warehouse::all();
return response()->json($warehouse, 200);
return response()->json($warehouses, 200);
}
/**
* Display warehouse list from freight forwarder.
* Display warehouse list from freight forwarder. can list the warehouse if it is from the freight forwarder
* need to do DB query
* show all the warehouse that belongs to the user company
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
$warehouse=Warehouse::find($id);
$response=[
$warehouses = DB::table('warehouses')
//->join('id', 'address', 'city', 'zip')
->select('id', 'address', 'city', 'zip', 'state', 'contact_person', 'contact_person_no', 'branch', 'country', 'com_id')
->where('com_id', Auth::user()->company())
->get();
'warehouse'=>$warehouse
if (!$warehouses)
{
return response()->json(['message'=>'Access Denied!'], 404);
}
];
return response()->json($warehouse, 200);
}
+7 -1
View File
@@ -6,5 +6,11 @@ use Illuminate\Database\Eloquent\Model;
class Warehouse extends Model
{
protected $fillable = ['city', 'address','zip','state','contact_person','contact_person_no','branch','country','company_id'];
protected $fillable = ['city', 'address','zip','state','contact_person','contact_person_no','branch','country','comp_id'];
public function contact(){
return $this->hasMany(App/Contact);
}
}
@@ -0,0 +1,37 @@
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class AddForeignKeyToWarehousesTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('warehouses', function (Blueprint $table) {
$table->unsignedInteger('com_id');//FK wrn id
$table->foreign('com_id')
->references('id')->on('warehouses')
->onDelete('cascade');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('warehouses', function (Blueprint $table) {
//
});
}
}