Merge branch 'asif/warehouses' of gitlab.com:CIEFWorldwideSdnBhd/izyim-api into asif/contact

# Conflicts:
#	app/Http/Controllers/ContactController.php
#	routes/api.php
This commit is contained in:
Aqeeb Imtiaz Harun
2018-06-27 09:51:56 +08:00
37 changed files with 1104 additions and 5572 deletions
+20 -9
View File
@@ -6,18 +6,29 @@ use Illuminate\Database\Eloquent\Model;
class Company extends Model
{
//
protected $fillable = ['user_id', 'company_profile', 'reg_cert', 'company_name', 'registration_no', 'tax_no', 'tel_no', 'fax', 'address', 'city', 'postcode', 'state', 'country', 'contact_person'];
//protected $guarded = [];
protected $fillable = ['user_id', 'company_profile', 'reg_cert', 'company_name', 'registration_no', 'tax_no', 'tel_no', 'fax', 'address', 'city', 'postcode', 'state', 'country', 'contact_person'];
public function Contact()
{
return $this->hasMany(Contact::class);
}
public function user()
{
return $this->belongsTo('App\User');
}
public function deliveryinfo() {
return $this->hasMany('App\Deliveryinfo');
}
public function warehouse() {
return $this->hasMany('App\Warehouse');
}
public function contact() {
return $this->hasMany('App\Contact');
}
}
+6 -13
View File
@@ -8,23 +8,16 @@ class Contact extends Model
{
protected $fillable = ['company_id'];
public function user() {
public function User()
{
return $this->belongsTo(User::class);
}
public function Company()
{
return $this->belongsTo(Company::class);
return $this->belongsTo(App/User);
}
public function company(){
return $this->belongsTo(App/Company);
}
}
+29
View File
@@ -0,0 +1,29 @@
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Deliveryinfo extends Model
{
protected $fillable = [
'id',
'branch',
'deli_info',
'address',
'city',
'postcode',
'state',
'country',
'contact_person',
'contact_person_no',
'com_id'
];
public function company() {
return $this->belongsTo('App\Company');
}
}
+9 -7
View File
@@ -17,13 +17,12 @@ class CompanyController extends Controller
}
$output= array();
$matchedTerms = Company::where('company_name', 'LIKE','%'. $request->search . '%')->get();
//return response()->json($matchedTerm);
if($matchedTerms)
{
foreach ($matchedTerms as $key => $matchedTerm)
{
array_push($output, ['company_name' => $matchedTerm->company_name, 'tel_no' => $matchedTerm->tel_no,
array_push($output, ['com_id'=> $matchedTerm->id, 'company_name' => $matchedTerm->company_name, 'tel_no' => $matchedTerm->tel_no,
'contact_person'=>$matchedTerm->contact_person ]);
}
@@ -53,14 +52,17 @@ class CompanyController extends Controller
'state' => 'required',
'country' => 'required',
'contact_person' => 'required'
];
];
$validator = Validator::make($request->all(), $rules);
if($validator->fails()) {
return response()->json(['success'=> false, 'error'=> 'All the fields are required'], 400);
//return response()->json(['success'=> false, 'error'=> $validator->messages()], 400);
$validator = Validator::make($request->all(), $rules);
if($validator->fails()) {
return response()->json(['success'=> false, 'error'=> 'All the fields are required'], 400);
//return response()->json(['success'=> false, 'error'=> $validator->messages()], 400);
}
}
public function create()
{
$company->company_name=$request->input('company_name');
$company->registration_no=$request->input('registration_no');
$company->tax_no=$request->input('tax_no');
+35 -30
View File
@@ -5,51 +5,46 @@ namespace App\Http\Controllers;
use App\Contact;
use App\Company;
use Illuminate\Http\Request;
use Auth;
class ContactController extends Controller
{
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)->get();
if (!$contacts)
{
return response()->json(['message'=>'Access Denied!'], 404);
}
return response()->json($contacts, 200);
}
public function sendRequest(Request $request)
{
// get company id from request ex:
//$request->input('company_id');
$company_id = $request->input('company_id');
$user = Auth::user();
$com_id = $request->input('com_id');
// query to find company asisng to $company
$company = Company::find($company_id);
$company = Company::find($com_id);
// get user from session
//$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);
}
public function acceptRequest(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)
{
@@ -63,6 +58,7 @@ class ContactController extends Controller
$contact->status=0;
}
else{
return response()->json(["message" => "not allowed"], 400);
}
@@ -71,11 +67,20 @@ class ContactController extends Controller
return response()->json($contact, 201);
}
return response()->json($contact, 400);
// $contact = $request->input('id');
// $contact->status = 1;
// $contact->save();
//return redirect()->back()->with('info','Request has been approved ');
}
}
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);
}
}
@@ -0,0 +1,125 @@
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Deliveryinfo;
use App\User;
use App\Company;
use Auth;
class DeliveryinfoController extends Controller
{
public function index()
{
$deliveryinfo = Deliveryinfo::where('com_id', Auth::user()->company())->get();
if (!$deliveryinfo)
{
return response()->json(['message'=>'Access Denied!'], 404);
}
return response()->json($deliveryinfo, 200);
}
/**
* Display the specified delivery-info.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show(Deliveryinfo $id)
{
$deliveryinfo = Deliveryinfo::where('com_id', Auth::user()->company())->where('id', $id)->first();
if (!$deliveryinfo)
{
return response()->json(['message'=>'Access Denied!'], 404);
}
$deliveryinfos = DB::table('deliveryinfos')
->select('id', 'branch', 'deli_info', 'address', 'city', 'postcode', 'state', 'country', 'contact_person', 'contact_person_no', 'com_id')
->where('com_id', Auth::user()->company())
->get();
return response()->json($deliveryinfo, 200);
}
/**
* Store a newly delivery-info in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
$user = Auth::user();
$deliveryinfo = new Deliveryinfo;
$deliveryinfo->branch = $request->input('branch');
$deliveryinfo->deli_info = $request->input('deli_info');
$deliveryinfo->address = $request->input('address');
$deliveryinfo->city = $request->input('city');
$deliveryinfo->postcode = $request->input('postcode');
$deliveryinfo->state = $request->input('state');
$deliveryinfo->country = $request->input('country');
$deliveryinfo->contact_person = $request->input('contact_person');
$deliveryinfo->contact_person_no = $request->input('contact_person_no');
$deliveryinfo->com_id = $user->company();
$deliveryinfo->save();
return response()->json(['deliveryinfo'=>$deliveryinfo],201);
}
/**
* Update the delivery-info.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id)
{
$deliveryinfo = Deliveryinfo::where('com_id', Auth::user()->company())->where('id', $id)->firstOrFail();
if (!$deliveryinfo)
{
return response()->json(['message'=>'Access Denied!'], 404);
}
$deliveryinfo->branch = $request->input('branch');
$deliveryinfo->deli_info = $request->input('deli_info');
$deliveryinfo->address = $request->input('address');
$deliveryinfo->city = $request->input('city');
$deliveryinfo->postcode = $request->input('postcode');
$deliveryinfo->state = $request->input('state');
$deliveryinfo->country = $request->input('country');
$deliveryinfo->contact_person = $request->input('contact_person');
$deliveryinfo->contact_person_no = $request->input('contact_person_no');
$deliveryinfo->com_id = $user->company();
$deliveryinfo->save();
return response()->json(['deliveryinfo'=>$deliveryinfo],200);
}
/**
* Remove the delivery-info.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy(Deliveryinfo $id)
{
$deliveryinfo = Deliveryinfo::where('com_id', Auth::user()->company())->where('id', $id)->firstOrFail();
if (!$deliveryinfo)
{
return response()->json(['message'=>'Access Denied!'], 404);
}
$deliveryinfo->delete($id);
return response()->json($deliveryinfo, 204);
}
}
+69 -61
View File
@@ -9,77 +9,77 @@ use Illuminate\Http\Request;
class WarehouseController extends Controller
{
/**
* Display a listing of the resource.
* list all the warehouse from user's contact's where user is freight forwarder
*
* @param int $id
* @return \Illuminate\Http\Response
*/
*/
public function index()
{
$warehouses = Warehouse::where('com_id', Auth::user()->company())->get();
if (!$warehouses)
{
return response()->json(['message'=>'Access Denied!'], 404);
}
$warehouse=Warehouse::all();
$response=[
//$warehouse = Warehouse::all();
'warehouse'=>$warehouse
];
return response()->json($warehouse, 200);
return response()->json($warehouses, 200);
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
//
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
$warehouse = Warehouse::create($request->all());
return response()->json($warehouse, 201);
}
/**
* Display the specified resource.
/**
* 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')
->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);
}
/**
* Show the form for editing the specified resource.
* Store a new warehouse.
*
* @param int $id
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function edit($id)
public function store(Request $request)
{
//
}
$user = Auth::user();
$warehouse = new Warehouse;
$warehouse->address = $request->input('address');
$warehouse->city = $request->input('city');
$warehouse->zip = $request->input('zip');
$warehouse->state = $request->input('state');
$warehouse->contact_person = $request->input('contact_person');
$warehouse->contact_person_no = $request->input('contact_person_no');
$warehouse->branch = $request->input('branch');
$warehouse->country = $request->input('country');
$warehouse->com_id = $user->company();
$warehouse->save();
return response()->json($warehouse, 201);
}
/**
* Update the specified resource in storage.
* Update warehouse.
*
* @param \Illuminate\Http\Request $request
* @param int $id
@@ -88,37 +88,45 @@ class WarehouseController extends Controller
public function update(Request $request, $id)
{
$warehouse = Warehouse::find($id);
$warehouse = Warehouse::where('com_id', Auth::user()->company())->where('id', $id)->firstOrFail();
if (!$warehouse)
{
return response()->json(['message'=>'Document not found'],200);
return response()->json(['message'=>'Access Denied!'], 404);
}
$warehouse->address=$request->input('address');
$warehouse->city=$request->input('city');
$warehouse->zip=$request->input('zip');
$warehouse->state=$request->input('state');
$warehouse->contact_person=$request->input('contact_person');
$warehouse->contact_person_no=$request->input('contact_person_no');
$warehouse->branch=$request->input('branch');
$warehouse->country=$request->input('country');
$warehouse->company_id=$request->input('company_id');
$warehouse->address = $request->input('address');
$warehouse->city = $request->input('city');
$warehouse->zip = $request->input('zip');
$warehouse->state = $request->input('state');
$warehouse->contact_person = $request->input('contact_person');
$warehouse->contact_person_no = $request->input('contact_person_no');
$warehouse->branch = $request->input('branch');
$warehouse->country = $request->input('country');
$warehouse->com_id = $user->company();
$warehouse->save();
return response()->json(['warehouse'=>$warehouse],200);
}
/**
* Remove the specified resource from storage.
* Remove the warehouse.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
public function destroy(Warehouse $id)
{
//
$warehouse = Warehouse::where('com_id', Auth::user()->company())->where('id', $id)->firstOrFail();
if (!$warehouse)
{
return response()->json(['message'=>'Access Denied!'], 404);
}
$warehouse->delete($id);
return response()->json($warehouse, 204);
}
}
+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','com_id'];
public function contact(){
return $this->hasMany(App/Contact);
}
}