public function delete($company_id) { $departments = Department::where('company_id', $company_id)->get(); if (Config::get('site-config.is_demo') && $company_id == 1) { Session::flash('error_msg', 'Demo : Feature is disabled'); return Redirect::to('/dashboard'); } foreach ($departments as $department) { if (!empty($department)) { $tickets = Tickets::where('department_id', $department->id)->get(); //Delete tickets foreach ($tickets as $ticket) { TicketAttachments::where('thread_id', $ticket->id)->delete(); MessageThread::where('id', $ticket->thread_id)->delete(); ThreadMessages::where('thread_id', $ticket->thread_id)->delete(); } Tickets::where('department_id', $department->id)->delete(); //Delete Chat and Conversations $online_users = OnlineUsers::where('department_id', $department->id)->get(); foreach ($online_users as $online_user) { MessageThread::where('id', $online_user->thread_id)->delete(); ThreadMessages::where('thread_id', $online_user->thread_id)->delete(); } OnlineUsers::where('department_id', $department->id)->delete(); $closed_conversations = ClosedConversations::where('department_id', $department->id)->get(); foreach ($closed_conversations as $closed_conversation) { MessageThread::where('id', $closed_conversation->thread_id)->delete(); ThreadMessages::where('thread_id', $closed_conversation->thread_id)->delete(); } ClosedConversations::where('department_id', $department->id)->delete(); $operators = OperatorsDepartment::where('department_id', $department->id)->lists('user_id'); if (sizeof($operators) > 0) { User::whereIn('id', $operators)->delete(); UsersGroups::whereIn('user_id', $operators)->delete(); } OperatorsDepartment::where('department_id', $department->id)->delete(); $department_admin = DepartmentAdmins::where('department_id', $department->id)->first(); if (!empty($department_admin)) { UsersGroups::where('user_id', $department_admin->user_id)->delete(); User::where("id", $department_admin->user_id)->delete(); CompanyDepartmentAdmins::where("user_id", $department_admin->user_id)->delete(); CannedMessages::where('operator_id', $operators)->delete(); } } DepartmentAdmins::where('department_id', $department->id)->delete(); Department::where('id', $department->id)->delete(); } $company = Company::where('id', $company_id)->first(); RecentActivities::createActivity("Company <a href='/companies/all'>" . $company->name . "</a> deleted by User Name " . Auth::user()->name . " User ID " . Auth::user()->id); Company::where('id', $company_id)->delete(); Session::flash('success_msg', trans('msgs.company_deleted_success')); return Redirect::to('/companies/all'); }