1
0
mirror of https://github.com/invoiceninja/invoiceninja.git synced 2024-11-14 15:13:29 +01:00
Commit Graph

1874 Commits

Author SHA1 Message Date
David Bomba
2d0e1a53f2 Fixes for autobill 2020-10-23 15:18:16 +11:00
Clément Gayot
5458bf83b0 🐛 Fix invoice preview with custom designs 2020-10-22 01:19:33 +02:00
David Bomba
d881e7cea1
Merge pull request #4193 from turbo124/v5-develop
Credit payments and general fixes
2020-10-21 15:14:25 +11:00
Benjamin Beganović
1de6f94f10 fix custom1234 2020-10-20 13:01:07 +02:00
David Bomba
90494547c5 Fix for whitelabel getter 2020-10-20 13:23:48 +11:00
David Bomba
e129419644 recurring logging 2020-10-20 11:57:58 +11:00
David Bomba
bc2b0f4aae Fix for recurring number collisions - use dispatchNow() 2020-10-20 11:53:54 +11:00
David Bomba
840696ad3c Fixes for email invoice 2020-10-20 10:37:33 +11:00
David Bomba
f0e4a94bee Task Statuses 2020-10-20 10:01:59 +11:00
David Bomba
6f1f0ecebe Adjust the way we import credits from V4 to V5 - refactor check data script to reflect changes 2020-10-18 20:25:32 +11:00
David Bomba
708db5a991 Improve eager loading - first load 2020-10-18 18:46:10 +11:00
David Bomba
407304d3c6 Console commands for small test data batches 2020-10-10 14:32:10 +11:00
David Bomba
cd0dce3816
Merge pull request #4138 from turbo124/v2
Projects API
2020-10-08 09:31:37 +11:00
David Bomba
4bbdeef539
Merge pull request #4136 from beganovich/v2-products-table-in-invoices
(v5) Support for custom products table columns
2020-10-08 06:59:16 +11:00
David Bomba
d4e2a0071a Analytics 2020-10-07 14:56:35 +11:00
David Bomba
b8b3149582 Working on recurring & analytics 2020-10-07 14:00:32 +11:00
Benjamin Beganović
76695b8462 - Add new "product" key to $context of Design
- Add custom products table body handling in Design.php
2020-10-06 12:49:00 +02:00
David Bomba
484b28d3ce Fixes for recurring migratoin 2020-10-06 11:52:16 +11:00
David Bomba
1264486bb9 Working on recurring migration 2020-10-06 08:46:47 +11:00
David Bomba
45b6c1bcc2 Recurring migration 2020-10-05 22:32:56 +11:00
David Bomba
1390e739e3 recurring 2020-10-02 16:33:55 +10:00
David Bomba
2c4cfa409a Recurring invoice migrations 2020-10-02 08:19:42 +10:00
David Bomba
16b731d010 Bump laravel to version 8 2020-10-01 15:33:38 +10:00
David Bomba
5c0776cf14 Working on Delete user bug 2020-09-28 12:56:11 +10:00
David Bomba
3c4bc4a516 Fixes for recurring scheduling 2020-09-26 09:48:42 +10:00
David Bomba
4cf56d5138 Working on recurring schedules 2020-09-24 21:03:59 +10:00
David Bomba
0338a30a48 Fixes for generic email templates 2020-09-21 08:17:57 +10:00
David Bomba
4b00d3a82a Improve eager loading 2020-09-19 20:05:29 +10:00
Benjamin Beganović
99d31207e1 Fix quote generating 2020-09-18 10:45:26 +02:00
David Bomba
24104509b3 Fixes for recurring invoice schema - auto_bill_enabled 2020-09-17 09:26:23 +10:00
David Bomba
aeeb099d40 Fixes for mailers 2020-09-14 15:14:37 +10:00
David Bomba
f0bd089acb
Merge pull request #4054 from turbo124/v2
Gateway fees and payments.
2020-09-11 16:15:53 +10:00
Benjamin Beganović
1b36dc5868 cleanup 2020-09-10 13:01:34 +02:00
Benjamin Beganović
207c9388b5 Fix migration issues 2020-09-10 13:01:10 +02:00
David Bomba
f7dc573551 Fixes for invoices 2020-09-10 15:20:13 +10:00
David Bomba
c67fee3fff Fixes for base driver 2020-09-09 20:05:10 +10:00
David Bomba
f8f8da830e Working on recurring invoices + reminders 2020-09-08 21:01:55 +10:00
David Bomba
f5eecf0eb6 Working on recurring 2020-09-08 20:34:14 +10:00
David Bomba
d909b4939c Minor fixes for PayPal 2020-09-07 13:14:43 +10:00
David Bomba
ba75a44eb8
Laravel 7.x Shift (#40)
* Adopt Laravel coding style

The Laravel framework adopts the PSR-2 coding style with some additions.
Laravel apps *should* adopt this coding style as well.

However, Shift allows you to customize the adopted coding style by
adding your own [PHP CS Fixer][1] `.php_cs` config to your project.

You may use [Shift's .php_cs][2] file as a base.

[1]: https://github.com/FriendsOfPHP/PHP-CS-Fixer
[2]: https://gist.github.com/laravel-shift/cab527923ed2a109dda047b97d53c200

* Shift bindings

PHP 5.5.9+ adds the new static `class` property which provides the fully qualified class name. This is preferred over using class name strings as these references are checked by the parser.

* Shift core files

* Shift to Throwable

* Add laravel/ui dependency

* Unindent vendor mail templates

* Shift config files

* Default config files

In an effort to make upgrading the constantly changing config files
easier, Shift defaulted them so you can review the commit diff for
changes. Moving forward, you should use ENV variables or create a
separate config file to allow the core config files to remain
automatically upgradeable.

* Shift Laravel dependencies

* Shift cleanup

* Upgrade to Laravel 7

Co-authored-by: Laravel Shift <shift@laravelshift.com>
2020-09-06 19:38:10 +10:00
Benjamin Beganović
1a66f1835f Merge remote-tracking branch 'upstream/v2' into v2-pdfmaker-design-improvements 2020-09-04 13:20:39 +02:00
Benjamin Beganović
219666f765 Generating PDFs using new templates 2020-09-04 13:17:30 +02:00
David Bomba
bb4aac1aeb
Merge pull request #4025 from turbo124/v2
Gateway fees implementation
2020-08-31 17:58:43 +10:00
Benjamin Beganović
d508d9b8f2
Merge branch 'v2' into v2-pdfmaker-design-improvements 2020-08-28 08:17:46 +02:00
David Bomba
36c54d8cc3 Working on fees 2020-08-28 11:06:46 +10:00
David Bomba
1a7d0d3cbd Working on gateway fees across multiple invoices 2020-08-27 22:12:39 +10:00
Benjamin Beganović
53cb0fc076 Fix entity on quote 2020-08-27 10:06:08 +02:00
Benjamin Beganović
af7995815c Rename all_page_* to all_pages_* for dynamic header/footer 2020-08-27 08:47:51 +02:00
David Bomba
044c35266e Fixes for zapier 2020-08-24 21:53:22 +10:00
David Bomba
e6de7c9661 Logging for webhook handler 2020-08-24 21:16:35 +10:00
Benjamin Beganović
23577a5f0f Refactor context['product-table-columns'] to generic pdf_variables:
- Pass 'pdf_variables' to CreateQuotePdf & CreateInvoicPdf
- Update Playful & Plain to support new variable engine
- Update DesignHelpers trait to support new variable engine
- Make tests pass for ExampleIntegrationTest
2020-08-21 11:59:39 +02:00
David Bomba
b2d5a8b070 Fixes for bulk emailing quotes 2020-08-19 12:55:58 +10:00
Benjamin Beganović
0a493c275e Enable is_public for document uploads 2020-08-18 16:12:46 +02:00
David Bomba
5daeab3895 allow total columns to be customized in PDF 2020-08-14 13:59:14 +10:00
David Bomba
3ac9cc5158 Add reminder fields to entities 2020-08-14 08:08:10 +10:00
David Bomba
5bfcdc80b2
Merge pull request #3972 from beganovich/v2-0708-pdfmaker-integration
(wip) End-to-end PDF Maker integration
2020-08-14 06:53:00 +10:00
Benjamin Beganović
0ba6a4351e Integrate new PdfMaker for CreateQuotePdf 2020-08-12 19:21:29 +02:00
Benjamin Beganović
a302891bec Change $pdf_variables scope 2020-08-12 19:14:14 +02:00
David Bomba
e347c5ad51 Document permissions 2020-08-12 13:13:39 +10:00
David Bomba
de24d00315 Error handling for emails 2020-08-12 12:16:44 +10:00
Benjamin Beganović
caa704af96 wip - CreateInvoicePdf 2020-08-11 18:50:24 +02:00
David Bomba
2e663447b8 Tests for container manipulation 2020-08-10 14:55:44 +10:00
David Bomba
6840e3e471 Fixes for mailers 2020-08-08 14:38:02 +10:00
=
e6afbb3bcf Implement a mail router which can centralise mail jobs 2020-08-08 09:28:36 +10:00
David Bomba
c220108168 Add documents as default includes 2020-08-06 13:04:09 +10:00
David Bomba
c245125be4 Force remove stale contacts 2020-08-05 10:12:47 +10:00
David Bomba
d7dbde3789 Implement PhantomJS 2020-08-04 21:00:19 +10:00
David Bomba
62f084b2aa Events 2020-07-22 17:53:14 +10:00
David Bomba
e620438186 Fixes for user email change job 2020-07-22 17:26:54 +10:00
=
a367c64278 Send change of email to both old and new email address 2020-07-22 13:03:33 +10:00
David Bomba
9d276ffa70 Working on user notifications when an email changes 2020-07-22 12:25:58 +10:00
David Bomba
9075cf989a Flip what is_system means for company tokens 2020-07-21 15:03:04 +10:00
David Bomba
e00500efd8 Minor enhancement for import process 2020-07-19 17:17:19 +10:00
David Bomba
439424b933 Fix for activity repo 2020-07-17 19:47:17 +10:00
David Bomba
dc63e533df Fix for quote event 2020-07-14 20:35:41 +10:00
David Bomba
fe4885f5a6 only send one notification per invoice 2020-07-14 19:55:28 +10:00
David Bomba
b4f669ad59 Update refresh route to filter all subqueries by updated_at 2020-07-10 09:28:09 +10:00
David Bomba
f3572a5d11 Refactor for events 2020-07-08 22:02:16 +10:00
David Bomba
d236dd6ff6 Fixes for observers 2020-07-06 21:42:42 +10:00
David Bomba
4c321d41c3 Change subscriptions to webhooks 2020-07-06 21:22:36 +10:00
David Bomba
95a2eab410 checking latest version logging 2020-07-06 08:28:19 +10:00
David Bomba
8856e3fada Fixes for pdf preview 2020-07-05 20:58:30 +10:00
David Bomba
b9c860bfc3 Add task to check company size 2020-07-05 18:59:28 +10:00
David Bomba
302c98e08b Fixes for demo data 2020-07-01 21:33:42 +10:00
David Bomba
fd7f627ffe Fixes for migrations - client balances! 2020-07-01 16:03:46 +10:00
David Bomba
5855f3ea1f Refactor for migrations 2020-07-01 15:51:19 +10:00
David Bomba
e216def2ff Use separate repo's for migrations 2020-07-01 14:37:05 +10:00
David Bomba
fb787c2c53 Fix for null client balance on import 2020-06-30 10:09:18 +10:00
David Bomba
245980ce4b Send company with all events 2020-06-30 09:35:17 +10:00
David Bomba
7af826fa7f Minor fixes for documents 2020-06-22 21:32:10 +10:00
David Bomba
2fadadf5d4 Change document->path to ->url 2020-06-22 15:52:20 +10:00
David Bomba
fc444746d2 Fixes for payment terms 2020-06-18 18:56:02 +10:00
David Bomba
fc40159d36 Fixes for currency precision 2020-06-15 21:42:46 +10:00
David Bomba
70c5913f1d fixes for currency type 2020-06-15 16:06:32 +10:00
David Bomba
0164b053db update dependencies 2020-06-11 08:56:12 +10:00
David Bomba
d6a8ef8de4 Working on Authorize.net 2020-06-10 15:21:11 +10:00
David Bomba
949061a213 Fix for deleting last company in account 2020-06-09 18:59:38 +10:00
David Bomba
90e4534fef
Merge pull request #3769 from turbo124/v2
Implement service pattern for refunds.
2020-06-01 13:16:40 +10:00
David Bomba
c99c339fab Implement new refund methods 2020-06-01 13:16:06 +10:00
Benjamin Beganović
6319c208df injecting signature and sending it to backend 2020-05-28 15:59:45 +02:00
David Bomba
c72d38ca4f
Allow conversion of quotes to invoices (#3760) 2020-05-27 14:46:19 +10:00
David Bomba
8512db6b1e
Add payment terms per company (#3759)
* remove first name last name required

* Working on check update script

* Add payment terms per company

* set enabled modules on company creation

* Add payment terms to migration
2020-05-27 09:49:06 +10:00
David Bomba
0a4464fc23
Payment Failure Notifications (#3755)
* Type Change for Payment Terms

* Fixes for payment terms casting

* Working on payment failure notifications

* Working on payment failure notifications
2020-05-26 20:22:50 +10:00
David Bomba
c339c25d9c
Bulk actions for Payment Terms (#3752)
* Fixes for tests

* payment terms policies and repo

* Bulk actions for payment terms

* Fixes for documentation

* working on payment failure mailer
2020-05-26 18:20:50 +10:00
David Bomba
8ab0238f3f
Attachments with GMail transport (#3726)
* Refactor mailers

* Fixes for mailer

* Fixes for approving a quote

* Refactor emailer

* Refactor emailer

* Attach files with GMail transport

* Attach files to GMail transport
2020-05-20 16:59:29 +10:00
David Bomba
d5ae025df0
Logging for self updater (#3725)
* fixes for tests

* Fixes for tests:

* Fixes for tests

* Add logging to self updater
2020-05-20 08:49:58 +10:00
David Bomba
659af63b5c
Add Quotes to RandomDataSeeder (#3714)
* Skip preview tests

* Fixes for product test

* Fixes for tests

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Fixes for incorrect payment types

* Refactor class nameS

* Entity Notification refactor

* Entity Notifications

* Add Quotes to randomdataseederr
2020-05-19 08:22:18 +10:00
David Bomba
2000795fdc
Fixes for correct way to change an auth'd contact (#3708) 2020-05-16 21:13:32 +10:00
David Bomba
84a64773a6
Adjustments for OAuth (#3707)
* Fixes for null values in custom values

* Refactor mailing

* Working on send emails from GMail API

* Fixes for tests

* Test for GMail

* Adjustments for storing oauth token
2020-05-16 20:26:16 +10:00
David Bomba
d05bd7d2c1
Test for Gmail (#3706)
* Fixes for null values in custom values

* Refactor mailing

* Working on send emails from GMail API

* Fixes for tests

* Test for GMail
2020-05-16 12:04:24 +10:00
David Bomba
d3b29d8ae2
Fixes for Stripe (#3702)
* Fixes for tests

* Fixes for Stripe

* Mail jobs
2020-05-14 21:33:29 +10:00
David Bomba
6d0d6c10cd
Working on OAuth (#3686)
* Update Exchange rate Data once a day

* Tests for currency conversions

* Fixes for tests

* Fix for adding blank product keys

* Class for logging emails sent

* fixes for oauth
2020-05-12 19:56:30 +10:00
David Bomba
b3eb2ae3b4
Fix companygatewaytransformer (#3677)
* Working on subscriptions

* Implement return type in models

* Subscription implementation

* Improvements to handling importation of large accountS

* Loggin imports

* Activate collector

* Improve memory usage of import script

* Appen Tags into emails - fix companygatewaytransformer
2020-05-06 21:49:42 +10:00
David Bomba
42ccfe0700
Checkout stubs (#3672)
* minor fixes for name spaces, collector facade and composer version bump

* Fixes for invoiceworkflowsettings

* Add more context to support emails

* Working on Firing Subscriptions

* Minor fixes

* Fixes for gateway filtering

* Checkout Driver
2020-05-04 21:13:46 +10:00
David Bomba
1da69b1f17
Minor fixes for designs / Namespace fixes (#3669)
* Fixes for namespaces

* Fixes for designs
2020-05-02 10:04:25 +10:00
David Bomba
e204eedaa2
Fix for invoice design not changing dynamically (#3666) 2020-05-01 22:43:08 +10:00
David Bomba
d7b22ba1db
Add analytics engine (#3664) 2020-04-30 22:33:57 +10:00
David Bomba
c503d58505
Adjust email quotas - Hosted plan. (#3663)
* Fixes for invitations not being created in RandomDataSeeder

* Resend failed/quota exceeded emails

* Queue email tests

* Refund a client for a ninja account

* Adjust email quotas - hosted plan
2020-04-30 21:45:47 +10:00
Benjamin Beganović
a70f42b31e
Migration improvements (#3662)
* scaffold the cases for migration

* Improve migration errors
2020-04-30 08:01:44 +10:00
Benjamin Beganović
d516b1b097
Workflow settings for quotes & invoices (#3655)
* Fix inputs

* Workflow settings: Auto archive

- New InvoiceWorkflowSettings job
- Updated PaymentCreatedActivity to dispatch the job
- New 'Archivable' trait
- New 'archived_at' field

* Workflow settings: Sending e-mail to client with auto_send

* Workflow settings: Quotes

* Fix HTML markup

* Fix archive & sending

* Remove Archivable trait & migration file

* Change order of sending the events
2020-04-28 09:50:54 +10:00
David Bomba
aa690578e3
Implement Currency Conversion library. (#3643)
* Fixes for testS

* Fixes for migration

* Fixes for migratin

* Query performance improvements

* Check Data Script

* Currency Conversion API

* Implement currency conversion

* Currency Conversions
2020-04-19 20:29:58 +10:00
David Bomba
7454dfbb2f
Fixes for createinvoicepdf (#3639) 2020-04-17 20:13:19 +10:00
David Bomba
e5a230e0c7
Performance improvements (#3634)
* Adjustments for tests

* Implement handling of temp downloading resources

* Refactor paths

* Refactors for file paths

* Refactor paths

* Add in S3 adapter

* Refactor company Documment URL

* Refactor for entity pdf performance

* Refactors for invoice generation

* Enhancements for emails invoices

* Emails

* Fixes for client portal queries
2020-04-16 18:41:25 +10:00
David Bomba
74a6c4f2ee
Reminders (#3630)
* Performance improvements moving from str_replace to strtr

* Remove legacy docs

* Clean up credit transformer

* Working on invoice emails

* Clean up for invoice designs

* Tests for light and dark theme emails

* Working on reminder scheduling

* Reminder Job Class

* Fixes for github actions

* PHP CS

* Test for reminders

* Test for reminders
2020-04-15 10:30:52 +10:00
Benjamin Beganović
a785329965
Fix company_token issue & pass unset_user to repository (#3629) 2020-04-15 08:37:27 +10:00
David Bomba
2ad84d4b76
Refactor invoice emails (#3625) 2020-04-13 11:49:58 +10:00
David Bomba
ba55cc32e1
v5.0.4 (#3620)
* Version bump

* Refactors for refunds / credits

* Working on Company Ledger

* Company Ledger OpenAPI Documentation

* Version Bump

* Fixes for internal composer update
2020-04-11 21:19:05 +10:00
David Bomba
563d41c83a
Email Settings (#3615)
* Working on advanced email settings

* working on document storage

* Email Documents if they exist

* UBL invoices

* UBL Invoices

* Fixes for tests
2020-04-10 15:07:36 +10:00
David Bomba
05443d69ec
Implement CompanyToken and Subscriptions CRUD (#3609)
* Working on Tokens CRUD

* Fixes for company filters

* Working on Token CRUD

* Tests for tokens

* Fixes for OPENApi

* Subscriptions

* Subscriptions
2020-04-09 20:48:04 +10:00
David Bomba
2fd3229efd
Implementation of Invoice Reversal (#3602)
* Version bump 0.0.2

* code cleanup

* Working on reversing an invoice

* Working on reversing an invoice

* Working on refunding invoice

* Reversing invoices

* Test for invoice reversals

* Invoice Reversal
2020-04-08 20:48:31 +10:00
Benjamin Beganović
6a0ddd6c38
Migrate company_user with users (#3598) 2020-04-08 06:43:44 +10:00
David Bomba
8cffccb3bc
Fixes for composer 2 (#3593)
* Add privacy link to setup page

* Italics

* Tests for invoice actions

* Fixes for autoloading
2020-04-06 22:32:27 +10:00
David Bomba
6d7b7ca9a3
Invoice Deletion - Ledger (#3590)
* Fixes when implementing

* php_cs

* Clean up

* Clean up

* Working on adjusting ledger when an invoice is deleted
2020-04-04 21:32:42 +11:00
David Bomba
1fd7ecbbe6
Fixes for migration (#3577) 2020-04-02 08:26:39 +11:00
David Bomba
2bf05ba96d
Fixes for Migration (#3576)
* Fixes for permissions

* Fix casting of line items for migration
2020-04-02 08:18:17 +11:00
Benjamin Beganović
f9567e8227
Send e-mail when migration has completed (#3573)
- New completed.blade.php
- Apply php-cs-fixer on Import.php
2020-04-01 23:39:59 +11:00
David Bomba
eba0c19824
Fixes for Migration (#3572)
* Remove \Log::, fixes for tests, and fixes for migration

* Debugging migration

* Fixes for Migration
2020-04-01 19:54:22 +11:00
David Bomba
91cf1cc1f2
Debugging migrations (#3570)
* Remove \Log::, fixes for tests, and fixes for migration

* Debugging migration
2020-03-31 22:52:21 +11:00
David Bomba
7a13f688e7
Setup Workflow (#3565)
* Fixes for setup
2020-03-30 17:40:21 +11:00
David Bomba
8b0fe63eb5
Send Generic entity email. (#3560)
* Enable identifying a user who submits a report to sentry for tracking purposes

* Minor fix for setup page

* Fixes for Tests

* Fixes for tests

* Generic Entity Emailer

* Fixes for emailing a generic entity
2020-03-29 23:22:14 +11:00
David Bomba
6df62faa82
Fixes for Invoice Designs (#3559)
* fixes for tests

* Working on Invoice Designs

* Update phpunit.yml

* Update phpunit.yml

* Working on sending an individual email

* Update phpunit.yml

* Fixes for designs

* Update phpunit.yml

* Working on sending entity email - individual

* Fixes for account creation

* Remove Laravel Horizon

* remove logging
2020-03-28 22:34:04 +11:00
David Bomba
9cb7996a2e
Performance improvements for PDF rendering (#3556)
* Performance improvements for PDF generation

* CS Fixer

* Performance improvements for PDF generate

* Fixes for tests
2020-03-28 14:45:11 +11:00
David Bomba
6a7079b0be
Implement Github actions (#3547)
* Update phpunit.yml

* Update phpunit.yml

* Update .env.ci

* Update phpunit.yml

* Update .env.ci

* Update phpunit.yml

* Update phpunit.yml

* Update phpunit.yml

* Update phpunit.yml

* Update .env.ci

* Update phpunit.yml

* Update phpunit.yml

* Update phpunit.yml

* Update phpunit.yml

* Force /setup if system requirements are not met

* Update .env.ci

* Update phpunit.yml

* Minor changes for github actions"

* Fixes for github actions

* Fixes for github actions

* Fixes for github actions

* Fixes for github actions

* Fixes for github actions

* Fixes for github actions

* Fixes for github actions

* Fixes for github actions

* cs-fixer

* cs-fixer

* Fixes for github actions

* db ports github actions

* Refactor the template engine
2020-03-26 14:23:57 +11:00
David Bomba
24c9121b1b
Template Previews (#3527)
* Fixes for add / archiving / deleting users

* Working on templates

* Fixes for templating

* Fixes for templating

* Add referral code to account creation

* Fixes for development environment
2020-03-25 13:50:08 +11:00
David Bomba
90cb69f8a5
Performance improvements - PDF generation (#3521)
* Improve performance of PDF building

* Clean up

* Fixes for tests

* Minor fixes
2020-03-25 00:25:20 +11:00
David Bomba
cdc3ef12c2
Include Horizon (#3519)
* Fixes for white label

* Include Laravel Horizon

* Add Account ID to user table AND ensure a user cannot create an invoice across companies

* restart horison after an update

* Fixes for app setup

* Minor fixes

* Fixes for client routes

* Fixes for tests

* minor fixes
2020-03-24 20:15:30 +11:00
David Bomba
43e57d0117
Fixes for self-update (#3514)
* minor fix for payment notifications

* styleci

* Limit Self updating to self hosters only
:

* Fixes for designs

* Minor fixes for self-update
2020-03-21 16:37:30 +11:00
David Bomba
4c23d43138
Working on Setup workflow (#3509)
* Refactor designs to remove whitespace

* enable dummy data for templating

* Insert faker data into templates

* Fixes for user deletion

* Documentation on User controller:

* Working on app setup

* Files for app setup

* Working on Setup

* Final fixes for setup controller

* Fixes for setup

* Fixes for first install

* Minor fixes
2020-03-18 20:40:15 +11:00
Benjamin Beganović
64eed274e1
Fix broken 'force' migration: (#3489)
* Fix breaking 'force' migration:
- Uploaded migration file now has to be passed with abs path

* Cleanup
2020-03-13 07:38:22 +11:00
David Bomba
93056ea815
Fixes for preview controller (#3486)
* fixes for user model

* Remove stale css

* Working on previewing designs

* Fixes for design previews

* fixes for preview controller

* Fixes for setting company on login

* fixes for preview
2020-03-12 22:04:53 +11:00
David Bomba
dc8ecbeeed
Fixes for company_user (#3477)
* Minor fixes for user delete

* Working on notifications

* Refactor for notifications

* Fix for checking settings withe negative integers

* Set payment id to 0

* Move pdf download to client side routes

* fixes for company_user

* Fixes for company_user
2020-03-11 22:05:05 +11:00
David Bomba
b2033a54f4
Verify user notification (#3474) 2020-03-11 10:40:10 +11:00
Benjamin Beganović
1017a22bca
Import migration from the folder (#3471) 2020-03-11 08:10:27 +11:00
Benjamin Beganović
fbf9f39cc6
Remove 'documents' when company is deleted (#3462)
* Remove 'documents' when company is deleted

* Fix Codacy warnings
2020-03-10 07:05:23 +11:00
David Bomba
7d39969a3b
Preview Route (#3456)
* Remove backup column from schema

* Add slack webhooks to company user table

* Preview route

* remove json column from company gateway

* fixes for testS

* Fixes for typos
2020-03-09 20:38:15 +11:00
David Bomba
37f295d49e
Improve notification performance (#3452)
* Improve notification performance

* Cascade deletes

* Fixes for company deletes

* Fixes for formatting

* todos for company

* Set currency id on payment

* Minor fixes for payment controller
2020-03-08 16:59:06 +11:00
David Bomba
a8c15ef1c9
Version checking (#3451)
* Ensure NINJA_ENVIRONMENT variable is present  in .env file

* Implement version checking in app

* Remove password protection from check version route
2020-03-08 09:15:11 +11:00
David Bomba
5a7986c23b
Bug Fixes (#3450)
* Convert quote to invoice workflow

* minor fixes

* checks for createaccount

* Bug Fixes

* Bug fixes
2020-03-07 23:46:45 +11:00
David Bomba
d13ab48d86
Refactor Designs (#3449)
* Refactor custom invoice HTML generation

* remove table_styles() method from designs

* Refactor designs

* Clean up designs
2020-03-07 17:31:26 +11:00
David Bomba
7c00c68bf3
Create route for invoice/credit/quote PDF download (#3441) 2020-03-07 00:41:15 +11:00
David Bomba
2bc8064eeb
Fixes for setting entity defaults (#3440) 2020-03-06 23:18:32 +11:00
David Bomba
280271718b
Migration improvements: (#3428)
- Refactored exceptions
- Changed failed.blade.php
- Removed report() method from exceptions
- Added new force flag for MigrationController.php
2020-03-06 07:30:32 +11:00
David Bomba
7acc6ee300
Repeating header and footers on Invoice PDFs (#3424)
* remove jobs table

* Working on notifications

* Working on notifications

* Fixes for setting group level currency id on new client

* Working on repeating headers

* Use CSS to force headers and footers

* recurring headers and footers

* Preview PDF

* Working on PDF Preview
2020-03-05 18:14:57 +11:00
David Bomba
d14b21f471
Fixes for migration (#3418)
* Fix for setting a currency!

* Additional logic to ensure invites are only created for the client_contact -> client

* Move credit number generation after the save to ensure we do not fail on the credit creation because of a number race condition

* fixes for migration
2020-03-04 15:06:27 +11:00
Benjamin Beganović
40af77d324
(V2) Improve validation & error handling (#3414)
* wip - migration transfer

* (WIP) Response refactor:
- Catching exceptions at top level
- Tests refactor

* wip

* Wrappign migration validator:
- Migration dropped to queue
- New validator messages
- New exception messages

* Fixes for tests
2020-03-04 09:44:42 +11:00
David Bomba
1393179160
Multiple fixes and features (#3411)
* Performance improvements for seeding

* Differentiating between system notification and user notifications

* Remove hard coded webhook url

* Working on system and user notifications

* notifications

* Set the currency on client if blank

* Refactor for inserting invoice defaults

* Refactor Default Invoice/Quote/Credit objects

* working on credits

* Implement mark_sent for quotes and credits
2020-03-03 20:44:26 +11:00
David Bomba
f20b0f7720
Fixes for company tokens. (#3375)
* Testing Company Ledger

* Fixes for company ledger

* Fixes for company ledger

* Company ledger testS

* Fixes for user / client / contacts transformers

* Fixes for tests

* Fixes for tokens
2020-02-26 14:26:07 +11:00
Benjamin Beganović
786b54e57b
Fixes for ImportTest & StartMigration refactor (#3373) 2020-02-26 09:36:11 +11:00
David Bomba
62fc7edbae
Fixes for updating a product on invoice save (#3372) 2020-02-25 20:17:04 +11:00
Benjamin Beganović
8121a0166d
Importing migration data via HTTP (#3365)
* Accept migration over HTTP

* Comment wip tests
2020-02-25 08:15:07 +11:00
David Bomba
3d31f810c0
Set Invitations as a default include for invoices (#3362)
* Working on importing company gateways

* Fix for companyuser settings object

* Migrate client_gateway_tokens

* Working on Notificaitons

* Working on notifications

* Failsafe for user-company

* unlink files

* Set DB for jobs

* Always have a fallback for company_id

* Fixes for user model

* Formatting for MultiDB

* Working on Company Ledger Tests

* Fixes for contact request

* Set Invitations as a default include for invoices
2020-02-24 21:15:30 +11:00
Benjamin Beganović
c97d664d31
Fixes for ImportTest (#3361)
* Fixes for tests (wip)

* Fix for tests

* Remove logging
2020-02-22 17:36:53 +11:00
David Bomba
c1d3fd12a8
Import (#3360)
* Fixes for test data

* Fixes for tests

* Remove legacy vue components

* Add routing number to client gateway tokens

* working on important documents and company gateways

* Import fixes
2020-02-22 13:25:49 +11:00
David Bomba
4eebaf7eb4
Migrate to services (#3358)
* Working on ledger

* Migrate to services

* Refactor to services

* Migrate to services

* Jobs cleanup
2020-02-21 08:05:01 +11:00
David Bomba
9e9cd37b87
Modifications to Designs (#3353)
* Working on Quotes

* Naming refactor for Quotes

* Quote Actions

* Quote Pdfs

* Quote PDFs

* Refunds in Stripe

* Fixes tests

* Company Ledger work
2020-02-20 07:44:12 +11:00
Benjamin Beganović
96a250edac
Importing documents (#3348)
* Importing documents

* Add polymorphic types

* Update documentable namespace & tests
2020-02-19 07:53:12 +11:00
David Bomba
1edfee654f
Working on Invoice Designs (#3346) 2020-02-18 07:07:32 +11:00
David Bomba
f57339f185
Fixes and Refactors for Invoice Emails. (#3339)
* Working on emailing invoices

* Working on emailing and displaying email

* Working on emailing and displaying email

* Email invoices

* Fixes for html emails

* Ensure valid client prior to store

* Ensure client exists when storing an entity

* Update variable name send -> send_email for client_contacts

* Mailable download files

* Extend timeouts of password protected routes when a protected route is hit

* Add default portal design to company settings

* Minor fixes

* Fixes for Tests

* Fixes for invoicing emails

* Refactors for InvoiceEmail

* Implement abstractservice

* Refactors for services

* Refactors for emails

* Fixes for Invoice Emails
2020-02-17 20:37:44 +11:00
David Bomba
1e35c90ee6
Fixes for Tests, MultiDB (#3334)
* refactor send_invoice to generic -> send

* Code cleanup

* Fixes for tests and multidb
2020-02-15 23:27:24 +11:00
David Bomba
1e0111d519
Minor refactors for emails (#3333) 2020-02-15 22:49:31 +11:00
David Bomba
a79c7bf60d
Code Cleanup
* Working on emailing invoices

* Working on emailing and displaying email

* Working on emailing and displaying email

* Email invoices

* Fixes for html emails

* Ensure valid client prior to store

* Ensure client exists when storing an entity

* refactor for emails

* Design Transformer

* Include designs in first_load response

* Code cleanup
2020-02-15 20:06:30 +11:00
michael-hampton
f7650d0692
Ft email (#3326)
* Emails

* change to user service

* refactor emails

* refactor emails

* refactor emails

* refactor emails

* emails

* emails

* emails

* emails

* emails

* emails

* emails

* emails

* emails

* emails

* Update EmailPayment.php

* Update SendEmail.php

* Update SendEmail.php

* Update SendEmail.php

* Update and rename BuildEmail.php to EmailBuilder.php

* Create InvoiceEmail

* Create QuoteEmail.php

* Rename InvoiceEmail to InvoiceEmail.php

* Create PaymentEmail.php

* Update SendEmail.php

* Update SendEmail.php

* Update SendEmail.php

* Update SendEmail.php

* Update InvoiceEmail.php

* Update EmailInvoice.php

* Update SendEmail.php

* Update TemplateEmail.php

* Update EmailBuilder.php

* Update InvoiceEmail.php

* Update QuoteEmail.php

* Update PaymentEmail.php

* Update InvoiceEmail.php

* Update QuoteEmail.php

* Update QuoteInvitation.php

* Update EmailQuote.php

* Update SendEmail.php

* Update SendEmail.php

* Update PaymentService.php

* Update PaymentEmail.php

* Update PaymentEmail.php

* Update PaymentEmail.php

* Update EmailBuilder.php

* Update PaymentEmail.php

* Update EmailPayment.php

* Update SendEmail.php

* Update InvoiceService.php

* Update SendEmail.php

* Update PaymentService.php

* Update SendEmail.php

* Update QuoteService.php

* Update EmailPayment.php

Co-authored-by: David Bomba <turbo124@gmail.com>
2020-02-15 20:01:15 +11:00
David Bomba
4a3d37a42b
Flutter Client ! (#3325)
* Working on emailing invoices

* Working on emailing and displaying email

* Working on emailing and displaying email

* Email invoices

* Fixes for html emails

* Restart queue after self-update

* Email Invoices

* Push Flutter Web Clientgit statusgit status!
2020-02-13 22:27:42 +11:00
michael-hampton
1d9c9d760f
Update EmailQuote.php (#3323) 2020-02-13 21:48:25 +11:00
michael-hampton
2da1f24868
Ft email (#3316)
* Emails

* change to user service
2020-02-12 20:21:06 +11:00
David Bomba
162580bcd3
Fixes for ClientContact CRUD (#3317)
* Fixes for downloading invoice PDF

* Fixes for client contact CRUD
2020-02-12 20:18:56 +11:00
David Bomba
be3ade65f1
Download Invoice by Invitation (#3312)
* style cs

* Style CS

* Throw Record not found exception if invalid primary key hash is provided

* Improve error handling

* Create abstract implementation for designs

* working on custom designs

* Add Design Model

* invoice services

* Download Invoice by Invitation
2020-02-12 11:41:17 +11:00
David Bomba
9a19f7fd4c Fixes for invoice update and invoice designs (#3302)
* BaseController cleanup

* Working on invoice designs

* Working on invoice designs

* working on invoice designs

* working on invoice designs

* invoice designs

* Working on Invoice Designs

* Fixes for user settings object

* Working on invoice designs

* Fixes for encoded user settings

* Working on contact localized invoice pdfs

* working on invoice designs

* Fix for invoice update 500 error
2020-02-10 20:53:02 +11:00
David Bomba
797c3fb3f6
Fixes for refunds (#3288)
* Working on invoice designs

* Fix unusual form request issue in tests vs production

* Fixes for form requests

* Fixes for refunds
2020-02-06 08:54:20 +11:00
David Bomba
11960e25e7
Fixes for refunds (#3285)
* Working self-updater package

* Fixes for travis

* Working on invoice designs

* Working on invoice builder

* Tests for invoice design

* Working on invoice designs

* Minor fixes

* Working on Invoice Design Engine

* Working on invoice designs

* Fixes for refunds
2020-02-05 21:28:56 +11:00
David Bomba
3ec996ee5d
Invoice Designer (#3283)
* Working self-updater package

* Fixes for travis

* Working on invoice designs

* Working on invoice builder

* Tests for invoice design

* Working on invoice designs

* Minor fixes

* Minor fixes for randomdataseeder
2020-02-05 15:06:03 +11:00
David Bomba
cda534e996
Explicitly call the service() method, rather than obfuscate. (#3281)
* Include fix as describe by @michael-hampton here #3280

* Refactor createinvitations away from jobs

* Clean up

* Fixes for service() refactoring

* Fixes for services refactor
2020-02-04 18:51:44 +11:00
David Bomba
c25de936ed
Refactor - moving away from jobs. (#3279)
* Implement Services

* implement service pattern

* Service patterns

* Refactoring invoice paid

* refactoring invoice

* Refactor jobs

* Refactor - remove jobs

* Refactor jobs

* Refactoring jobs

* Refactoring away from jobs

* Refactoring jobs

* Add Credits to test data
2020-02-03 21:33:07 +11:00
David Bomba
79c57aa8da
Fixes for payments (#3276)
* More tests for refunds

* Tests for refunds

* Improve test speeds

* Fixes for tests

* Adjust the way we update products

* Adjustments for payments

* Fixes for payments
2020-02-02 07:45:23 +11:00
Benjamin Beganović
0f661495db
Create 'Credits' module (#3263)
* Create 'Credits' module

* Various fixes on Credit module

* Fix MarkCreditPaid factory
2020-01-30 12:27:22 +11:00
Benjamin Beganović
61b3385102
Various tests fixes & client contacts importing (#3259)
* Fix testClientNotArchived() returns null

* Fix testClientRestored() test

* Fix risky/incomplete tests

* Importing client contacts
2020-01-29 13:43:38 +11:00
David Bomba
45cc67075d
Include contacts in sample migration files. (#3260)
* add types to transformers

* minor fixes for test data creator

* Working on refunds

* Update migration files to include client contacts

* Working on refunds

* Working on refunds

* Working on refunds

* Refund Tests

* Working on refund tests
2020-01-29 13:03:47 +11:00
Benjamin Beganović
401d859f7a
Refactor file uploads to support multiple disks (#3257) 2020-01-29 11:12:52 +11:00
Benjamin Beganović
01c47d7c5d (Sync) beganovich:v2 to invoiceninja:v2 (#3254)
* Add more checks to invoice test

* Uploading migration file & test

* Comment redundant tests

* Improve tests with smaller sample files. (#3250)

* Reduce migration file size to improve test velocity

* minor fixes

* remove xhprof ext

* Tests for templates

* Remove commented tests

* Fix invoices testing & importing

* Sending e-mail when migration fails

* Uploading & storing the migration file
- Added Swagger notation
- Added MigrationTest.php method

Co-authored-by: David Bomba <turbo124@gmail.com>
2020-01-28 07:56:48 +11:00
Benjamin Beganović
11cc40d23a Migrate commits from 2-migration-with-json into v2 (#3241)
* Scaffold test case

* Import.php tests:
- Basic test scaffold
- Test if exception is thrown when unknown resource
- Company update test

* Migration importer & exception classes

* Company migration test
- Added 3rd parameter for accepting custom resources
- Wip tax_rates migration

* Tax rate migration

* Tax rate update
- Added company_id & user_id property modifiers

* Users migration

* Save IDs for users importing

* Add 'transformIds' method

* Importing clients
- An exception for resource not migration
- Dependency logic
- Removing id on insert

* Exception for unresolved dependency

* Import clients

* Method for inspecting user_id

* Importing invoices

* Importing quotes

* Fix tests & wrap with try-catch

* Fix tax_rates user_id transform

* Working on migration

* Tests for migration

* fixes for test

* Tests for Import.php
- Added ext-json to composer.json

* Tests for Import.php
- Added ext-json to composer.json

* Change migration exceptions to MigrationValidatorFailed

* Fixes for tests and counters

* Unzipping the migration archive
- Changed .gitignore to ignore all local migrations

* Comparing local data with inserted

* Ignore verification - wip

* Fix formatting for api.php

* Uploading file test (wip)

* Fix typo

Co-authored-by: David Bomba <turbo124@gmail.com>
2020-01-24 07:35:00 +11:00
David Bomba
6167907a8e
Fix invoice payable rules (#3212) 2020-01-15 19:43:40 +10:00
David Bomba
0878decf18
Implement payment rules at application edge (FormRequest) (#3202)
* Ensure payments, invoice and credit amount balance in the validator prior to saving

* additional payment validation rules and tests for processing payments

* Factories for credits

* Tests for payments

* Working on updating a payment

* Working on updating a payment

* fixes for updating a payment

* Working on Payment Tests

* More tests for payments, formrequests

* remove product_key as required from products
2020-01-10 07:15:10 +11:00
David Bomba
a573558bdd
Fix for missing relationship (#3199) 2020-01-07 20:35:55 +11:00
David Bomba
957ac9f5d8
Fix for password protected authorization (#3198)
* Remove unnecessary save() on invoice

* Update copyright

* Working on Credit Repository

* Implement credits as a paymentable entity

* Add credit_id to transformer

* fix rules for update payment

* Fix random deleted_at keys in transformers

* Fix for password_protect check
2020-01-07 11:13:47 +11:00
David Bomba
ad06de25f5
Fixes for Payments (#3194)
* Set payment number on completed payment

* Fix for paymentables not returning

* Do not set invoice status to paid if only a partial amount of the invoice has been paid
2020-01-04 13:27:51 +11:00
David Bomba
f712b789ca
Fixes for tests (#3184)
* fix typo

* php-cs traits

* CS fixer pass

* Password protect User routes

* Implement checks to prevent editing a deleted record

* Clean up payment flows

* Fixes for tests
2019-12-31 08:59:12 +11:00
David Bomba
9790a841c4
Performance improvements. (#3180)
* Fixes for missing company object in events

* Cleanup client balancing code

* Fixes for client balance

* Fixes for missing company variable

* Fix activity transformer to prevent multiple DB calls
2019-12-30 09:06:42 +11:00
David Bomba
ff7b62de51
Fixes for missing company object in job classes. (#3179)
* Fixes for missing company object in events

* Cleanup client balancing code

* Fixes for client balance

* Fixes for missing company variable
2019-12-29 17:28:57 +11:00
David Bomba
e406020ee5
Bug Fixes (#3177)
* Implement first_load query parameter which checks client size and returns an truncated response if client count is greater than 1000

* Fixes for listeners
2019-12-28 06:30:22 +11:00
David Bomba
54fc78a88b
Refactor jobs to be MultiDB aware (#3174) 2019-12-27 11:28:36 +11:00
David Bomba
d797799196
Fixes for V2 (#3172)
* Optimizations for large queries

* Fixes for client activities

* Implement UpdateOrCreate for products
2019-12-27 09:33:07 +11:00
David Bomba
4c2cbb2dee
Bug fixes for middleware/ (#3167)
* Fix formatting and variable insertion for email templates

* Refactoring for invoice emails

* Fixes for midddleware
2019-12-25 08:55:29 +11:00
David Bomba
5e7512071f
Implement EmailInvoice Job (#3166)
* Working on quote counter

* Add tests for quote number + shared counter tests

* Create invoice job

* Add last_sent_date to invoice/quote table, remove type_id

* Implement EmailInvoice Job
2019-12-22 21:28:41 +11:00
David Bomba
556b2ab1c9
Fixes for Storing Quotes (#3159)
* Return blank object for group settings

* Implement Quote Store

* Clean up Logging
2019-12-18 09:40:15 +11:00
Benjamin Beganović
da49880733 Massively creating resources (#3152)
* Bulk storing request & accesing policy service

* Transform hardcoded action to self-property

* Testing, support for multiple resources

* Uncomment, response(200)

* Change authorize to isAdmin() property
2019-12-17 21:58:23 +11:00
David Bomba
f6f5b89af9
Return company user settings as object (#3156)
* Conditional in test

* Add additional fields to payments

* Additional fields for payments table

* Return company user as object
2019-12-17 21:50:45 +11:00
David Bomba
9d8e4fdb06
Change companies table property domain to subdomain (#3141) 2019-12-11 07:53:41 +11:00
Benjamin Beganović
259a28099f Various fixes (#3136) 2019-12-07 22:33:49 +11:00
David Bomba
75df82a71c
Fixes (#3116)
* Fixes for OpenAPI Documentation + fix support for docs for PHP 7.4

* User update tests

* Add total_taxes to invoice table, implement addition create-test-data fields for item and invoice level taxes
2019-12-04 12:06:14 +11:00
David Bomba
25514b43cf
Allow fine grained payments (#3110)
* Allow payment amounts to be partial per invoice paid

* edge case tests for payments

* Allow per invoice payment amounts and allow direct payments which simply credit a clients credit_balance

* Fixes
2019-12-01 22:23:24 +11:00
David Bomba
9702dc741c
Refactor for invoices/quotes/credit transformers (#3100)
* Refactor Invoices / Quotes / Credits to use the same transformer

* Add contact_key to factories
2019-11-27 21:27:24 +11:00
David Bomba
0606973035
Fixes for Token Name (#3095)
* Fix for CORs error where file download were being prevented by headers

* Fixes for CORs and File downloads

* give contextual error messages for invalid route actions

* Clean up LoginController for OAuth Testing

* Quote Actions

* Invoice and Quote Actions

* Fixes for Token Name

* Change test data seeder to create separate small,medium,large companies
2019-11-26 19:14:01 +11:00
David Bomba
808c6deb88
Workaround for recursion issue on login company_user -> user -> company_user (#3091) 2019-11-24 19:19:53 +11:00
David Bomba
69efd4d574
Enhancements to API (#3088)
* working on email throttling

* Fixes for invitaiton links

* pass custom fields as object

* Add user agent to company token

* Update company token transformer

* Remove prefix setting from CompanySettings

* Implement user agent on company token & provide better error handling for undefined relationships includes

* Fix bulk actions

* Working on updating/creating a company user

* Fixes for tests
2019-11-21 19:38:57 +11:00
David Bomba
f59585dd62
Fixes for tests (#3082)
* Update client paid to date job:

* Backup Invoice HTML when invoice is marked as sent and paid

* Store HTML of invoice when invoice was paid

* Fix foreign keys in db schema

* V2 Endpoints for Company Migrations

* Fixes for tests
2019-11-20 16:41:49 +11:00
David Bomba
6d225b7fe7
Fixes for payments (#3081)
* Bump client contacts in test data

* Only allow a payment to be deleted once

* Update client balance and paid to date on payment

* Clean up
2019-11-20 08:06:48 +11:00
David Bomba
ff17e3eb67
Payment deletes (#3079)
* Add amount to paymentable tables to enable reversing payments gracefully

* Create Test Data artisan comannd

* Delete Payments + Fixes for company settings persistence
2019-11-19 21:23:56 +11:00
David Bomba
fe5a97e174
Activity API fixes + Payments API (#3076)
* Fixes for Store Payment Validation

* Tests for Payments

* Use custom validator to ensure payments are made ONLY to payable invoices

* Working on custom payment validators

* Update Client balance

* fixes for client balance

* Fixes for activity API
2019-11-18 21:46:01 +11:00
David Bomba
81c481c071
Fixes for RandomDataSeeder (#3073)
* Provide failsafe creation of invoice invitations

* URL Links for invitations

* open up route for invitations

* Set DB by Invite

* Set DB By invitation Key

* Tests for setting DB based on user email address

* Middleware for setting db by email address

* fixes for tets

* fixes for tests

* Tests for bulk actions

* Payments API

* Fixes for tests
2019-11-16 14:12:29 +11:00
David Bomba
e1fa1186d1
CORS implementation (#3065)
* fix regression in company name

* HasOneThrough for company user

* Validation rules for contact email addresses

* Force a blank contact if no contacts passed in client
2019-11-13 22:32:53 +11:00
David Bomba
0354b58f82
Remove CORS from middleware (#3064)
* Remove headers

* Unique emails per client

* fixes for company name

* remove cors from middleware
2019-11-13 17:18:24 +11:00
David Bomba
384a3b4603
Fixes for transforming and saving company settings. (#3058)
* Cleanup for settings remove from entities

* Fixes for saving and transforming company settings
2019-11-13 08:26:40 +11:00
David Bomba
37a826374b
Remove settings from invoice table (#3051)
* Implement client/group/company level counters clientCounter, groupCounter and counter

* Implement functionalityfor customising the timing of invoice_number creation

* Add Jobs

* adjustments

* clean line items at the request layer

* Clean line items at the request layer

* minor formatting for notification

* Schema Fixes

* schema changes, cast country_id to stirng

* Fixes for tests

* force line item ids to string

* Map company gateway fees and limits

* Schema changes

* Remove id from invoice item stdClass

* Remove settings object from invoice table
2019-11-10 23:06:30 +11:00
David Bomba
a78b6aaacd
Set casts on Invoice Line Items (#3049)
* Implement client/group/company level counters clientCounter, groupCounter and counter

* Implement functionalityfor customising the timing of invoice_number creation

* Add Jobs

* adjustments

* clean line items at the request layer

* Clean line items at the request layer
2019-11-08 11:38:22 +11:00
David Bomba
3405b91c64
Bulk download PDF, Client Portal formatting (#3046)
* Update OpenAPI for TemplateController

* Add bulk invoice download functionality

* Working on Client portal

* Move selective queries to cache instead of DB

* Fix formatting in Payments table, implement cache for languages, resolve route model for clientcontacts and users
2019-11-06 09:52:57 +11:00
David Bomba
b7d3f4e7aa
Client Portal conditionals (#3039)
* Fixes for tests

* add additional fields for company settings

* fixes for travis

* update company settings schema

* Disable client portal

* Client Portal middleware

* Working on client portal

* hide portal

* Implement notification channgels for User and ClientContact models

* Push notifications onto queue

* Force authentication if client portal is password protected
2019-11-04 11:22:59 +11:00
David Bomba
5fafbac36f
Tax Rates (#3026)
* Insert generic for client country if not set

* Invoice fixes

* fixes

* Schema changes

* Refactor Schema and implement fixes for testS

* Use Dispatcher for system logs

* Add TaxRateController

* Update OpenAPI definitions for Tax Rates
2019-10-29 13:55:26 +11:00
David Bomba
02fadc8272
Exclusive tax rate calculations (#3005)
* clean up invoice calculations  - exclusive taxes

* Fixes for tests

* Clean up and fixes for tests
2019-10-20 17:23:35 +11:00
David Bomba
778b655aa3
Clean up todos (#2979) 2019-10-11 13:20:04 +11:00
David Bomba
9cc31195f7 fixes for storing invoice 2019-10-11 09:11:36 +11:00
David Bomba
534b515849 Abstract settings save to separate trait 2019-10-09 10:53:33 +11:00
David Bomba
b8515e26b0 Upload company logo to client settings 2019-10-07 22:05:06 +11:00
David Bomba
d05e7fb845 Force all avatars to be PNG 2019-10-05 13:55:25 +10:00
David Bomba
70fe64ed96 Fixes for tests 2019-10-05 10:11:04 +10:00
David Bomba
1f1ffd3240 transform datetimes to timestamps 2019-10-04 21:54:03 +10:00
David Bomba
a83099dad8 Refactor payment events 2019-10-04 16:22:22 +10:00
David Bomba
87d61262ca Move atomic operations to Jobs instead of listeners 2019-10-03 22:02:31 +10:00
David Bomba
724cccacfc Fixes for tests 2019-10-03 21:50:50 +10:00
David Bomba
a57de08178 Working on partial invoice payments 2019-10-02 08:44:13 +10:00
David Bomba
78ae24df46 Balances with company ledger 2019-10-01 19:59:32 +10:00
David Bomba
f2a8e5f4df fixes for tests 2019-10-01 15:54:21 +10:00
David Bomba
4bccdae01e using events to fire updates for invoices and company ledger 2019-10-01 14:27:04 +10:00
David Bomba
487f93933b Laravel V6 2019-09-26 23:00:51 +10:00
David Bomba
7382ff0b84 fixes for datetime formats 2019-09-22 20:25:05 +10:00
David Bomba
4fd41dbe1d Client payment flow 2019-09-20 15:13:58 +10:00
David Bomba
86a099587d Refactor for settings to force types 2019-09-19 15:50:05 +10:00
David Bomba
a9bf593708 model changes 2019-08-27 11:21:25 +10:00
David Bomba
4163ce77a6 fixes for user creation 2019-08-25 15:54:33 +10:00
David Bomba
dbb2256819 fixes for user creation 2019-08-25 15:53:16 +10:00
David Bomba
7c35859a6e Finished Contact Details Page 2019-08-13 09:56:46 +10:00
David Bomba
60e0e84980 Fixes for tests - base PHP version now 7.3 2019-07-09 10:01:29 +10:00
David Bomba
7bc3f94162 tests for php 7.3 2019-07-08 15:54:46 +10:00
David Bomba
65afb4242b Finished implementing add additional company to account 2019-06-26 09:44:08 +10:00
David Bomba
518d5f12e7 working on testing signup routes again 2019-06-24 21:05:47 +10:00
David Bomba
67fa34fe82 Implement forced includes to allow forcing additional objects in the json response 2019-06-24 10:13:53 +10:00
David Bomba
42e7369c08 Fixes for tests 2019-06-17 09:58:33 +10:00
David Bomba
e458ec6331 Update user table on access 2019-06-04 07:46:46 +10:00
David Bomba
d057903229 Logging 2019-06-03 15:31:20 +10:00
David Bomba
c2791815a7 Tests for File Uploading 2019-06-03 10:28:12 +10:00
David Bomba
6c80df9835 remove invoice_email_list from settings 2019-05-31 11:10:05 +10:00
David Bomba
32ca69bc52 Working on invitationsg 2019-05-29 21:15:42 +10:00
David Bomba
866111cbbb Working on Invoice Invitations 2019-05-29 14:33:53 +10:00
David Bomba
e898494b72 Fixes for new implementation of GeneratesCounter 2019-05-29 10:44:33 +10:00
David Bomba
494504a2d0 Working on tests for new GeneratesCounterTest 2019-05-27 20:48:52 +10:00
David Bomba
9f56e5f99e Bug Fixes 2019-05-24 08:37:47 +10:00
David Bomba
474d99505e working on sending recurring invoices 2019-05-23 16:15:06 +10:00
David Bomba
2549da4e6f Working on Sending Recurring invoices 2019-05-23 15:08:31 +10:00
David Bomba
289556e673 refactor job names 2019-05-16 16:00:27 +10:00
David Bomba
543795bc74 Company Ledger Tests 2019-05-16 15:36:53 +10:00
David Bomba
8b3432f350 Apply payments and adjust ledgeR 2019-05-16 09:40:53 +10:00
David Bomba
c236925e6d Fix Invoice Create routes 2019-05-16 08:26:21 +10:00
David Bomba
b365d8dc6e Wire up Activity Listeners for update/create invoice 2019-05-15 15:19:18 +10:00
David Bomba
5467fc64b1 Invoice activity listeners 2019-05-15 15:03:18 +10:00
David Bomba
139008ed14 Working on Company ledger 2019-05-15 14:47:07 +10:00
David Bomba
a2a0e6738e Working on adding transactions to the company ledger 2019-05-14 20:27:47 +10:00
David Bomba
924d5b5f7b Working on tests for Mark as Paid (invoice) 2019-05-14 14:05:05 +10:00
David Bomba
ad76169b6c Working on invoice payments 2019-05-13 16:18:46 +10:00
David Bomba
9b86780fa3 Update copyright 2019-05-11 13:32:07 +10:00
David Bomba
3fde744d77 Working on client saves 2019-05-10 16:08:33 +10:00
David Bomba
4cae3fdcfb Working on Invoice and Payment Jobs 2019-05-10 07:50:21 +10:00
David Bomba
98d1480450 Store Invoice Job 2019-05-09 15:29:31 +10:00
David Bomba
cc4032ef3a prototype document upload class 2019-04-28 22:23:22 +10:00
David Bomba
897794dd66 Upload Files 2019-04-28 15:46:45 +10:00
David Bomba
49427b1acb Tests for factories 2019-04-26 20:51:02 +10:00
David Bomba
b1e264e5e4 Remove unused Job 2019-04-23 16:20:18 +10:00
David Bomba
89d42bcab8 Create model observers 2019-04-19 19:09:55 +10:00
David Bomba
f82aaefd4c Working on API login 2019-04-19 11:59:07 +10:00
David Bomba
ac382fe3e7 Refactor for Signup via API 2019-04-18 21:57:22 +10:00
David Bomba
8ad045ecc4 fixes for tests 2019-04-18 17:24:53 +10:00
David Bomba
f03da9d02d Wired Up Account Confirmation 2019-04-18 15:01:40 +10:00
David Bomba
2b24753813 Working on Invoice Tests, refactoring Settings integration 2019-04-17 16:20:32 +10:00
David Bomba
7d86c8306a Clean up for tests 2019-03-28 20:05:13 +11:00
David Bomba
caf653ed69 Force DB to be set only on company table 2019-03-28 09:21:28 +11:00
David Bomba
e8da725aa1 testing api 2019-03-27 08:17:28 +11:00
David Bomba
ea5f045509 Setting up for tests 2019-03-26 15:46:08 +11:00
David Bomba
0d508d67f1
Client Settings (#2711)
* Fixes for travis

* Additional settings variables at the company and client level

* Implement accessor for client settings

* Currency symbol or code setter

* Implement custom JS number and currency formatter

* Implement VueX state management for client settings

* Move settings logic into its own class

* Working on client settings

* client settings

* Move Client Settings helper into PHP

* Move translation helper into its own class

* Working on Client Settings

* fixes for client settings

* Client setting defaults

* fixes for .env

* Fixes for Travis
2019-03-03 08:44:08 +11:00
David Bomba
7b5028820d
Fixes for travis (#2669) 2019-02-17 22:07:58 +11:00
David Bomba
64d3ca0474 Added docs 2019-01-27 08:24:16 +11:00
David Bomba
e3fc50ebdb Working on Show Client 2019-01-26 20:34:38 +11:00
David Bomba
cf1e65f1c0
ctrans() translator helper (#2621)
* Refactor  pivot table accessors

* Add select2 for client - country selector

* Fixes for client contact update

* implement ctrans() function across application

* Increase custom fields to 4 across the application

* Refactor: remove repos calling other repos, implement 4 custom values across application

* include querying the custom values in the client list

* Fix null custom value labels

* Scaffold for client - show view

* Working on Client Show
2019-01-25 21:47:23 +11:00
David Bomba
cc53d08b4d
Bulk Actions (#2606)
* Wired up Bulk Archive / Delete / Restore button with reactivity on checkbox actions

* Working on POSTing bulk actions

* Working on Filtering by status

* Add Action Entity

* Implement Vuex for state management

* Implement Vuex storage & list view bulk actions

* Clean up console logs

* Configure entity list views server side
2019-01-19 21:35:21 +11:00
David Bomba
77969243fa
Revert "Implement Bulk Actions (#2605)" (#2607)
This reverts commit b635f3b32e.
2019-01-19 21:34:58 +11:00
David Bomba
b635f3b32e
Implement Bulk Actions (#2605)
* Wired up Bulk Archive / Delete / Restore button with reactivity on checkbox actions

* Working on POSTing bulk actions

* Working on Filtering by status

* Add Action Entity

* Implement Vuex for state management

* Implement Vuex storage & list view bulk actions

* Clean up console logs
2019-01-19 17:21:34 +11:00
David Bomba
c72e1f0139
Client Creation (#2533)
* Working on Oauth

* splitting out JS files

* Working on oAuth

*  working on oAuth

* minor fixes

* create client

* create client

* create client

* Working on adding a client
2018-12-02 21:42:06 +11:00
David Bomba
4abe61f493
Fix for tests, set return types (#2524)
* View composers

* Saving client and contacts

*  saving client and contacts

* update client job

* unique emails

* fix for tests
2018-11-27 18:24:26 +11:00
David Bomba
348890e8fa
Save Client / Contacts (#2523)
* View composers

* Saving client and contacts

*  saving client and contacts

* update client job

* unique emails
2018-11-27 17:59:16 +11:00
David Bomba
3b0cda1502
Set default company on account creation (#2487)
* Fixes for tests

* fixes for permissions

* Set default company on account creation

* Ensure default company ID is registered in session variables

* Implement a generic resolver to harvest an entity from encoded value

* Laravel Telescope
2018-11-03 12:01:40 +11:00
David Bomba
c6f70c2832
fixes for tests (#2485) 2018-11-02 22:57:59 +11:00
David Bomba
d430600e1e
Datatables, Base Model, Base Presenter (#2484)
* Fixes for datatables

* Implement a BaseModel

* Working on reusable header data model

* Working on adding session variables

* Clean up header data

* Random Data Seeder

* working on searching datatables across relationships.

* Working on transforming primary keys between client and server facinglogic

* Updated assets
2018-11-02 21:54:46 +11:00
David Bomba
dde1cd6cfb
Confirmation Emails, Datatables (#2473)
* Fixes for MakesHash trait

* Client List DataTables

* Data table dependencies

* Confirmation URLs

* Wire up firing events for notification emails
2018-10-29 14:16:17 +11:00
David Bomba
849f6e5439
Fixes for Tests, implement MakeHash trait (#2469)
* Fixes for Feature and browser tests

* Change .env.example variable names, implement hash encoding of db numbers for URIs
2018-10-26 15:53:29 +11:00
David Bomba
dac1aa88d5
Tests, Multi-DB support for incoming URLs (#2466)
* Tests for authentication

* Add db field to company table (required if we are doing jobs without an auth()->user() )

* Add Laravel Dusk for browser testing, add ability to set DB by incoming URL Hash
2018-10-24 21:24:09 +11:00
David Bomba
64041fb3cb
Refactor signup flow (#2465) 2018-10-24 14:50:15 +11:00
David Bomba
e4f46c2a4e
Presenters, skinned views, model refactoring (#2464)
* Default database connection - set defaults for engine and strict

* Working on tests for refactored model

* Fixes for tests, use polymorphic relationships for Invitations

* skin the password reset pages
2018-10-22 23:04:37 +11:00