From e791741efa3f0195f8fadc80113d43163291adaa Mon Sep 17 00:00:00 2001 From: David Bomba Date: Sun, 3 Jan 2021 18:56:42 +1100 Subject: [PATCH 1/2] Fixes for displaying recurring invoices in the client portal --- .../Controllers/ClientPortal/InvitationController.php | 10 ++++++++++ app/Models/RecurringInvoice.php | 3 +++ app/Providers/RouteServiceProvider.php | 2 ++ routes/client.php | 3 ++- 4 files changed, 17 insertions(+), 1 deletion(-) diff --git a/app/Http/Controllers/ClientPortal/InvitationController.php b/app/Http/Controllers/ClientPortal/InvitationController.php index fe31c6fd12cf..02a17017142a 100644 --- a/app/Http/Controllers/ClientPortal/InvitationController.php +++ b/app/Http/Controllers/ClientPortal/InvitationController.php @@ -32,6 +32,16 @@ class InvitationController extends Controller use MakesDates; public function router(string $entity, string $invitation_key) + { + return $this->genericRouter($entity, $invitation_key); + } + + public function recurringRouter(string $invitation_key) + { + return $this->genericRouter('recurring_invoice', $invitation_key); + } + + private function genericRouter(string $entity, string $invitation_key) { $key = $entity.'_id'; diff --git a/app/Models/RecurringInvoice.php b/app/Models/RecurringInvoice.php index 8d4dba150577..2967c4a55282 100644 --- a/app/Models/RecurringInvoice.php +++ b/app/Models/RecurringInvoice.php @@ -300,6 +300,9 @@ class RecurringInvoice extends BaseModel public static function frequencyForKey(int $frequency_id) :string { switch ($frequency_id) { + case self::FREQUENCY_DAILY: + return ctrans('texts.freq_daily'); + break; case self::FREQUENCY_WEEKLY: return ctrans('texts.freq_weekly'); break; diff --git a/app/Providers/RouteServiceProvider.php b/app/Providers/RouteServiceProvider.php index 7e17df342642..46a774362e11 100644 --- a/app/Providers/RouteServiceProvider.php +++ b/app/Providers/RouteServiceProvider.php @@ -11,6 +11,7 @@ namespace App\Providers; +use App\Models\RecurringInvoice; use App\Utils\Traits\MakesHash; use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider; use Illuminate\Support\Facades\Route; @@ -36,6 +37,7 @@ class RouteServiceProvider extends ServiceProvider { // parent::boot(); + } /** diff --git a/routes/client.php b/routes/client.php index e66659765fc9..e3cb1285ee26 100644 --- a/routes/client.php +++ b/routes/client.php @@ -34,7 +34,7 @@ Route::group(['middleware' => ['auth:contact', 'locale', 'check_client_existence Route::get('invoices/{invoice_invitation}', 'ClientPortal\InvoiceController@show')->name('invoice.show_invitation'); Route::get('recurring_invoices', 'ClientPortal\RecurringInvoiceController@index')->name('recurring_invoices.index')->middleware('portal_enabled'); - Route::get('recurring_invoices/{recurring_invoice}', 'ClientPortal\RecurringInvoiceController@show')->name('recurring_invoices.show'); + Route::get('recurring_invoices/{recurring_invoice}', 'ClientPortal\RecurringInvoiceController@show')->name('recurring_invoice.show'); Route::get('recurring_invoices/{recurring_invoice}/request_cancellation', 'ClientPortal\RecurringInvoiceController@requestCancellation')->name('recurring_invoices.request_cancellation'); Route::post('payments/process', 'ClientPortal\PaymentController@process')->name('payments.process'); @@ -78,6 +78,7 @@ Route::group(['middleware' => ['auth:contact', 'locale', 'check_client_existence Route::group(['middleware' => ['invite_db'], 'prefix' => 'client', 'as' => 'client.'], function () { /*Invitation catches*/ + Route::get('recurring_invoice/{invitation_key}', 'ClientPortal\InvitationController@recurringRouter'); Route::get('{entity}/{invitation_key}', 'ClientPortal\InvitationController@router'); Route::get('invoice/{invitation_key}/download_pdf', 'InvoiceController@downloadPdf')->name('invoice.download_invitation_key'); Route::get('quote/{invitation_key}/download_pdf', 'QuoteController@downloadPdf')->name('quote.download_invitation_key'); From 8653cc61145963f9a7a0f4ede25ba9a063bd5ab6 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Mon, 4 Jan 2021 08:22:42 +1100 Subject: [PATCH 2/2] Fixes for unique taxrate constraint on update --- app/Http/Requests/TaxRate/UpdateTaxRateRequest.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/Http/Requests/TaxRate/UpdateTaxRateRequest.php b/app/Http/Requests/TaxRate/UpdateTaxRateRequest.php index b40f6b26737f..b72ba191753f 100644 --- a/app/Http/Requests/TaxRate/UpdateTaxRateRequest.php +++ b/app/Http/Requests/TaxRate/UpdateTaxRateRequest.php @@ -28,7 +28,8 @@ class UpdateTaxRateRequest extends Request public function rules() { return [ - 'name' => 'unique:tax_rates,name,'.$this->tax_rate->name.',id,company_id,'.auth()->user()->companyId(), + // 'name' => 'unique:tax_rates,name,'.$this->tax_rate->name.',id,company_id,'.auth()->user()->companyId(), + 'name' => 'unique:tax_rates,name,'.$this->id.',id,company_id,'.$this->company_id, 'rate' => 'numeric', ]; }