/** * Get the agent with the lowest tickets assigned in specific category * * @param integer $cat_id * @return integer $selected_agent_id */ public function autoSelectAgent($cat_id) { $agents = $agents = Models\Category::find($cat_id)->agents()->agents(); $count = 0; $lowest_tickets = 1000000; // If no agent selected, select the admin $first_admin = Agent::admins()->first(); $selected_agent_id = $first_admin->id; foreach ($agents as $agent) { if ($count == 0) { $lowest_tickets = $agent->agentTickets->count(); $selected_agent_id = $agent->id; } else { $tickets_count = $agent->agentTickets->count(); if ($tickets_count < $lowest_tickets) { $lowest_tickets = $tickets_count; $selected_agent_id = $agent->id; } } $count++; } return $selected_agent_id; }
public function index() { $administrators = Agent::admins(); return view('ticketit::admin.administrator.index', compact('administrators')); }