working on payments API

This commit is contained in:
David Bomba 2016-02-07 22:01:39 +11:00
parent 42f3cffca8
commit ccaabe2926
2 changed files with 10 additions and 7 deletions

View File

@ -46,7 +46,7 @@ class PaymentApiController extends BaseAPIController
{ {
$paginator = Payment::scope(); $paginator = Payment::scope();
$payments = Payment::scope() $payments = Payment::scope()
->with('client.contacts', 'invitation', 'user', 'invoice'); ->with('client.contacts', 'invitation', 'user', 'invoice')->withTrashed();
if ($clientPublicId = Input::get('client_id')) { if ($clientPublicId = Input::get('client_id')) {
$filter = function($query) use ($clientPublicId) { $filter = function($query) use ($clientPublicId) {
@ -95,23 +95,23 @@ class PaymentApiController extends BaseAPIController
$error = false; $error = false;
if ($request->action == ACTION_ARCHIVE) { if ($request->action == ACTION_ARCHIVE) {
$payment = Payment::scope($publicId)->firstOrFail(); $payment = Payment::scope($publicId)->withTrashed()->firstOrFail();
$this->paymentRepo->archive($payment); $this->paymentRepo->archive($payment);
$invoice = Invoice::scope($data['invoice_id'])->with('client')->first(); $invoice = Invoice::scope($data['invoice_id'])->with('client','payments')->withTrashed()->first();
$transformer = new InvoiceTransformer(\Auth::user()->account, Input::get('serializer')); $transformer = new InvoiceTransformer(\Auth::user()->account, Input::get('serializer'));
$data = $this->createItem($invoice, $transformer, 'invoice'); $data = $this->createItem($invoice, $transformer, 'invoice');
return $this->response($data); return $this->response($data);
} }
$this->paymentRepo->save($data); $payment = $this->paymentRepo->save($data);
if ($error) { if ($error) {
return $error; return $error;
} }
$invoice = Invoice::scope($data['invoice_id'])->with('client', 'invoice_items', 'invitations','payments')->first(); $invoice = Invoice::scope($data['invoice_id'])->with('client', 'invoice_items', 'invitations','payments')->withTrashed()->first();
$transformer = new InvoiceTransformer(\Auth::user()->account, Input::get('serializer')); $transformer = new InvoiceTransformer(\Auth::user()->account, Input::get('serializer'));
$data = $this->createItem($invoice, $transformer, 'invoice'); $data = $this->createItem($invoice, $transformer, 'invoice');
return $this->response($data); return $this->response($data);
@ -208,11 +208,14 @@ class PaymentApiController extends BaseAPIController
public function destroy($publicId) public function destroy($publicId)
{ {
$payment = Payment::scope($publicId)->withTrashed()->first(); $payment = Payment::scope($publicId)->withTrashed()->first();
$invoice = Invoice::scope($payment->invoice->public_id)->first(); $invoiceId = $payment->invoice->public_id;
$this->paymentRepo->delete($payment); $this->paymentRepo->delete($payment);
$invoice = Invoice::scope($invoiceId)->with('payments')->withTrashed()->first();
$transformer = new InvoiceTransformer(\Auth::user()->account, Input::get('serializer')); $transformer = new InvoiceTransformer(\Auth::user()->account, Input::get('serializer'));
$data = $this->createItem($invoice, $transformer, 'invoice'); $data = $this->createItem($invoice, $transformer, 'invoice');

View File

@ -179,7 +179,7 @@ class Invoice extends EntityModel implements BalanceAffecting
public function payments() public function payments()
{ {
return $this->hasMany('App\Models\Payment', 'invoice_id', 'id')->withTrashed(); return $this->hasMany('App\Models\Payment', 'invoice_id', 'id');
} }
public function recurring_invoice() public function recurring_invoice()