예제 #1
0
파일: Client.php 프로젝트: Codixis/CSBill
 /**
  * Add contact.
  *
  * @param Contact $contact
  *
  * @return Client
  */
 public function addContact(Contact $contact)
 {
     $this->contacts[] = $contact;
     $contact->setClient($this);
     return $this;
 }
예제 #2
0
 /**
  * Renders a contact card.
  *
  * @param Request $request
  * @param Contact $contact
  *
  * @return \Symfony\Component\HttpFoundation\Response
  */
 public function contactAction(Request $request, Contact $contact)
 {
     if ($request->isMethod('DELETE')) {
         $client = $contact->getClient();
         if (count($client->getContacts()) === 1) {
             return $this->json(['message' => $this->trans('client.contact.at_least_1')], 500);
         }
         $entityManager = $this->getEm();
         $entityManager->remove($contact);
         $entityManager->flush();
         return $this->json([]);
     }
     return $this->serializeResponse($contact);
 }
예제 #3
0
 /**
  * @ApiDoc(
  *     statusCodes={
  *         200="Returned when successful",
  *         400="Returned when the validation fails",
  *         403="Returned when the user is not authorized",
  *     },
  *     resource=true,
  *     description="Update a contact",
  *     input="CSBill\ClientBundle\Form\Contact",
  *     output={
  *         "class"="CSBill\ClientBundle\Entity\Contact",
  *         "groups"={"api"}
  *     },
  *     authentication=true,
  * )
  *
  * @param Request        $request
  * @param Entity\Client  $client
  * @param Entity\Contact $contact
  *
  * @ParamConverter("client", class="CSBillClientBundle:Client", options={"id" : "clientId"})
  * @ParamConverter("contact", class="CSBillClientBundle:Contact", options={"id" : "contactId"})
  *
  * @Rest\Patch(path="/client/{clientId}/contact/{contactId}")
  *
  * @return Response
  */
 public function updateContactAction(Request $request, Entity\Client $client, Entity\Contact $contact)
 {
     $contact->setClient($client);
     return $this->manageForm($request, 'contact', $contact);
 }
예제 #4
0
 /**
  * Deletes a contact.
  *
  * @param Contact $contact
  *
  * @return \Symfony\Component\HttpFoundation\JsonResponse
  */
 public function deletecontactAction(Contact $contact)
 {
     $client = $contact->getClient();
     if (count($client->getContacts()) === 1) {
         return $this->json(['message' => $this->trans('client.contact.at_least_1')], 500);
     }
     $entityMnager = $this->getEm();
     $entityMnager->remove($contact);
     $entityMnager->flush();
     return $this->json(array('status' => 'success'));
 }