1
0
mirror of https://github.com/invoiceninja/invoiceninja.git synced 2024-11-15 23:52:33 +01:00
Commit Graph

892 Commits

Author SHA1 Message Date
David Bomba
bae82b56c1 Add license 2020-09-14 21:11:46 +10:00
David Bomba
396b96cd34 fixes for tests 2020-09-14 12:57:18 +10:00
David Bomba
9c7dc24bd2 Recurring Dates 2020-09-13 20:20:11 +10:00
David Bomba
3083ab6237 Set unique on Group Settings Name 2020-09-08 20:44:32 +10:00
Benjamin Beganović
0bf39c739d
Merge branch 'v2' into v2-fix-setup-issues 2020-09-07 00:15:45 +02: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ć
7a5027f1b4 Enable sandboxing with PDFs & fix setup page issues 2020-09-06 04:23:04 +02:00
David Bomba
08de7be767 Fixes for tesats 2020-09-05 08:31:24 +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
Benjamin Beganović
4b6c2bff4c Added footer to designs 2020-09-04 10:18:58 +02:00
Benjamin Beganović
50c37a8719 Update logic to support only one dynamic design class:
- New Design.php class that will act as master template
- PdfMaker->design() now accepts design object instead of string
- PdfMaker: Skip elements if no id|tag provided
- PdfMaker: 'content' property is now optional
- config/ninja.php now contains base_path for templates
- Refactored tests to be :green: ✔
- Removed PdfMakerDesignsTest since content is same for each template now
2020-09-04 10:18:41 +02:00
David Bomba
6c8e106959 cleaning up logging in tests 2020-09-03 21:01:04 +10:00
David Bomba
bb4aac1aeb
Merge pull request #4025 from turbo124/v2
Gateway fees implementation
2020-08-31 17:58:43 +10:00
David Bomba
93a886db08 fixes for tests 2020-08-31 17:51:33 +10:00
David Bomba
217d3be2cb Fixes for tests 2020-08-31 17:48:30 +10:00
David Bomba
1bd3deca4f Invoice payments with gateway fees 2020-08-31 14:27:47 +10:00
David Bomba
1bc71fb5d8 Working on gateway fees 2020-08-30 08:00:57 +10:00
David Bomba
6dea2fe7d2 Add test mode flag to company gateways 2020-08-29 22:16:23 +10:00
Benjamin Beganović
d508d9b8f2
Merge branch 'v2' into v2-pdfmaker-design-improvements 2020-08-28 08:17:46 +02:00
Benjamin Beganović
af7995815c Rename all_page_* to all_pages_* for dynamic header/footer 2020-08-27 08:47:51 +02:00
Benjamin Beganović
c893a547ef Fixes for tests 2020-08-27 08:41:38 +02:00
Benjamin Beganović
edbadabab4 Support for separate variable: all_page_header && all_page_footer 2020-08-27 08:39:14 +02:00
Benjamin Beganović
e965aded06 engine for repeating headers 2020-08-26 09:02:38 +02:00
David Bomba
d57f0f9236 Refactoring client payments 2020-08-26 10:53:11 +10:00
David Bomba
79e0fa56e2 Convert currency string to float 2020-08-26 10:47:50 +10:00
David Bomba
37c5a7adb5 Test for gateway fees appending to invoice 2020-08-26 08:10:49 +10:00
Benjamin Beganović
234beee61b Enable injecting print CSS into document 2020-08-25 10:51:49 +02:00
David Bomba
4c3f466d58 Tests for system log routes 2020-08-24 20:28:47 +10:00
Benjamin Beganović
13e70e24d5 wip 2020-08-21 16:47:17 +02: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
Benjamin Beganović
ba41e22b3b Make tests for PdfMaker green 2020-08-21 11:12:42 +02:00
David Bomba
4a14206e84 Fixes for tests" 2020-08-19 11:49:33 +10:00
David Bomba
05ce11138e Fixes for payment number creation for online payments 2020-08-19 11:06:19 +10:00
David Bomba
021b741e56 Tests for gateway fees 2020-08-19 08:33:58 +10:00
David Bomba
8e622c81fa More test cases 2020-08-17 16:23:12 +10:00
David Bomba
4172f60002 Fixes for tests 2020-08-17 14:27:21 +10:00
David Bomba
2ebb62648d TestS 2020-08-17 13:51:16 +10:00
David Bomba
d6e169a891 Working on tests for fees and limits 2020-08-17 13:03:21 +10:00
David Bomba
d53418f041 Fixes for tests 2020-08-15 20:44:05 +10:00
David Bomba
aa7ebcee3e
Merge pull request #3985 from turbo124/v2
Fixes for tests
2020-08-14 06:55:17 +10:00
David Bomba
4850c5cbfa Fixes for tests 2020-08-14 06:54:57 +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
David Bomba
e21e70bdcd Fixes for tests 2020-08-13 10:57:06 +10:00
David Bomba
56b29939bb Fixes for tests 2020-08-12 20:12:55 +10:00
David Bomba
b113859690 Work on validation for unique invoice numbers 2020-08-12 20:11:13 +10:00
David Bomba
c2a32e48df Fixes for tests 2020-08-12 16:48:09 +10:00
David Bomba
e347c5ad51 Document permissions 2020-08-12 13:13:39 +10:00
David Bomba
a43b879f0d Fixes for test 2020-08-12 11:04:15 +10:00
David Bomba
f87589715f Fixes for test 2020-08-12 10:47:33 +10:00
David Bomba
ee0aa891bb Fixes for activity backups"
git push
2020-08-12 10:13:34 +10:00
David Bomba
928a9d46af Download historical invoice 2020-08-12 10:01:27 +10:00
Benjamin Beganović
e99bd59aa0 Implement getting raw HTML out of sections 2020-08-11 17:19:52 +02:00
David Bomba
ab5dc13662 Inject custom translations when needed 2020-08-11 11:03:49 +10:00
David Bomba
d05c6ec975 Inject custom translations 2020-08-11 10:48:05 +10:00
Benjamin Beganović
8a23ed35ea Fixes for global tests 2020-08-10 18:40:04 +02:00
Benjamin Beganović
b5f2ae6d6b Fixes for PdfMaker tests 2020-08-10 18:06:12 +02:00
David Bomba
2e663447b8 Tests for container manipulation 2020-08-10 14:55:44 +10:00
Benjamin Beganović
f7408e1fb3 Added new labels & update designs 2020-08-07 17:47:17 +02:00
Benjamin Beganović
8381d37431 Update entity type:
- Default entity type is 'product'
- Added type check
- Fixed double slash in design path
2020-08-07 16:11:10 +02:00
Benjamin Beganović
007ec3a85a Plain:
- Extract table footer into tableFooter()
- Add all footer elements
2020-08-07 14:30:56 +02:00
Benjamin Beganović
00fcb1dd32 Modern:
- Extract table footer into tableFooter()
- Add all footer elements
2020-08-07 14:28:36 +02:00
Benjamin Beganović
80b6512df4 Hipster:
- Extract table footer into tableFooter()
- Add all footer elements
2020-08-07 14:25:43 +02:00
Benjamin Beganović
fe1cef3d62 Elegant:
- Extract table footer into tableFooter()
- Add all footer elements
2020-08-07 14:22:18 +02:00
Benjamin Beganović
6cdcf0d914 Creative:
- Extract table footer into tableFooter()
- Add all footer elements
2020-08-07 14:17:55 +02:00
Benjamin Beganović
9ee8a1658e Clean:
- Extract table footer into tableFooter()
- Add all footer elements
2020-08-07 14:05:40 +02:00
Benjamin Beganović
0597b01847 Business:
- Extract table footer into tableFooter()
- Add all footer elements
2020-08-07 14:03:25 +02:00
Benjamin Beganović
da74ecba6e Bold:
- Extract table footer into tableFooter()
- Add all footer elements
2020-08-07 14:00:23 +02:00
Benjamin Beganović
b438309736 Playful:
- Extract table footer into tableFooter()
- Add all footer elements
2020-08-07 13:55:02 +02:00
David Bomba
2dff1f44d2 skip tests 2020-08-07 16:34:34 +10:00
David Bomba
c220108168 Add documents as default includes 2020-08-06 13:04:09 +10:00
David Bomba
f773356f70
Merge pull request #3951 from beganovich/v2-pdfmaker-integration
Designs integration with new PDF Maker
2020-08-06 07:57:56 +10:00
Benjamin Beganović
6676cab698 Playful 2020-08-05 15:40:57 +02:00
Benjamin Beganović
4f69a874cf Modern design 2020-08-05 15:17:45 +02:00
Benjamin Beganović
7a9c8ca9a0 Hipster design 2020-08-05 15:02:32 +02:00
Benjamin Beganović
66ff55cddf Elegant 2020-08-05 14:43:51 +02:00
Benjamin Beganović
b1b42f5919 Creative 2020-08-05 14:34:22 +02:00
Benjamin Beganović
1876b228ed Clean 2020-08-05 14:24:10 +02:00
David Bomba
a5d2ac2cb9 Fixes for fees and settings object 2020-08-05 21:48:53 +10:00
Benjamin Beganović
2333a78775 Business design 2020-08-05 12:35:38 +02:00
Benjamin Beganović
d63678435f Bold design 2020-08-05 12:13:48 +02:00
Benjamin Beganović
438054744e refactor invoice to entity 2020-08-05 11:52:01 +02:00
David Bomba
13cf06b0cd Test for new shop routes" 2020-08-05 12:21:26 +10:00
Benjamin Beganović
ad2ff79336 Complete Plain.php 2020-08-04 17:32:28 +02:00
David Bomba
5b59efa437 Fixes for payments with credits 2020-08-04 15:09:07 +10:00
David Bomba
191a31e0a5 Fixes for tests 2020-08-02 20:34:16 +10:00
David Bomba
b780be3995 Ensure group settings can be archived + tests! 2020-08-02 16:31:55 +10:00
Benjamin Beganović
184f60785f wip with table bodies & footer 2020-07-30 17:47:40 +02:00
Benjamin Beganović
70ee476193 wip 2020-07-30 16:43:57 +02:00
David Bomba
a6967892ea system health route 2020-07-30 10:30:49 +10:00
Benjamin Beganović
cb4efc8c61 wip 2020-07-29 14:53:58 +02:00
Benjamin Beganović
2e3179d83e Extract variables from the HtmlEngine 2020-07-29 13:37:05 +02:00
David Bomba
411b4b1582 add enable_shop_api field to company table 2020-07-29 19:25:59 +10:00
David Bomba
8e0942688d fixes for tests 2020-07-29 15:14:55 +10:00
David Bomba
0f5eb27a03 Tests for POST routes on clients and invoices shop routes 2020-07-29 08:11:51 +10:00
David Bomba
089ededb7f Tests for shop route 2020-07-29 08:07:58 +10:00
David Bomba
fd97aff3f1 Fixes for routes"
git push
2020-07-28 23:24:01 +10:00
David Bomba
de78ea1506 Shop 2020-07-28 22:05:17 +10:00
David Bomba
46bb38a20c Adjust client factories to allow contacts to be created by default 2020-07-28 18:28:29 +10:00
David Bomba
d36fdb4025 Fixes for refresh query 2020-07-25 09:02:32 +10:00
David Bomba
5349fc012c
Merge pull request #3927 from turbo124/v2
Fixes for base repo invitations
2020-07-23 20:56:38 +10:00
David Bomba
e67c7995d9 fixes for invitations 2020-07-23 16:13:12 +10:00
David Bomba
ce3696257f Fixes for base repo invitations 2020-07-23 13:55:11 +10:00
Benjamin Beganović
cb055e85d0 Make tests green 2020-07-22 14:40:49 +02:00
Benjamin Beganović
02d1c54d87 Skip design tests 2020-07-22 14:36:53 +02:00
Benjamin Beganović
a9debacce2 Make PdfMakerTest green 2020-07-22 14:34:15 +02:00
Benjamin Beganović
60a73fada3 Move PdfMaker to Services/ folder & update namespaces 2020-07-22 14:30:55 +02:00
David Bomba
8688625931 Validation for locked invoices 2020-07-22 09:54:39 +10:00
David Bomba
bcb8f44948
Merge pull request #3907 from beganovich/v2-pdfmaker-designs
Design updates to new PDF system
2020-07-22 07:35:21 +10:00
Benjamin Beganović
ed06ae96ab Update creative to Creative for autoload 2020-07-21 22:24:54 +02:00
Benjamin Beganović
4caa1f95b1 Playful 2020-07-21 19:00:17 +02:00
Benjamin Beganović
0c6b661f5e Creative 2020-07-21 18:29:20 +02:00
Benjamin Beganović
56e11ac499 Elegant 2020-07-21 18:03:14 +02:00
Benjamin Beganović
8b0cda0c6e Hipster 2020-07-21 16:59:30 +02:00
David Bomba
9075cf989a Flip what is_system means for company tokens 2020-07-21 15:03:04 +10:00
David Bomba
8420a4bac1 Remove redundant properties from account table and transformer 2020-07-21 09:00:59 +10:00
David Bomba
3aca9e701b Adjustments for account transformer 2020-07-21 07:51:09 +10:00
Benjamin Beganović
5c1bf92bf1 Plain 2020-07-20 17:41:07 +02:00
Benjamin Beganović
c4873e790e Bold design 2020-07-20 17:03:52 +02:00
Benjamin Beganović
8411a1a314 modern: fix table width 2020-07-20 16:26:30 +02:00
Benjamin Beganović
15d8877d48 Modern 2020-07-20 15:05:57 +02:00
Benjamin Beganović
1f8ddc0642 Clean design & filters 2020-07-20 14:10:33 +02:00
Benjamin Beganović
b7bdf3b341 Support $ instead of # for variables 2020-07-20 13:02:30 +02:00
Benjamin Beganović
80df24bb2f Business HTML design 2020-07-15 18:03:54 +02:00
Benjamin Beganović
f25bfbc8ef scaffold test & tailwindcss 2020-07-15 14:27:52 +02:00
Benjamin Beganović
141d82b925 Include example table html 2020-07-14 15:13:46 +02:00
Benjamin Beganović
b774a07e30 Fix sorting children 2020-07-14 15:05:29 +02:00
Benjamin Beganović
bfbe31b185 enable sorting between children elements 2020-07-14 14:35:27 +02:00
Benjamin Beganović
ceecddb8a2 Tests for hidding elements 2020-07-14 14:02:02 +02:00
Benjamin Beganović
5307569bba wrap up engine for setting properties on elements 2020-07-14 13:50:00 +02:00
Benjamin Beganović
2be39a4756 Generating template elements recursively 2020-07-13 17:49:28 +02:00
Benjamin Beganović
66d23cd816 Refactor logic for replacing variables 2020-07-13 14:16:18 +02:00
Benjamin Beganović
92b2295db1 Adjust state & make tests green 2020-07-13 13:51:54 +02:00
Benjamin Beganović
94976054dd (preview) New table/pdf generation system 2020-07-09 16:05:17 +02:00
David Bomba
f3572a5d11 Refactor for events 2020-07-08 22:02:16 +10:00
David Bomba
3ec593f7ef Fixes for tests 2020-07-08 10:18:13 +10:00
David Bomba
5698a8a8d1 Tests for fees and limits 2020-07-08 01:11:54 +10:00
David Bomba
6a11fae857 Working on Autobill 2020-07-08 00:50:51 +10:00
David Bomba
83fc30f7e7 Working on fees and limits 2020-07-07 22:33:11 +10:00
David Bomba
4c321d41c3 Change subscriptions to webhooks 2020-07-06 21:22:36 +10:00
David Bomba
bd0c523b59 Add ability to set country_id by country code and currency_id by currency code 2020-07-02 20:55:31 +10:00
David Bomba
bd02554dd7 Fixes for tesytS 2020-07-02 12:12:42 +10:00
David Bomba
e216def2ff Use separate repo's for migrations 2020-07-01 14:37:05 +10:00
David Bomba
2120d9844b Fixes for fillable properties 2020-06-28 20:38:41 +10:00
David Bomba
5bcbab3e0a Fixes for tests 2020-06-27 15:14:06 +10:00
David Bomba
ae8a61cbcd Fixes for tests 2020-06-27 14:09:16 +10:00
David Bomba
e6bc63b2c2 fixes for tests 2020-06-27 12:35:11 +10:00
David Bomba
1ce5b7ad8e fixes for refunds 2020-06-27 10:20:27 +10:00
David Bomba
fe995ca878 Refactor refunds 2020-06-27 10:05:31 +10:00
David Bomba
08d196e6c0 Fixes for tests 2020-06-26 08:29:24 +10:00
David Bomba
f927e08d41 Fixes for tests 2020-06-25 21:52:04 +10:00
David Bomba
b3c2d7e11e Authorize .net refund implementation 2020-06-24 15:20:33 +10:00
David Bomba
7e73aa85cb Working on Authorize Refunds 2020-06-24 11:15:51 +10:00
David Bomba
666a2395d1 Implement Bulk actions for designs 2020-06-23 08:11:39 +10:00
David Bomba
2fadadf5d4 Change document->path to ->url 2020-06-22 15:52:20 +10:00
David Bomba
c2211bf2f0 FIxes for tests 2020-06-22 13:07:58 +10:00
David Bomba
13f2481bcd Fixes for testS 2020-06-12 07:56:25 +10:00
David Bomba
17d10f5f66 Working on Authorize.net 2020-06-10 11:06:37 +10:00
David Bomba
d58c2f05ff Refactoring Payment Drivers 2020-06-09 21:17:26 +10:00
David Bomba
4dca7da070 Fixes for payment side of ledger 2020-06-06 11:07:31 +10:00
David Bomba
06a8ee1215 Fix throttling with tests 2020-06-01 17:04:07 +10:00
David Bomba
3abd0e0b17 Fixes for tests 2020-06-01 14:18:33 +10:00
David Bomba
c99c339fab Implement new refund methods 2020-06-01 13:16:06 +10:00
David Bomba
4e84d83db1 Api routes upate 2020-06-01 09:59:26 +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
970c9bb87d
Payment Terms (#3737)
* Fixes for converting a quote to invoice

* Fixes for deleting an invoice

* Payment Terms CRUD

* Payment Terms

* Push PaymentTerms back into the DB

* Payment Terms

* Payment Terms

* Create api docs for payment terms
2020-05-23 13:28:24 +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
644fea5ac3
Fixes for tests (#3722) 2020-05-19 23:11:24 +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
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
Benjamin Beganović
81aa4cc52e
Client portal tests (#3704) 2020-05-15 07:04:41 +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
a0eecdd755
Fixes for tests (#3701)
* 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 tests

* Fixes for testS

* Include credits in first_load=true

* Fixes for tests

* fixes for tests

* Fixes for tests:

* Fixes for tests

* Fixes for tests
2020-05-14 19:08:49 +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
d9d2e21f93
Subscriptions (#3682)
* 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

* Quote actions

* Send Quotes

* Fixes for seg faults!

* Minor fixes

* Fixes for client contact scopes
2020-05-09 08:35:49 +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
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
David Bomba
280e42d366
Hosted platform rules (#3650)
* Filter properties which can be saved on free accounts

* Self Updater

* Fixes for tests

* Refactor for settings

* Working on feature permissions - Settings Saver

* Fixes for events on self-updater

* Working on Self Updater

* Working on free /pro settings saver

* Implement free/pro/enterprise saving for settings

* Update company request

* Implement settings saver for hosted platform for clients and group level settings

* Implement quotas for hosted version

* Validation rules for hosted platform"
2020-04-21 15:16:45 +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
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
David Bomba
9349eb0414
Repeating headers and footers for PDF (#3622)
* Subclass Notification class

* Subclass Notification class

* Working on invoice design

* Working on page headers and footers

* Fixes for headers and footers

* Fixes for invoices
2020-04-12 21:51:27 +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
afee58f746
Google Analytics (#3610)
* Working on google analytics

* google analytics implementation
2020-04-09 22:04:26 +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
213df6451f
Invoice Cancellation (#3605)
* Ensure release build sets correct file and directory permissions

* Invoice Cancellation

* Invoice Cancellations
2020-04-08 23:31:22 +10:00
David Bomba
7d41759468
Version bump, fixes for queue:work on setup. (#3603)
* Fixes for scheduler and queues

* Version Bump
2020-04-08 20:55:28 +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
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
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
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
84e572de07
Fixes for designs" (#3557)
* fixes for tests

* Working on Invoice Designs
2020-03-28 15:29:52 +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
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
David Bomba
0e12b63c95
Design Changes (#3504)
* Fixes for tests

* Working on PDF tables

* Fixes for null values in designs

* Refactoring entity variables for PDF

* Fixes for pdf variables

* Minor fixes for designs

* Working on variable replacement for tables

* Refactoring designs

* Refactoring designs

* Refactoring design implementation

* Working on refactoring designs

* Serve tailwind locally

* Design changes
2020-03-16 21:12:10 +11:00
Benjamin Beganović
a0fe5e9a81
Restore old test for quote design (#3487)
* Restore old test for quote design

* Use CreateQuotePdf
2020-03-13 07:31:42 +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
a151789d9c
Fixes for invoice previews (#3485)
* Remove stale css

* Working on previewing designs

* Fixes for design previews

* fixes for preview controller
2020-03-12 21:50:40 +11:00
Benjamin Beganović
8fd2daf038
[V2] (On hold) Refactor invoice designs (#3480)
* Refactor Bold.php & Business.php

* Refactor Clean.php

* Refactor Creative.php

* Update Creative.php

* Refactor Elegant.php

* Refactor Hipster.php

* Refactor Modern.php

* Refactor Photo.php

* Update Plain.php

* Update Plain.php

* Refactor Playful.php
2020-03-12 07:30:49 +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
6ffea888b0
Fixes for designs (#3463)
* Fixes for designs

* remove logs
2020-03-10 07:07:46 +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
9d3c6cb0ef
Fixes for PreviewController (#3460)
* Fixes for previewcontroller

* Fixes for previewcontroller

* Logging for invoices
2020-03-09 21:47:17 +11:00
David Bomba
9e39f42aa8
Remove JSON types (#3457)
* 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

* Remove json types
2020-03-09 20:45:59 +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
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
4f9c596d3a
Fixes for setting entity defaults. (#3446)
* Create route for invoice/credit/quote PDF download

* Fixes for tests

* Fixes for settings entity defaults
2020-03-07 09:48:03 +11:00
David Bomba
f0176b6e37
Fixes for quote transformer (#3434)
* remove jobs table

* Working on notifications

* Working on notifications

* Fix for pdf_variables

* Fixes for notification

* Fixes for viewing invoice with NO company custom_fields

* Fixes for company settings object creation

* Working on group settings

* Fixes for storing the correct currency_id on client creation

* Fix for invoicetransformer

* fix for store client

* Update PaymentAppliedValidAmount.php (#38)

* update company schema descriptions

* Update PaymentAppliedValidAmount.php

Co-authored-by: David Bomba <turbo124@gmail.com>

* Cast invoice designs to the Hashes

* Fixes for setting invoice/credit/design_ids to hashed

* Fixes for quote transformer

Co-authored-by: michael-hampton <michaelhamptondesign@yahoo.com>
2020-03-06 22:10:59 +11:00
David Bomba
30e09585ee
V2 (#3433)
* remove jobs table

* Working on notifications

* Working on notifications

* Fix for pdf_variables

* Fixes for notification

* Fixes for viewing invoice with NO company custom_fields

* Fixes for company settings object creation

* Working on group settings

* Fixes for storing the correct currency_id on client creation

* Fix for invoicetransformer

* fix for store client
2020-03-06 18:50:42 +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
b157ee3917
Fixes for Credit PDF generation (#3417)
* Fix for design GET route

* Fixes for Credit PDF creation
2020-03-04 10:51:50 +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
db88d6a50d
Fixes for V2 (#3408)
* Refactor for user

* payment notifications

* Fixes for contact request

* Fix validation for contacts

* Fixes for base repo

* Fixes for Invoice Repo

* hide password field on clientcontact
2020-03-02 21:22:37 +11:00
David Bomba
0ff14c97fd
Minors Fixes (#3405)
* Tests for client contact passwords

* test for client API

* Client Tests for password quality

* Final tests for client contact password

* Implement feature permissions

* Minor fixes
2020-03-01 21:18:13 +11:00
David Bomba
e2ed1fad8b
Enable client contact password to be set via API. (#3402)
* Tests for client contact passwords

* test for client API

* Client Tests for password quality

* Final tests for client contact password
2020-03-01 16:00:54 +11:00
David Bomba
0f1c685bfa
Fixes for updating company user (#3401)
* update company schema descriptions

* Fixes for company user controlleR
2020-03-01 08:03:43 +11:00
David Bomba
f8ea4c0d0f
Implement Design API (#3400)
* Working on CompanyUser route

* CompanyUser update route

* tests for updating a company user

* Fixes for exchange currency rate

* Move slack and google analytics fields into company table

* implement Design API
2020-02-29 08:57:47 +11:00
David Bomba
0061da2600
Update Company User Route (#3398)
* Working on CompanyUser route

* CompanyUser update route

* tests for updating a company user
2020-02-28 23:11:56 +11:00
David Bomba
abe3376c48
Validate invoices in a payment (#3397)
* Payment Scenarios:

* Fixes for duplicate invoice-ids in a payment
2020-02-28 19:18:34 +11:00
David Bomba
08ce375fbc
Fixes for payments with invoices from different clients (#3396) 2020-02-28 12:58:49 +11:00
David Bomba
b2f4e51b55
V2 (#3385)
* Fixes for payment number

* Fixes for tests
2020-02-26 21:46:35 +11:00
David Bomba
acb0c0f7c1
Fixes for designs (#3376)
* Fixes for detaching a useR

* Fixes for designs
2020-02-26 15:11:17 +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
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
Benjamin Beganović
0e7904a74b
Fix tests in MigrationTest (#3359) 2020-02-22 08:03:23 +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
Benjamin Beganović
cf3bcb90be
Accept migration over the API (#3356) 2020-02-21 07:58:38 +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
David Bomba
4a41685e94
Fix Credit Service Methods (#3350) 2020-02-19 07:56:21 +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
Benjamin Beganović
c148157bac
Fix browser tests (#3335) 2020-02-16 14:21:02 +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
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
84461858f2
Tests for payments (#3277) 2020-02-02 18:54:52 +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
David Bomba
a3b9dd67a8
Fixes for payment validations (#3272)
* Minor fixes

* fixes for tests
2020-01-31 08:15:13 +11:00
David Bomba
cdf22f6a1f
Fixes for payments (#3271)
* Fixes + tests for unapplied amounts not adjusting when updating a payment

* fixes for payment amounts check
2020-01-31 07:53:14 +11:00
David Bomba
c3da9c80b3
Refunds implementation v1 (#3270)
* Minor fixes for tests

* Refunds implementation v1
2020-01-30 22:19:51 +11:00
David Bomba
63f514f3bc
Working on payments (#3269)
* Add PHP 7.4 to Travis Tests

* Fixes for tests

* fixes for tests

* Fixes for tests

* More tests for Refunds

* Remove dusk tests

* Refactor refund variables

* Working on refunds

* Working on refunds

* working on refundS

* working on refunds
2020-01-30 15:50:45 +11:00
Benjamin Beganović
67c6ac1bc2
Test fixes & code improvements (#3267)
- Updated rules for storing credits
- Fixed route controller
- Added test for crud operations
- Added new $invoice object in MockAccountData
- Added & registered CreditPolicy
2020-01-30 14:02:25 +11:00
David Bomba
956d4ba12e
Fixes for tests (#3262)
* Working on Refunds

* Refund tests

* fixes for tests
2020-01-29 15:25:08 +11:00
David Bomba
133e56dd0b
Working on refund tests (#3261) 2020-01-29 13:45:20 +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
Benjamin Beganović
69fa60b91c
Added generateUrl method for getting assets (#3258)
* Added generateUrl method for getting assets

* Fix return types
2020-01-29 13:31:34 +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
David Bomba
a72e1faa84
Improve tests with smaller sample files. (#3250)
* Reduce migration file size to improve test velocity

* minor fixes

* remove xhprof ext

* Tests for templates
2020-01-27 18:49:04 +11:00
David Bomba
9261858b3a
fixes for tests (#3245) 2020-01-24 15:44:41 +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
a70b024d94
Payment refunds, Projects, Expenses and Vendors. (#3228)
* OpenAPI Documentation for Vendors and Expenses

* Rules for refunds

* Rules for Payment Refunds

* Fixes for quote invitation link

* Project
2020-01-20 21:10:33 +11:00
David Bomba
84642bf035
Expense and Vendors (#3226)
* add expenses, vendors and vendor_contacts along with factories and test data

* padding out vendors, expenses

* Minor fixes

* Add Expense and Company TransformerS
2020-01-20 12:31:58 +11:00
David Bomba
27d06a2ae1
Payment tests (#3224)
* Auto Calculate Payment amount if parameter is not supplied

* Tests for payments

* Flag logs to be sent with support messages
2020-01-19 13:02:02 +10:00
David Bomba
6167907a8e
Fix invoice payable rules (#3212) 2020-01-15 19:43:40 +10:00
David Bomba
2c99d3478b
Payment fixes (#3204)
* Fixes for unused variables and annotating the paymentrepository for future work

* Refactor Payment repository

* rename variables for payments
2020-01-12 08:01:28 +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
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
c47bf76f48
Change invoice_item_type_id to line_item_type_id (#3187)
* 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

* Fix for missing

* Change invoice_item_type_id to line_item_type_id
2020-01-02 10:09:34 +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
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
54fc78a88b
Refactor jobs to be MultiDB aware (#3174) 2019-12-27 11:28:36 +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
e125052f96
Implement invoice reminder scheduler (#3160)
* Do not set email template defaults in settings

* Set invoice reminders, trait + tets

* Fixes for tets

* Only all an account owner to delete companies/users
2019-12-18 13:45:18 +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
2895e6df2d
Fixes for codacy (#3150) 2019-12-16 22:53:16 +11:00
David Bomba
c6e1658ffe
Refactors (#3148)
* Refactor company properties to be presented from settings object instead of company properties

* Working on Email Tests

* Working on emails

* Working on email templats

* Include text version of email

* Refactor Email template builder into trait'

* Fix for custom_value4

* Refactor payment_date -> date && payment_type_id -> type_id

* expose paymentables to API

* expose paymentables to API

* Implement a next_send_date field in invoice/quote tables to allow control over reminder scheduling

* Add custom_values to users,documents and company_gateways tables
2019-12-16 22:34:38 +11:00
David Bomba
f8551d6119
Multi-Master Support for MySQL (#3146)
* Minor fixes for OpenAPI docs for clients

* Add fields to company transformer

* Padding email templates, system level and custom

* Minor fixes for email template subject

* Working on Email Templates

* Clean up User model, remove redundant permissions methods

* Implement Locale for API

* Implement Locale middleware for client routes

* Remove global constants

* Fixes for removing the global constants file

* Working on TDD for emails

* TDD for emails

* implement additional template variables

* Add support for Multi-Master replication with MySQL
2019-12-14 16:49:48 +11:00
David Bomba
9d8e4fdb06
Change companies table property domain to subdomain (#3141) 2019-12-11 07:53:41 +11:00
David Bomba
ec5cbe66a0
New Validation rule for USER POST route (#3138) 2019-12-08 21:28:52 +11:00
David Bomba
01173c66d8
Fixes for validation. (#3130)
* Fixes for OpenAPI Documentation + fix support for docs for PHP 7.4

* Minor fixes for GMail API

* Add fix for 2 contacts with no email addresses failing validation, emails are optional! but cannot be duplicated if a value is set

* Return template as a object with subject and body components

* Fixes for OpenAPI Schema

* Stubs for payment edge cases

* payment tests
2019-12-05 17:22:20 +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
abcd2fd1bb
Fixes for templates and bulk actions (#3112)
* change route names from camelcase to snake case

* Fixes for bulk actions

* fixes for bulk actions

* fixes for templates

* fixes for templates
2019-12-02 15:18:36 +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
cbe4dc072b
Adjustments for template controller to make entity and entity_id optional (#3108) 2019-11-30 14:11:49 +11:00
David Bomba
32aedf26dd
Attach and Detach a user to a company (#3107)
* fixes for template controller

* Default gateway as string

* Bulk actions

* Move currency_id back to settings

* Allow store and update currency ID

* Attach user to company_user

* Add / Detach company users
2019-11-30 13:42:44 +11:00
David Bomba
bf41c634c0
Cast to string - default_gateway_type_id (#3105)
* fixes for template controller

* Default gateway as string
2019-11-29 22:15:50 +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
4bc92a7aa1
Stub GMail Driver (#3099)
* fix for blank client settings

* Force all custom fields to strings

* Fixes for bulk actions

* Fixes for company POST route..

* Change text from Bitcoin to CRYPTO

* Implement default_gateway_type_id in transformer

* use scopes for company filtering

* Implement validation for portal_domain

* Add Google API client

* Add activities to company transformer
2019-11-27 20:47:59 +11:00
David Bomba
0908893180
Fixes for client currency id (#3092)
* 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

* Fix for client currency
2019-11-25 20:38:55 +11:00
David Bomba
52c031e290
Email template defaults (#3090)
* Update User and Company User

* Email Template Defaults for Settings

* Separate methods for saving client and group settings
2019-11-24 17:37:53 +11:00
David Bomba
5c9ada0f77
V2 (#3089)
* Set default templates in Company Settings

* Working on Company User creation

* Working on company_user relationship

* Fixes for company_user relation

* Clean up
2019-11-23 08:10: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
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
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
cb939ed986
Implement Company Settings Sieve (#3057)
* remove redundant custom gateways

* Implement view_all,edit_all_create_all permissions

* Fixes for company settings sieve
2019-11-12 22:36:24 +11:00
David Bomba
e4c18e734a
Implement fees and limits map for company gateways (#3053)
* Add ability to remove group settings level company logo

* Company Gateway Fees and Limits

* Validation tests for FeesAndLimits

* Working on company gateways

* Working on transforming fees_and_limits in transformer

* Implement fees and limits map for company gateways
2019-11-11 23:21:19 +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
a6f928b181
Fixes for settings, implement invitations from invoice request (#3047)
* Fixes for client portal localization

* Replace Invoice Ninja Logo with user defined logo and website URL in client portal

* Minor Fixes

* Refactor for invitations on invoices

* Fixes for settings
2019-11-07 09:57:09 +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
Benjamin Beganović
4694675b91 Payment methods (#3045)
- Deleting payment methods
2019-11-06 09:51:39 +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
14ea3fe256
Tax Rate fixes (#3031)
* Ensure tax rate queries are scoped appropriately

* Add Tax Rate Policy

* Fixes for settings

* doc blocks

* Add failed jobs tables to migrations

* Only 1 migration file for failed table
2019-10-30 13:41:18 +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
a60613aa26
Track signup platform (#3014)
* update company settings and OpenAPI definitions

* Fixes for tests

* Add extra variables to company settings

* Track signup platform when new account signup processed
2019-10-24 15:46:24 +11:00
David Bomba
9dfa97eedf
enforce settype() for strings that are _ids (#3010)
* Add Includes

* Clean up company settings + tests

* Update Company Settings Schema

* Fixes for tests

* fixes for tests

* fixes for settings

* Enforce settype(string) for _ids
2019-10-23 17:21:16 +11:00
David Bomba
e4f0b08d3e
Fixes for settings (#3009)
* Add Includes

* Clean up company settings + tests

* Update Company Settings Schema

* Fixes for tests

* fixes for tests

* fixes for settings
2019-10-23 12:01:25 +11:00
David Bomba
ed449ea1ab
Default gateway type ID (#3008)
* Show Recurring Invoice - Client Portal

* Password protect some routes

* Password Protection Routes

* Add default_gateway_type_id to gateway table
2019-10-22 22:27:03 +11:00
David Bomba
d29f37ef8b
Improve invoice calculations (#3007)
* Fixes for test

* Invoice Items Inclusive Tax Calculator

* Inclusive taxes

* Invoice Inclusive Tax Tests

* More tests

* clean up

* fixes for inclusive tests
2019-10-22 13:07:00 +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
e2284132ec
Add gateway transformer (#2999) 2019-10-17 22:49:09 +11:00
David Bomba
fbc03aa9f7 Update setting fields 2019-10-17 19:26:46 +11:00
Benjamin Beganović
b35bff3cde Forward support messages to contact@invoiceninja.com with system-level info (#2993)
* Sending support messages via API

* Sending log files only if self-hosted

* Remove legacy code
2019-10-17 07:12:38 +11:00
David Bomba
6a0afaacb7
Updated swagger (#2996) 2019-10-16 22:07:20 +11:00
David Bomba
b6d6d3928b
Eager loading (#2995)
* Fixes for tests

* Eager load payment types
2019-10-16 21:24:33 +11:00
David Bomba
7eb0f8d44b
Invoice calculations (#2994)
* Add traits for invoice calculations

* V2 of invoice calculator

* Tests for invoice item calculator

* Test for Invoice Item Calculations

* Invoice Calculation Tests

* fix for tests

* Fixes for invoice calculations
2019-10-16 20:28:52 +11:00
David Bomba
1c21b6dc7c
Invoice Calculations (#2985)
* Fixes for invoice item line totals

* Refactoring invoice calculations

* Update api-docs

* Fixes for invoice calculations

* remove tests

* fixes for config files
2019-10-13 21:59:55 +11:00
Benjamin Beganović
8de17e4b5b (v2): Client tests & more after-installing fixes (#2984)
* client/* testings and ignoring stuff

* Client testings and ignoring

* Revmoe debugbar gitignore
2019-10-12 22:08:44 +11:00
David Bomba
dde3f1192a
Change company_logo_url to company_logo (#2980) 2019-10-11 15:30:26 +11:00
David Bomba
6698609512 Fixes for tests 2019-10-11 11:26:35 +11:00
David Bomba
8d14c6b2bd Switch currency_id back to settings object 2019-10-10 21:43:50 +11:00
David Bomba
39eac5709e fixes for tests 2019-10-10 14:48:09 +11:00
David Bomba
fb150cc1b0 Documentation for SettingsSaver trait 2019-10-10 13:24:19 +11:00
David Bomba
cb466e4d34 Company Settings Tests 2019-10-10 12:55:21 +11:00
David Bomba
3123547e55 Implement validation rule for settings 2019-10-10 12:01:38 +11:00
David Bomba
7a4decdd3d working on type casting 2019-10-10 10:15:35 +11:00
David Bomba
859efb9445 Tests for types 2019-10-10 09:20:38 +11:00
David Bomba
e56aac5e73 Implement type checking for settings objects 2019-10-10 08:36:50 +11:00
David Bomba
056b2cbdb7 Tests for company settings 2019-10-09 23:21:21 +11:00
David Bomba
710732a1fb company settings 2019-10-09 15:28:58 +11:00
David Bomba
60e58abab5 Company Logo upload to groups 2019-10-08 08:07:43 +10:00
David Bomba
7a78702a1f Fixes for tests 2019-10-08 07:43:25 +10:00
David Bomba
b8515e26b0 Upload company logo to client settings 2019-10-07 22:05:06 +11:00
David Bomba
2a7f62b579 Fixes for tests 2019-10-07 21:36:30 +11:00
David Bomba
fda6ec33fd Company Settings OpenAPI 2019-10-07 21:21:02 +11:00
David Bomba
a8b70ee25c fixes for tests 2019-10-07 20:56:10 +11:00
David Bomba
c46ebb2778 Fixes for tets 2019-10-07 20:39:22 +11:00
David Bomba
264d6662e3 set blank object for client settings 2019-10-07 17:43:19 +11:00
David Bomba
305eea7fc8 Tests for client presenter using new settings object for company meta data 2019-10-05 11:48:00 +10:00
David Bomba
70fe64ed96 Fixes for tests 2019-10-05 10:11:04 +10:00
David Bomba
9b09cbe183 for travis 2019-10-04 20:20:02 +10:00
David Bomba
724cccacfc Fixes for tests 2019-10-03 21:50:50 +10:00
David Bomba
16cd98980b Company Gateway Tests 2019-10-03 20:59:19 +10:00
David Bomba
9afcc28549 Fixes for company logo output 2019-10-03 15:17:57 +10:00
David Bomba
23265fb9e3 company gateways 2019-10-03 14:27:17 +10:00
David Bomba
fd58aeb856 Company Gateway API 2019-10-03 13:21:24 +10:00
David Bomba
b41966d41e working on company gateway API endpoint 2019-10-03 11:13:25 +10:00
David Bomba
4e51256b51 Company Logo upload test 2019-10-03 10:17:29 +10:00
David Bomba
675f3cf005 Documentation 2019-10-03 06:01:12 +10:00
David Bomba
0c5202ea8c API Tests for clients 2019-10-02 20:22:10 +10:00
David Bomba
85de581fac Fix for company filtering 2019-09-29 18:46:53 +10:00
David Bomba
487f93933b Laravel V6 2019-09-26 23:00:51 +10:00
David Bomba
1778e63421 cast created_at/updated_at/deleted_at to timestamps 2019-09-26 08:27:26 +10:00
David Bomba
f59b74b01b Refactors for gateways - using keys instead of Pkeys 2019-09-24 21:22:41 +10:00
David Bomba
308406c0fb Create or Update invitations on invoice save / creation 2019-09-23 13:10:51 +10:00
David Bomba
7382ff0b84 fixes for datetime formats 2019-09-22 20:25:05 +10:00
David Bomba
cc7ee120d5 Fixes for test
s
2019-09-19 16:22:32 +10:00
David Bomba
86a099587d Refactor for settings to force types 2019-09-19 15:50:05 +10:00
David Bomba
89cc4170d6 Fixes 2019-09-18 22:43:37 +10:00
David Bomba
d5d1d7d9a3 Refactor for API 2019-09-18 16:02:05 +10:00
David Bomba
a331368383 List view for payment methods 2019-09-18 12:39:53 +10:00
David Bomba
c79211c4f4 Mitigate nulls in database 2019-09-17 15:42:10 +10:00
David Bomba
bacf1f74a0 Fixes for signup route 2019-09-17 07:42:08 +10:00
David Bomba
6b8cbe4e7c Working on preauth credit card stripe 2019-09-16 12:05:30 +10:00
David Bomba
8944727d6b Working on client payment methods 2019-09-15 21:40:46 +10:00
David Bomba
90530de46d Fixes for test annotations 2019-09-12 14:45:13 +10:00
David Bomba
6368ab10f7 Doc Blocks for settings 2019-09-12 13:23:44 +10:00
David Bomba
a614dc5cda More tests for group settings 2019-09-12 12:32:46 +10:00
David Bomba
6544ca2977 Dusk UI tests 2019-09-11 21:04:03 +10:00
David Bomba
6fc248ee51 fixes for travis 2019-09-11 16:54:14 +10:00
David Bomba
e3a72a5970 fixes for travis 2019-09-11 16:37:17 +10:00
David Bomba
0d4d1041f5 Refactor of client settings and cascading settings Client > Group > Company finished 2019-09-11 16:00:23 +10:00
David Bomba
ac19a4bb12 Working on cascading settings 2019-09-11 15:32:47 +10:00
David Bomba
af28b02fae Fixes for tests 2019-09-11 13:46:23 +10:00
David Bomba
e329c24879 Fixes for tests 2019-09-11 12:01:49 +10:00
David Bomba
6561602fef fixes for tests 2019-09-10 20:25:29 +10:00
David Bomba
1f624e28bc Refactor Group level settings 2019-09-10 12:30:43 +10:00
David Bomba
db7043abd9 Working on Groups 2019-09-09 21:24:22 +10:00
David Bomba
5f7a0b96d7 Tests tests and more tests 2019-09-09 21:05:53 +10:00
David Bomba
8a90d46287 Working on payment methods 2019-09-09 12:19:19 +10:00
David Bomba
43dc9158f6 Cleaning up Tests 2019-09-04 22:01:19 +10:00
David Bomba
0051145d2e Working on invoice item tax calculations 2019-09-04 15:15:42 +10:00
David Bomba
bc7e09b924 Working on tests for line item taxes 2019-09-04 15:10:10 +10:00