diff --git a/app/Http/Controllers/VendorPortal/PurchaseOrderController.php b/app/Http/Controllers/VendorPortal/PurchaseOrderController.php index c63a1ef0c137..4742fcb4d2e9 100644 --- a/app/Http/Controllers/VendorPortal/PurchaseOrderController.php +++ b/app/Http/Controllers/VendorPortal/PurchaseOrderController.php @@ -53,7 +53,7 @@ class PurchaseOrderController extends Controller public function index(ShowPurchaseOrdersRequest $request) { - return $this->render('purchase_orders.index'); + return $this->render('purchase_orders.index', ['company' => auth()->user()->company, 'settings' => auth()->user()->company->settings, 'sidebar' => $this->sidebarMenu()]); } /** diff --git a/app/Http/Livewire/PurchaseOrdersTable.php b/app/Http/Livewire/PurchaseOrdersTable.php index eeffdeab6d6f..7ce7e01e79c0 100644 --- a/app/Http/Livewire/PurchaseOrdersTable.php +++ b/app/Http/Livewire/PurchaseOrdersTable.php @@ -76,13 +76,13 @@ class PurchaseOrdersTable extends Component // } $query = $query - ->where('vendor_id', auth()->guard('vendor')->user()->client_id) + ->where('vendor_id', auth()->guard('vendor')->user()->vendor_id) // ->where('status_id', '<>', Invoice::STATUS_DRAFT) // ->where('status_id', '<>', Invoice::STATUS_CANCELLED) ->withTrashed() ->paginate($this->per_page); - return render('components.livewire.purchase_orders-table', [ + return render('components.livewire.purchase-orders-table', [ 'purchase_orders' => $query ]); } diff --git a/app/Models/PurchaseOrder.php b/app/Models/PurchaseOrder.php index 7cf169fa4df2..326f8b9791f5 100644 --- a/app/Models/PurchaseOrder.php +++ b/app/Models/PurchaseOrder.php @@ -123,6 +123,30 @@ class PurchaseOrder extends BaseModel break; } } + + + public static function badgeForStatus(int $status) + { + switch ($status) { + case self::STATUS_DRAFT: + return '
'.ctrans('texts.draft').'
'; + break; + case self::STATUS_SENT: + return '
'.ctrans('texts.sent').'
'; + break; + case self::STATUS_APPROVED: + return '
'.ctrans('texts.approved').'
'; + break; + case self::STATUS_CANCELLED: + return '
'.ctrans('texts.cancelled').'
'; + break; + default: + // code... + break; + } + } + + public function assigned_user() { return $this->belongsTo(User::class, 'assigned_user_id', 'id')->withTrashed(); diff --git a/app/PaymentDrivers/GoCardlessPaymentDriver.php b/app/PaymentDrivers/GoCardlessPaymentDriver.php index d42bf5e74809..26810875467e 100644 --- a/app/PaymentDrivers/GoCardlessPaymentDriver.php +++ b/app/PaymentDrivers/GoCardlessPaymentDriver.php @@ -245,7 +245,7 @@ class GoCardlessPaymentDriver extends BaseDriver sleep(1); foreach ($request->events as $event) { - if ($event['action'] === 'confirmed' || $event['action'] === 'paid_out' || $event['action'] === 'paid') { + if ($event['action'] === 'confirmed' || $event['action'] === 'paid_out') { nlog("Searching for transaction reference"); diff --git a/resources/lang/en/texts.php b/resources/lang/en/texts.php index e38d83ea7be3..64cc99d50e0c 100644 --- a/resources/lang/en/texts.php +++ b/resources/lang/en/texts.php @@ -4627,6 +4627,8 @@ $LANG = array( 'notification_purchase_order_viewed' => 'The following vendor :client viewed Purchase Order :invoice for :amount.', 'purchase_order_date' => 'Purchase Order Date', 'purchase_orders' => 'Purchase Orders', + 'purchase_order_number_placeholder' => 'Purchase Order # :purchase_order', + ); return $LANG; diff --git a/resources/views/portal/ninja2020/components/livewire/purchase_orders-table.blade.php b/resources/views/portal/ninja2020/components/livewire/purchase-orders-table.blade.php similarity index 95% rename from resources/views/portal/ninja2020/components/livewire/purchase_orders-table.blade.php rename to resources/views/portal/ninja2020/components/livewire/purchase-orders-table.blade.php index af9100f9d535..8907f454e83d 100644 --- a/resources/views/portal/ninja2020/components/livewire/purchase_orders-table.blade.php +++ b/resources/views/portal/ninja2020/components/livewire/purchase-orders-table.blade.php @@ -79,19 +79,19 @@ {{ $purchase_order->number }} - {{ $purchase_order->translateDate($purchase_order->date, $invoice->company->date_format(), $invoice->company->locale()) }} + {{ $purchase_order->translateDate($purchase_order->date, $purchase_order->company->date_format(), $purchase_order->company->locale()) }} {{ App\Utils\Number::formatMoney($purchase_order->amount, $purchase_order->company) }} - {{ App\Utils\Number::formatMoney($purchase_order->balance, $invoice->company) }} + {{ App\Utils\Number::formatMoney($purchase_order->balance, $purchase_order->company) }} - {{ $purchase_order->translateDate($purchase_order->due_date, $invoice->company->date_format(), $purchase_order->company->locale()) }} + {{ $purchase_order->translateDate($purchase_order->due_date, $purchase_order->company->date_format(), $purchase_order->company->locale()) }} - {!! App\Models\PurchaseOrder::badgeForStatus($purchase_order->status) !!} + {!! App\Models\PurchaseOrder::badgeForStatus($purchase_order->status_id) !!} @@ -111,7 +111,7 @@
- @if($invoices && $invoices->total() > 0) + @if($purchase_orders && $purchase_orders->total() > 0) diff --git a/resources/views/portal/ninja2020/purchase_orders/index.blade.php b/resources/views/portal/ninja2020/purchase_orders/index.blade.php index d103e13e234a..12695e68ec78 100644 --- a/resources/views/portal/ninja2020/purchase_orders/index.blade.php +++ b/resources/views/portal/ninja2020/purchase_orders/index.blade.php @@ -1,4 +1,4 @@ -@extends('portal.ninja2020.layout.app') +@extends('portal.ninja2020.layout.vendor_app') @section('meta_title', ctrans('texts.purchase_orders')) @section('header') @@ -20,6 +20,6 @@
- @livewire('purchase_orders-table', ['company' => $company]) + @livewire('purchase-orders-table', ['company' => $company])
@endsection diff --git a/routes/vendor.php b/routes/vendor.php index 6da9e53bc67d..575daaeea9d0 100644 --- a/routes/vendor.php +++ b/routes/vendor.php @@ -29,5 +29,6 @@ Route::group(['middleware' => ['auth:vendor', 'vendor_locale', 'domain_db'], 'pr Route::get('purchase_orders/{purchase_order}', [PurchaseOrderController::class, 'show'])->name('purchase_order.show'); Route::get('profile/{vendor_contact}/edit', [PurchaseOrderController::class, 'index'])->name('profile.edit'); + Route::post('invoices/payment', [PurchaseOrderController::class, 'bulk'])->name('purchase_orders.bulk'); }); \ No newline at end of file