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 470ac4c..0000000 Binary files a/public/company_profile and /dev/null differ 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 -