diff --git a/app/Http/Controllers/BaseController.php b/app/Http/Controllers/BaseController.php index 156e5384ced9..77ee5066898e 100644 --- a/app/Http/Controllers/BaseController.php +++ b/app/Http/Controllers/BaseController.php @@ -519,7 +519,7 @@ class BaseController extends Controller 'company.bank_transaction_rules'=> function ($query) use ($updated_at, $user) { $query->where('updated_at', '>=', $updated_at); - if (! $user->isAdmin()) { + if (! $user->isAdmin() && !$user->hasIntersectPermissions(['create_bank_transaction','edit_bank_transaction','view_bank_transaction'])) { $query->where('bank_transaction_rules.user_id', $user->id); } }, @@ -627,7 +627,7 @@ class BaseController extends Controller } }, 'company.bank_transaction_rules'=> function ($query) use ($user) { - if (! $user->isAdmin()) { + if (! $user->isAdmin() && !$user->hasIntersectPermissions(['create_bank_transaction','edit_bank_transaction','view_bank_transaction'])) { $query->where('bank_transaction_rules.user_id', $user->id); } }, diff --git a/app/Services/Recurring/RecurringService.php b/app/Services/Recurring/RecurringService.php index 721b94dcd183..eca206c746e0 100644 --- a/app/Services/Recurring/RecurringService.php +++ b/app/Services/Recurring/RecurringService.php @@ -90,15 +90,10 @@ class RecurringService public function deletePdf() { $this->recurring_entity->invitations->each(function ($invitation) { - // (new UnlinkFile(config('filesystems.default'), $this->recurring_entity->client->recurring_invoice_filepath($invitation) . $this->recurring_entity->numberFormatter().'.pdf'))->handle(); //30-06-2023 try { Storage::disk(config('filesystems.default'))->delete($this->recurring_entity->client->recurring_invoice_filepath($invitation) . $this->recurring_entity->numberFormatter().'.pdf'); - // if (Storage::disk(config('filesystems.default'))->exists($this->invoice->client->invoice_filepath($invitation).$this->invoice->numberFormatter().'.pdf')) { - // } - - // if (Ninja::isHosted() && Storage::disk('public')->exists($this->invoice->client->invoice_filepath($invitation).$this->invoice->numberFormatter().'.pdf')) { Storage::disk('public')->delete($this->recurring_entity->client->recurring_invoice_filepath($invitation) . $this->recurring_entity->numberFormatter().'.pdf'); if (Ninja::isHosted()) { } diff --git a/tests/Feature/RecurringInvoiceTest.php b/tests/Feature/RecurringInvoiceTest.php index def58d0e50cc..b70b2f22ee9a 100644 --- a/tests/Feature/RecurringInvoiceTest.php +++ b/tests/Feature/RecurringInvoiceTest.php @@ -60,6 +60,53 @@ class RecurringInvoiceTest extends TestCase } + + public function testStartDate() + { + $line_items = []; + + $item = InvoiceItemFactory::create(); + $item->quantity = 1; + $item->cost = 10; + $item->task_id = $this->encodePrimaryKey($this->task->id); + $item->expense_id = $this->encodePrimaryKey($this->expense->id); + $item->notes = "Hello this is the month of :MONTH"; + + $line_items[] = $item; + + + $data = [ + 'frequency_id' => 1, + 'status_id' => 1, + 'discount' => 0, + 'is_amount_discount' => 1, + 'po_number' => '3434343', + 'public_notes' => 'notes', + 'is_deleted' => 0, + 'custom_value1' => 0, + 'custom_value2' => 0, + 'custom_value3' => 0, + 'custom_value4' => 0, + 'status' => 1, + 'client_id' => $this->encodePrimaryKey($this->client->id), + 'line_items' => $line_items, + 'remaining_cycles' => -1, + 'date' => '0001-01-01', + 'due_date' => '0001-01-01', + ]; + + $response = $this->withHeaders([ + 'X-API-SECRET' => config('ninja.api_secret'), + 'X-API-TOKEN' => $this->token, + ])->post('/api/v1/recurring_invoices/', $data) + ->assertStatus(200); + + $arr = $response->json(); + + $this->assertEquals('0001-01-01', $arr['data']['date']); + + } + public function testNextSendDateCatch() { $line_items = [];