post comment and default to pending on create inv

This commit is contained in:
Edmond Teh
2020-09-04 15:26:05 +08:00
parent 6660ff9c6c
commit 269eaf0218
2 changed files with 127 additions and 11 deletions
+31 -1
View File
@@ -3,6 +3,7 @@
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Validation\Rule;
use Illuminate\Routing\ResponseFactory;
use Illuminate\Support\MessageBag;
use Illuminate\Support\Facades\DB;
@@ -26,7 +27,10 @@ class InvoiceController extends Controller
}
$lines = InvoiceDetails::where('invoice_id', $invoice['id'])->orderBy('order', 'asc')->get();
$status = InvoiceStatuses::where('invoice_id', $invoice['id'])->orderBy('created_at', 'asc')->get();
$invoice->lines = $lines;
$invoice->status = $status;
return response()->json($invoice, 200);
}
@@ -121,6 +125,12 @@ class InvoiceController extends Controller
$invoice->lines = $invoice_details;
// Post status as pending
$status = new InvoiceStatuses;
$status->status = 'pending';
$status->comment = '';
$status->invoice_id = $invoice->id;
$status->save();
if($invoice_details) {
return $this->show($id);
@@ -134,9 +144,29 @@ class InvoiceController extends Controller
}
public function updateStatus(Request $request, $id)
public function postStatus(Request $request, $id)
{
// validate $id is integer
$validatedData = $request->validate([
'status' => ['required', Rule::in('request_change', 'approve')],
'comment' => Rule::requiredIf($request->status === 'request_change')
]);
// Save to database
$status = new InvoiceStatuses;
$status->status = $validatedData['status'];
$status->comment = $validatedData['comment'];
$status->invoice_id = Invoice::where('booking_id', $id)->first()['id'];
$status->save();
// Response
return response()->json($status, 201);
}
public function getPO($id)