crmUtil = $crmUtil; $this->moduleUtil = $moduleUtil; } /** * Display a listing of the resource. * * @return Response */ public function index() { $business_id = request()->session()->get('user.business_id'); $is_admin = $this->moduleUtil->is_admin(auth()->user()); if (! (auth()->user()->can('superadmin') || ($this->moduleUtil->hasThePermissionInSubscription($business_id, 'crm_module')) && $is_admin)) { abort(403, 'Unauthorized action.'); } $crm_settings = \Modules\Crm\Utils\TelemarketingUtil::mergeSettings($this->crmUtil->getCrmSettings($business_id)); return view('crm::settings.index') ->with(compact('crm_settings')); } /** * Show the form for creating a new resource. * * @return Response */ public function updateSettings(Request $request) { $business_id = request()->session()->get('user.business_id'); $is_admin = $this->moduleUtil->is_admin(auth()->user()); if (! (auth()->user()->can('superadmin') || ($this->moduleUtil->hasThePermissionInSubscription($business_id, 'crm_module')) && $is_admin)) { abort(403, 'Unauthorized action.'); } try { $input = $request->only([ 'order_request_prefix', 'phone_list_reminder_days', 'call_lock_minutes', 'daily_call_target_per_agent', 'followup_days_after_interested', ]); $crm_settings = $this->crmUtil->getCrmSettings($business_id); $input = array_merge(\Modules\Crm\Utils\TelemarketingUtil::mergeSettings($crm_settings), $input); $input['enable_order_request'] = $request->has('enable_order_request') ? 1 : 0; $input['enable_phone_list_reminder'] = $request->has('enable_phone_list_reminder') ? 1 : 0; $input['enable_telemarketing'] = $request->has('enable_telemarketing') ? 1 : 0; $input['auto_create_followup_on_interested'] = $request->has('auto_create_followup_on_interested') ? 1 : 0; $input['enable_call_recording'] = $request->has('enable_call_recording') ? 1 : 0; $input['enable_ai_sentiment'] = $request->has('enable_ai_sentiment') ? 1 : 0; Business::where('id', $business_id) ->update(['crm_settings' => json_encode($input)]); $output = ['success' => true, 'msg' => __('lang_v1.updated_success'), ]; } catch (\Exception $e) { \Log::emergency('File:'.$e->getFile().'Line:'.$e->getLine().'Message:'.$e->getMessage()); $output = ['success' => false, 'msg' => __('messages.something_went_wrong'), ]; } return redirect()->back()->with(['status' => $output]); } }