/** * @ApiDoc( * description = "Display all clients. The reserved value 'all_clients', which is used to set a user's campaign permissions, should be hidden from the Create/Edit Campaign screen.", * section="Z_DISABLED", * statusCodes = { * 200 = "Returned when the request is without errors", * 403 = "Invalid API KEY", * 404 = "The database has no clients momentarely.", * 500 = "Header x-wsse does not exist" * }, * requirements = { * { * "name" = "_format", * "requirement" = "json|xml" * } * } * ) * @return array * @View() */ public function getOptionsClientsAction() { $user = $this->getUser(); $response = new Response(); $clients = $this->getDoctrine()->getRepository('CampaignBundle:Client')->findAllWithout_all_clients(); if (!$clients) { $response->setStatusCode(404); $response->setContent(json_encode(array('success' => false, 'message' => 'The database has no clients momentarely.'))); } $clients_array = array(); foreach ($clients as $client) { //print_r($client->getName()); $can_view = Self::validate_user_can_view_this_client($user, $client); if ($can_view) { $clients_array[$client->getId()] = ucfirst($client->getName()); } if ($client->getName() == 'temp_client') { $clients_array[$client->getId()] = ucfirst($client->getName()); } } //die(); // Order Clients alphabetically: asort($clients_array); $response->setStatusCode(200); $response->setContent(json_encode(array('clients' => $clients_array))); return $response; }