From 1759b088a359879c2b26890765293ac0efef26fa Mon Sep 17 00:00:00 2001 From: Aqeeb Imtiaz Harun Date: Fri, 6 Jul 2018 18:05:12 +0800 Subject: [PATCH] changed the listing function on contacts frontend, still got issues --- app/Contact.php | 2 +- app/Http/Controllers/CompanyController.php | 22 +- app/Http/Controllers/ContactController.php | 86 ++++--- ...018_04_26_060746_laratrust_setup_teams.php | 11 + ...018_05_14_022103_create_contacts_table.php | 7 +- ..._change_user_id_and_com_id_in_contacts.php | 47 ++++ public/company_profile | Bin 26593 -> 0 bytes public/contacts.html | 232 ++++++++++-------- public/search-contact.html | 8 +- routes/api.php | 4 +- 10 files changed, 269 insertions(+), 150 deletions(-) create mode 100644 database/migrations/2018_07_05_030738_change_user_id_and_com_id_in_contacts.php delete mode 100644 public/company_profile diff --git a/app/Contact.php b/app/Contact.php index 8a0a010..514be63 100644 --- a/app/Contact.php +++ b/app/Contact.php @@ -10,7 +10,7 @@ class Contact extends Model public function user() { - return $this->belongsTo(App/User); + return $this->belongsTo('App\User'); } diff --git a/app/Http/Controllers/CompanyController.php b/app/Http/Controllers/CompanyController.php index 6678458..ce9412d 100644 --- a/app/Http/Controllers/CompanyController.php +++ b/app/Http/Controllers/CompanyController.php @@ -16,14 +16,13 @@ class CompanyController extends Controller return ''; } $output= array(); - $matchedTerms = Company::where('company_name', 'LIKE','%'. $request->search . '%')->get(); + $matchedTerms = Company::where('company_name', 'LIKE','%'. $request->search . '%')->where('id', '<>', Auth::user()->company()->first()->id)->get(); if($matchedTerms) { foreach ($matchedTerms as $key => $matchedTerm) { - array_push($output, ['com_id'=> $matchedTerm->id, 'company_name' => $matchedTerm->company_name, 'tel_no' => $matchedTerm->tel_no, - 'contact_person'=>$matchedTerm->contact_person ]); + array_push($output, ['recipient_id'=> $matchedTerm->id, 'company_name' => $matchedTerm->company_name, 'tel_no' => $matchedTerm->tel_no, 'contact_person'=>$matchedTerm->contact_person ]); } return response($output); @@ -34,6 +33,7 @@ class CompanyController extends Controller public function update(Request $request) { $company = Company::where("user_id", Auth::user()->id)->first(); + if (!$company) { return response()->json(['success'=> false, 'message'=>'Company not found'], 404); @@ -59,6 +59,22 @@ class CompanyController extends Controller return response()->json(['success'=> false, 'error'=> 'All the fields are required'], 400); //return response()->json(['success'=> false, 'error'=> $validator->messages()], 400); } + + $company->company_name=$request->input('company_name'); + $company->registration_no=$request->input('registration_no'); + $company->tax_no=$request->input('tax_no'); + $company->tel_no=$request->input('tel_no'); + $company->fax=$request->input('fax'); + $company->address=$request->input('address'); + $company->city=$request->input('city'); + $company->postcode=$request->input('postcode'); + $company->state=$request->input('state'); + $company->country=$request->input('country'); + $company->contact_person=$request->input('contact_person'); + + $company->save(); + return response()->json(['success'=> true, 'message'=>'Company created successfully'],200); + } public function create() diff --git a/app/Http/Controllers/ContactController.php b/app/Http/Controllers/ContactController.php index 20ccfc0..ec155cd 100644 --- a/app/Http/Controllers/ContactController.php +++ b/app/Http/Controllers/ContactController.php @@ -11,32 +11,51 @@ class ContactController extends Controller { public function index() { + //return Auth::user()->company()->first()->id; $output= array(); - $contacts = Contact::where('user_id', Auth::user()->id)->get(); - $companies= Contact::with('companies')->get(); - //$companies =\DB::table('companies')->select('contacts.com_id', 'companies.id', 'companies.company_name')->join('contacts', 'contacts.com_id', '=', 'companies.id')->get(); - //$companies = "SELECT contacts.com_id, companies.id, companies.company_name FROM `companies` INNER JOIN contacts ON contacts.com_id = companies.id"; - - // $companies = \DB::table('companies') - // ->select('id', 'company_name') - // ->where('com_id', Auth::user()->id) - // ->get(); + // $contacts = Contact::where('sender_id', Auth::user()->id)->get(); + //$companies= Contact::with('companies')->get(); + $contacts =\DB::table('contacts')->select('contacts.id as contact_id', 'sender_company.company_name as sender_company_name', 'sender_company.id as sender_company_id', 'recipient_company.id as recipient_company_id', 'recipient_company.company_name as recipient_company_name', 'contacts.status', 'sender_company.tel_no as sender_tel_no', 'recipient_company.tel_no as recipient_tel_no', 'sender_company.contact_person as sender_contact_pers', 'recipient_company.contact_person as recipient_contact_pers')->leftJoin('companies as sender_company', 'sender_company.id', '=', 'contacts.sender_id')->leftJoin('companies as recipient_company', 'recipient_company.id', '=', 'contacts.recipient_id')->where('contacts.sender_id', Auth::user()->company()->first()->id)->orWhere('contacts.recipient_id', Auth::user()->company()->first()->id)->get(); if (!$contacts) { return response()->json(['message'=>'Access Denied!'], 404); } - return response()->json($companies, 200); + $contacts2 = $contacts->toArray(); + // $toprint = $contacts2[0]->sender_company_name; + // echo $toprint; + $length = count($contacts2); + + for ($i=0; $i < $length; $i++) { + # code... + if($contacts2[$i]->sender_company_id == Auth::user()->company()->first()->id){ + $contacts2[$i]->is_me = 1; + } + else{ + $contacts2[$i]->is_me = 0; + } + } + + // foreach ($contacts2 as $contact => $value) { + // print_r($value->sender_company_name); + // //if($value['sender_company_id'] == Auth::user()->company()->first()->id){ + // // var_dump($contact); + // //print_r($value['sender_company_id']); + // //} + + // //$contact->helo + // } + return response()->json($contacts2, 200); } public function sendRequest(Request $request) { $user = Auth::user(); - $com_id = $request->input('com_id'); + $recipient_id = $request->input('recipient_id'); // query to find company asisng to $company - $company = Company::find($com_id); + $company = Company::find($recipient_id); // get user from session $request->user(); @@ -44,51 +63,48 @@ class ContactController extends Controller // prepare query $contact = new Contact(); - $contact->com_id = $company->id; - $contact->user_id = $user->id; + $contact->recipient_id = $company->id; + $contact->sender_id = $user->id; $contact->save(); return response()->json($contact, 201); } - public function acceptRequest(Request $request, $id) + public function acceptRequest(Request $request) { - $contact = Contact::where('com_id', Auth::user()->company())->where('id', $id)->first(); + $contact = Contact::where('id', $request->input('id'))->first();//->where('id', $id)->first(); //$contact = Contact::where('id', '=', e($id))->first(); if($contact) { - $action=$request->input('action'); - if ($action==1) - { - $contact->status=1; - } - if ($action==0) - { - $contact->status=0; - } - else{ - - return response()->json(["message" => "not allowed"], 400); - } + $contact->status=1; $saved = $contact->save(); if ($saved){ - return response()->json($contact, 201); + return response()->json(["success"=> true, "message" => "Successfully accepted"], 201); } - return response()->json($contact, 400); + else{ + return response()->json($contact, ["message" => "not saved"], 400); + } + } + else + { + return response()->json( ["message" => "not allowed"], 400); } } - public function destroy($id) + public function destroy(Request $request) { - $contact = Contact::where('com_id', Auth::user()->company())->where('id', $id)->first(); + $contact = Contact::where('id', $request->input('id'))->first(); + //$contact = Contact::where('com_id', Auth::user()->company())->where('id', $id)->first(); if (!$contact) { return response()->json(['message'=>'Access Denied!'], 404); } - - $contact->delete($id); + else + { + $contact->delete(); + } return response()->json($contact, 204); } diff --git a/database/migrations/2018_04_26_060746_laratrust_setup_teams.php b/database/migrations/2018_04_26_060746_laratrust_setup_teams.php index 2551d62..27b435e 100644 --- a/database/migrations/2018_04_26_060746_laratrust_setup_teams.php +++ b/database/migrations/2018_04_26_060746_laratrust_setup_teams.php @@ -63,5 +63,16 @@ class LaratrustSetupTeams extends Migration */ public function down() { + Schema::dropIfExists('teams'); + + Schema::table('role_user', function (Blueprint $table) { + $table->dropForeign('role_user_role_id_foreign'); + $table->dropForeign('role_user_team_id_foreign'); + }); + + Schema::table('permission_user', function (Blueprint $table) { + $table->dropForeign('permission_user_permission_id_foreign'); + $table->dropForeign('permission_user_team_id_foreign'); + }); } } diff --git a/database/migrations/2018_05_14_022103_create_contacts_table.php b/database/migrations/2018_05_14_022103_create_contacts_table.php index c9b8c63..4735a4b 100644 --- a/database/migrations/2018_05_14_022103_create_contacts_table.php +++ b/database/migrations/2018_05_14_022103_create_contacts_table.php @@ -15,18 +15,17 @@ class CreateContactsTable extends Migration { Schema::create('contacts', function (Blueprint $table) { $table->increments('id'); - $table->integer('user_id')->unsigned(); - $table->foreign('user_id') + $table->integer('user_id')->unsigned(); + $table->foreign('user_id') ->references('id')->on('users') ->onDelete('cascade'); - //$table->unsignedInteger('user_id'); - // $table->foreign('user_id')->references('id')->on('users'); $table->integer('company_id')->unsigned(); $table->foreign('company_id') ->references('id')->on('companies') ->onDelete('cascade'); + $table->Integer('status')->default('0'); $table->timestamps(); }); diff --git a/database/migrations/2018_07_05_030738_change_user_id_and_com_id_in_contacts.php b/database/migrations/2018_07_05_030738_change_user_id_and_com_id_in_contacts.php new file mode 100644 index 0000000..a130ece --- /dev/null +++ b/database/migrations/2018_07_05_030738_change_user_id_and_com_id_in_contacts.php @@ -0,0 +1,47 @@ +dropForeign('contacts_user_id_foreign'); + + $table->integer('sender_id')->unsigned(); + $table->foreign('sender_id') + ->references('id')->on('companies') + ->onDelete('cascade'); + + $table->dropForeign('contacts_company_id_foreign'); + + $table->integer('recipient_id')->unsigned(); + $table->foreign('recipient_id') + ->references('id')->on('companies') + ->onDelete('cascade'); + $table->dropColumn('user_id'); + $table->dropColumn('com_id'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('contacts', function (Blueprint $table) { + // + }); + } +} diff --git a/public/company_profile b/public/company_profile deleted file mode 100644 index 470ac4c96348212d40b3bd753fcd50a82922fb3f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26593 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 U=}GHO#E+()XvfP*iVz?F+19hpwg3PC diff --git a/public/contacts.html b/public/contacts.html index 2a1d5ce..cb66ab5 100644 --- a/public/contacts.html +++ b/public/contacts.html @@ -36,41 +36,13 @@ Add Contact - Favourite/Company + + Contacts:
- - - - CIEF - Importer - - - - - FedEx - Forwarder - - Request send -
- - - - Casey -
- Resquest sent - Importer -
- Waiting for approval -
- - - - Alexander -
- Waiting for appproval - Forwarder -
- + +
+ +
@@ -87,44 +59,97 @@ -