1
0
mirror of https://github.com/invoiceninja/invoiceninja.git synced 2024-09-20 08:21:34 +02:00

Add user permissions to API delete

This commit is contained in:
Hillel Coren 2016-05-03 11:53:00 +03:00
parent 871456d402
commit bf4c4d0ce5
4 changed files with 19 additions and 32 deletions

View File

@ -202,6 +202,9 @@ class BaseAPIController extends Controller
if ($include == 'invoices') {
$data[] = 'invoices.invoice_items';
$data[] = 'invoices.user';
} elseif ($include == 'client') {
$data[] = 'client.contacts';
$data[] = 'client.user';
} elseif ($include == 'clients') {
$data[] = 'clients.contacts';
$data[] = 'clients.user';

View File

@ -143,20 +143,13 @@ class ClientApiController extends BaseAPIController
* )
*/
public function destroy($publicId)
public function destroy(UpdateClientRequest $request)
{
$client = Client::scope($publicId)->withTrashed()->first();
$client = $request->entity();
$this->clientRepo->delete($client);
$client = Client::scope($publicId)
->with('country', 'contacts', 'industry', 'size', 'currency')
->withTrashed()
->first();
$transformer = new ClientTransformer(Auth::user()->account, Input::get('serializer'));
$data = $this->createItem($client, $transformer, ENTITY_CLIENT);
return $this->response($data);
return $this->itemResponse($client);
}
}

View File

@ -349,18 +349,13 @@ class InvoiceApiController extends BaseAPIController
* )
*/
public function destroy($publicId)
public function destroy(UpdateInvoiceAPIRequest $request)
{
$data['public_id'] = $publicId;
$invoice = Invoice::scope($publicId)->firstOrFail();
$invoice = $request->entity();
$this->invoiceRepo->delete($invoice);
$transformer = new InvoiceTransformer(\Auth::user()->account, Input::get('serializer'));
$data = $this->createItem($invoice, $transformer, 'invoice');
return $this->response($data);
return $this->itemResponse($invoice);
}
}

View File

@ -49,7 +49,7 @@ class PaymentApiController extends BaseAPIController
{
$payments = Payment::scope()
->withTrashed()
->with(['client.contacts', 'invitation', 'user', 'invoice'])
->with(['invoice'])
->orderBy('created_at', 'desc');
return $this->listResponse($payments);
@ -145,17 +145,13 @@ class PaymentApiController extends BaseAPIController
* )
*/
public function destroy($publicId)
public function destroy(UpdatePaymentRequest $request)
{
$payment = $request->entity();
$this->clientRepo->delete($payment);
$payment = Payment::scope($publicId)->withTrashed()->first();
$invoiceId = $payment->invoice->public_id;
$this->paymentRepo->delete($payment);
$transformer = new PaymentTransformer(\Auth::user()->account, Input::get('serializer'));
$data = $this->createItem($payment, $transformer, 'invoice');
return $this->response($data);
return $this->itemResponse($payment);
}
}