get(); $query=(new CompanyModel)->newQuery(); if($req->has('cname')) { $cname=$req->get('cname'); $data['cname']=$cname; if(!empty($cname)) { $query->where('name','like',"%{$cname}%"); } } $data['all'] = $query->with(['mtask'])->orderBy('name')->paginate(10); $data['title'] = "Companies"; return view('admin.companies',$data); } function change_status(Request $req) { $id=$req->get('id'); $status=$req->get('status'); $company=CompanyModel::find($id); $company->status=$status; $company->save(); return json_encode(['ok'=>true]); } public function create() { // } public function store(Request $request) { $name = $request->name; $industry = $request->industry; $service_required = $request->service_required; $current_condition = $request->current_condition; $mob1 = $request->mob1; $mob2 = $request->mob2; $email1 = $request->email1; $email2 = $request->email2; $web = $request->web; $details = $request->details; $address = $request->address; $remarks = $request->remarks; $display = $request->display==1?1:0; if(!empty($name) && !empty($mob1) && !empty($email1)){ $sav = new CompanyModel; $sav->name = $name; $sav->industry = $industry; $sav->service_required = $service_required; $sav->current_condition = $current_condition; $sav->mob1 = $mob1; $sav->mob2 = $mob2; $sav->email1 = $email1; $sav->email2 = $email2; $sav->web = $web; $sav->details = $details; $sav->address = $address; $sav->remarks = $remarks; $sav->display = $display; $sav->save(); } return redirect()->back()->with('msg', 'Data added successfully!'); } public function show($id) // show is using as destroy :( { CompanyModel::find($id)->delete(); return redirect()->back(); } function get_service($id) { $data['service']=CompanyService::with(['services','company'])->where('id',$id)->first(); $company_id=$data['service']->company_id; $data['company'] = CompanyModel::where('display',1)->get(); $data['company_services']=CompanyService::with(['services','attachments'])->where('company_id',$company_id)->get(); $data['filess'] = FileUpload::all(); $data['services']=ServiceList::orderBy('name','asc')->get(); $data['all'] = CompanyModel::with('contact_persons')->find($company_id); $data['title'] = "Service Details"; return view('admin.company_info.service_details',$data); } function file_upload_view($id) { $data['service']=CompanyService::with(['services'])->find($id); return view('admin.company_info.service_docs_upload',$data); } function save_upload(Request $req) { $this->validate($req,[ 'file' => 'required|max:10000' ]); $service_id=$req->get('hdn_service_id'); $title=$req->get('title'); $file_name = time().'.'.$req->file('file')->getClientOriginalExtension(); $req->file('file')->move( base_path() . '/assets/uploads/service/', $file_name ); $att=new ServiceAttachment(); $att->service_id=$service_id; $att->title=$title; $att->file_name=$file_name; $att->save(); return redirect()->back()->with('msg','File uploaded successfully !!'); //return redirect('admin/view_company/'.$req->get('hdn_com_id'))->with('msg','File uploaded successfully !!'); } /** * assign service to company * @param Request $req * @return json */ function assign_service(Request $req) { $com_id=$req->get('com_id'); $service=$req->get('service'); $contact_person=$req->get('contact_person'); $contact_number=$req->get('contact_number'); $deployement_unit=$req->get('deployement_unit'); $po_details=$req->get('po_details'); $renewal_cycle=$req->get('renewal_cycle'); $free_session=$req->get('free_session'); $start_date=$req->get('start_date'); $com_service=new CompanyService(); $com_service->service_id=$service; $com_service->company_id=$com_id; $com_service->contact_person=$contact_person; $com_service->contact_number=$contact_number; $com_service->deployment_unit_details=$deployement_unit; $com_service->po_details=$po_details; $com_service->renewal_cycle=$renewal_cycle; $com_service->free_session=$free_session; $com_service->start_date=$start_date; $com_service->save(); $this->log_activity($com_id,'New service assigned !'); return json_encode(['ok'=>true,'msg'=>'Service assigned to this company successfully !']); } public function edit($id) { $val = CompanyModel::find($id); $data['id'] = $id; $data['name'] = $val->name; $data['industry'] = $val->industry; $data['service_required'] = $val->service_required; $data['current_condition'] = $val->current_condition; $data['mob1'] = $val->mob1; $data['mob2'] = $val->mob2; $data['email1'] = $val->email1; $data['email2'] = $val->email2; $data['web'] = $val->web; $data['details'] = $val->details; $data['address'] = $val->address; $data['remarks'] = $val->remarks; $data['display'] = $val->display; return $data; } public function update(Request $request, $id) { // } public function update_company(Request $request){ $id = $request->id; $name = $request->name; $industry = $request->industry; $service_required = $request->service_required; $current_condition = $request->current_condition; $mob1 = $request->mob1; $mob2 = $request->mob2; $email1 = $request->email1; $email2 = $request->email2; $web = $request->web; $details = $request->details; $address = $request->address; $remarks = $request->remarks; $display = $request->display==1?1:0; if(!empty($name) && !empty($mob1) && !empty($email1)){ $sav = CompanyModel::find($id); $sav->name = $name; $sav->industry = $industry; $sav->service_required = $service_required; $sav->current_condition = $current_condition; $sav->mob1 = $mob1; $sav->mob2 = $mob2; $sav->email1 = $email1; $sav->email2 = $email2; $sav->web = $web; $sav->details = $details; $sav->address = $address; $sav->remarks = $remarks; $sav->display = $display; $sav->save(); } $this->log_activity($id,'Company information updated !'); return redirect()->back()->with('msg', 'Data updated successfully!'); } function edit_company_info($id) { $data['company']=CompanyModel::find($id); return view('admin.company_info.edit_company',$data); } public function change_company_info(Request $request){ $id = $request->id; $name = $request->com_name; $industry = $request->industry; $service_required = $request->req_service; $current_condition = $request->current_condition; $mob1 = $request->mobile1; $mob2 = $request->mobile2; $email1 = $request->email1; $email2 = $request->email2; $web = $request->web; $details = $request->details; $address = $request->address; $remarks = $request->remark; $display = $request->display==1?1:0; if(!empty($name) && !empty($mob1) && !empty($email1)) { $sav = CompanyModel::find($id); $sav->name = $name; $sav->industry = $industry; $sav->service_required = $service_required; $sav->current_condition = $current_condition; $sav->mob1 = $mob1; $sav->mob2 = $mob2; $sav->email1 = $email1; $sav->email2 = $email2; $sav->web = $web; $sav->details = $details; $sav->address = $address; $sav->remarks = $remarks; $sav->display = $display; $sav->save(); } $this->log_activity($id,'Company information updated !'); return redirect()->back()->with('msg', 'Data updated successfully!'); } public function destroy($id) { } public function view_company($id){ $data['title'] = "Company Details"; $data['company'] = CompanyModel::where('display',1)->get(); $data['company_services']=CompanyService::with(['services'])->where('company_id',$id)->get(); $data['filess'] = FileUpload::all(); $data['services']=ServiceList::orderBy('name','asc')->get(); $data['all'] = CompanyModel::with('contact_persons')->find($id); $data['invoice'] = Invoice::with(['items','company'])->where('client_id',$id)->get(); $data['cilents'] = User::where('company',$id)->get(); $data['managers_all'] = User::where('utype',2)->get(); $company = CompanyModel::find($id); $data['company_id'] = $id; //var_dump($company->account_manager); $data['manager'] = User::find($company->account_manager); return view('admin.company_info.indi_company',$data); } public function save_remarks(Request $req) { date_default_timezone_set("Asia/Dhaka"); $id = $req->company_id; $company_service_id=$req->has('company_service_id')?$req->get('company_service_id'):0; $remarks = $req->remarks; $date = date("Y-m-d h:i"); if($remarks != '0') { $sav = new Remarks; $sav->remarks = $remarks; $sav->company_id = $id; $sav->company_service_id=$company_service_id; $sav->date = $date; $sav->save(); } $all=false; if($company_service_id==0) { $all = Remarks::with(['user'])->where('company_id',$id)->orderBy('id','DESC')->get(); } else { $all = Remarks::with(['user'])->where('company_id',$id)->where('company_service_id',$company_service_id)->orderBy('id','DESC')->get(); } $str = ""; return $this->fetch_remarks($all,$str); //call function //return $str; } public function remove_remarks(Request $req) { $id = $req->id; $company_id = $req->company_id; Remarks::find($id)->delete(); $this->log_activity($company_id,'remanrks deleted'); $all = Remarks::where('company_id',$company_id)->orderBy('id','DESC')->get(); $str = ""; return $this->fetch_remarks($all,$str); //call function //return $str; } /** * log activity in company info * @param integer $company_id * @param string $activity * @return void */ function log_activity($company_id=0,$activity='') { date_default_timezone_set("Asia/Dhaka"); $id = $company_id; $date = date("Y-m-d H:i:s"); $sav = new CompanyActivity; $sav->activity = $activity; $sav->company_id = $company_id; $sav->date = $date; $sav->user_id=\Auth::user()->id; $sav->save(); } public function save_activity(Request $req) { date_default_timezone_set("Asia/Dhaka"); $id = $req->company_id; $val = $req->val; $date = date("Y-m-d h:i"); if($val != '0') { $sav = new CompanyActivity; $sav->activity = $val; $sav->company_id = $id; $sav->date = $date; $sav->save(); } $all = CompanyActivity::where('company_id',$id)->orderBy('id','DESC')->get(); $str = ""; return $this->fetch_activity($all,$str); //call function //return $str; } public function remove_activity(Request $req) { $id = $req->id; $company_id = $req->company_id; CompanyActivity::find($id)->delete(); $all = CompanyActivity::where('company_id',$company_id)->orderBy('id','DESC')->get(); $str = ""; return $this->fetch_activity($all,$str); //call function } public function fetch_remarks($all,$str){ if(count($all) > 0){ $str .="
$info->activity | "; $str .="".date("d-M-Y H:i", strtotime($info->date))." | "; $str .=""; $str .=" |