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

931 Commits

Author SHA1 Message Date
David Bomba
65a1f150d5 Fixes for tests 2020-10-12 20:38:55 +11:00
David Bomba
f063337ec4 Refactoring gateway fees and limits 2020-10-12 15:58:07 +11:00
David Bomba
046805995a Recalculating gateway fees depending on gateway type 2020-10-12 15:30:53 +11:00
David Bomba
c8770f09ca Refactor for determining gateway fees 2020-10-12 15:10:34 +11:00
David Bomba
5072d63436 Set visible to boolean cast 2020-10-12 10:21:24 +11:00
David Bomba
4c08187bf1 tests for documents 2020-10-12 08:34:02 +11:00
David Bomba
1042bbec7b Update vendor contact schema to match client contact schema 2020-10-12 08:16:39 +11:00
David Bomba
b12fe64a63 Refactor gateway types 2020-10-12 07:59:25 +11:00
David Bomba
bfa2e4d5d0 Refactor Gateway options 2020-10-11 20:17:33 +11:00
David Bomba
b6bea31646 Working on gateway fee slippage 2020-10-10 21:57:28 +11:00
David Bomba
ae2562b020 Implementing paratest 2020-10-09 23:13:18 +11:00
David Bomba
9187946760 Fixes for gateway 2020-10-09 22:13:33 +11:00
David Bomba
dd4d14d128 Implement Projects API 2020-10-08 09:25:39 +11:00
David Bomba
50b24c55d9 Working on applying credits to payments prior to billing via gateway 2020-10-07 22:03:53 +11:00
David Bomba
ff00ed3815 Fixes for Recurring 2020-10-07 11:20:28 +11:00
David Bomba
70a575386c Fixes for designs in migration: 2020-10-07 10:16:57 +11:00
David Bomba
07701779ff Add options property to gateway table 2020-10-06 14:01:28 +11:00
David Bomba
4fe1c29751 Working on recurring 2020-10-06 12:36:25 +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
a6234da23a Fix for no due date set on recurring invoices 2020-10-04 20:47:38 +11:00
David Bomba
f6ac4a8201 Add mysqlnd requirement to systemhealth check 2020-10-04 19:52:58 +11:00
David Bomba
c65950672d Fixes for model factories for L8 2020-10-01 20:49:47 +10:00
David Bomba
8756a89885 Allow login using contact_key or client_hash 2020-09-30 08:42:55 +10:00
David Bomba
7a9ab624a3 Working on gateway help url 2020-09-29 14:32:29 +10:00
David Bomba
5c0776cf14 Working on Delete user bug 2020-09-28 12:56:11 +10:00
David Bomba
c965e8d08b Fixes for injecting settings object into email blade templates 2020-09-27 19:22:34 +10:00
David Bomba
038d5e0406 remove stripe omnipay driver 2020-09-25 20:05:45 +10:00
David Bomba
e678f1d373 Fixes for recurring 2020-09-24 21:30:46 +10:00
David Bomba
4cf56d5138 Working on recurring schedules 2020-09-24 21:03:59 +10:00
David Bomba
b906e1e92f Fixes for hasrecurrence trait 2020-09-24 13:40:13 +10:00
David Bomba
4db72d11e1 Actions for recurring invoices 2020-09-24 10:57:44 +10:00
David Bomba
ab0ec5e2cb Vendor API endpoints 2020-09-23 10:16:19 +10:00
David Bomba
4b482c76f3 Fixes for recurring invoice 2020-09-18 17:04:28 +10:00
David Bomba
67492c3384 Recurring Invoice Invitations 2020-09-18 07:49:22 +10:00
David Bomba
03e9bf0bc7 Fixes for recurring 2020-09-16 20:08:51 +10:00
David Bomba
766343d8b9 Recurring dates 2020-09-14 22:13:15 +10:00
David Bomba
bae82b56c1 Add license 2020-09-14 21:11:46 +10:00
David Bomba
9c7dc24bd2 Recurring Dates 2020-09-13 20:20:11 +10:00
David Bomba
2b877d3414 Working on recurringDates Array 2020-09-12 20:33:12 +10:00
David Bomba
0c015cb4bc Fixes for recurring invoices 2020-09-10 11:05:42 +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
David Bomba
2bd8581592 Fixes for payments with gateway fees 2020-09-01 09:28:37 +10:00
David Bomba
eb867522df Working on invoice payments with gateway fees 2020-08-31 12:00:43 +10:00
David Bomba
ac08a146a1 Working on gateway fees 2020-08-30 22:00:19 +10:00
David Bomba
32e987a1b2 Remove require NPM/NODE from setup checks 2020-08-29 23:32:11 +10:00
David Bomba
36c54d8cc3 Working on fees 2020-08-28 11:06:46 +10:00
David Bomba
a5248f7a93 Test mode for company gateway 2020-08-28 07:34:15 +10:00
David Bomba
23a8acccc2 Doc todo 2020-08-27 23:10:04 +10:00
David Bomba
1a7d0d3cbd Working on gateway fees across multiple invoices 2020-08-27 22:12:39 +10:00
David Bomba
37c5a7adb5 Test for gateway fees appending to invoice 2020-08-26 08:10:49 +10:00
David Bomba
979916adb5 Refactor payments 2020-08-25 23:06:38 +10:00
David Bomba
fde50b308a Merge branch 'v2' of https://github.com/turbo124/invoiceninja into v2 2020-08-25 07:09:54 +10:00
David Bomba
7951087c47 Add label to fillable 2020-08-25 07:09:27 +10:00
David Bomba
7cf2d10f29
Merge pull request #4011 from turbo124/v2
System Log API end points
2020-08-24 21:17:07 +10:00
David Bomba
4c3f466d58 Tests for system log routes 2020-08-24 20:28:47 +10:00
David Bomba
d7dd544271 System logs 2020-08-24 19:51:19 +10:00
Benjamin Beganović
f8c1a0c031 Fix $this->fees_and_limits 2020-08-24 07:47:16 +02:00
David Bomba
ffdfaefd80 Working on system logs 2020-08-24 12:45:53 +10:00
Benjamin Beganović
f4698c0108 Support multiple downloads 2020-08-20 03:10:04 +02:00
David Bomba
77ecca3035 fixes for tests 2020-08-19 16:11:57 +10:00
David Bomba
71be551062 Fixes for disabling client gateways 2020-08-19 08:47:05 +10:00
David Bomba
089f50e7ed if company gateway set to zero, disable gateways for client 2020-08-19 08:46:27 +10:00
David Bomba
021b741e56 Tests for gateway fees 2020-08-19 08:33:58 +10:00
David Bomba
0e601a364d Add TODO 2020-08-17 16:38:33 +10:00
David Bomba
d6e169a891 Working on tests for fees and limits 2020-08-17 13:03:21 +10:00
David Bomba
17acab76b4
Merge pull request #3992 from turbo124/v2
Fixes for company Purging
2020-08-16 21:32:35 +10:00
=
74994364ec Fixes for tests 2020-08-15 10:40:56 +10:00
David Bomba
da26a1f2f2 Refactor date mutators 2020-08-15 08:03:29 +10:00
Benjamin Beganović
edfec84074 Add new properties to models for easier fetching:
Invoice:
- balance_due is now alias to balance
- total is now alias to calc()->getTotal()

Quote:
- valid_until is now alias to due_date
- balance_due is now alias to balance
2020-08-14 14:53:36 +02:00
David Bomba
cb24a89d00 Fixes for carbon date handling on entities 2020-08-14 22:50:05 +10:00
David Bomba
7fc54b7fa1 Fixes for date mutators 2020-08-14 22:21:46 +10:00
David Bomba
dffb9be189 Fixes for purge company and preserve settings 2020-08-14 10:40:59 +10:00
David Bomba
3ac9cc5158 Add reminder fields to entities 2020-08-14 08:08:10 +10:00
David Bomba
e347c5ad51 Document permissions 2020-08-12 13:13:39 +10:00
David Bomba
941e790a95 More activities 2020-08-12 12:02:21 +10:00
David Bomba
152e9b88f6 Activity for paid invoice 2020-08-12 11:45:40 +10:00
David Bomba
928a9d46af Download historical invoice 2020-08-12 10:01:27 +10:00
=
6751654216 Refactor login route 2020-08-08 09:50:32 +10:00
David Bomba
651fdeabdb Fix for incorrect country displaying 2020-08-08 07:44:49 +10:00
David Bomba
2c93efface Softdelete/restore invitations on clientcontact delete/restore 2020-08-07 08:13:15 +10:00
David Bomba
a5d2ac2cb9 Fixes for fees and settings object 2020-08-05 21:48:53 +10:00
David Bomba
8c72321c09 Refactor company gateway queries to ensure their order is respected 2020-08-05 11:41:32 +10:00
David Bomba
161f162856 Fixes for group settings 2020-08-04 18:21:14 +10:00
David Bomba
694ad96111 -1 for fees_and_limits = enable gateway 2020-07-30 14:49:12 +10:00
David Bomba
68e2e2c8f4 Merge branch 'v2' of https://github.com/turbo124/invoiceninja into v2 2020-07-30 07:48:33 +10:00
David Bomba
411b4b1582 add enable_shop_api field to company table 2020-07-29 19:25:59 +10:00
David Bomba
d5b777206e Shop routes 2020-07-28 21:19:51 +10:00
David Bomba
9ed31be17e remove legacy setting option 2020-07-28 14:29:56 +10:00
David Bomba
3c38fd2cf6 Fixes for refresh route 2020-07-26 15:12:40 +10:00
David Bomba
6ca56d3cb0
Merge pull request #3926 from beganovich/v2-2207-hide-drafts-from-clients
Fixes for invoices & drafts
2020-07-23 20:56:50 +10:00
Benjamin Beganović
183a51b27c Update quotes page with right terminology 2020-07-23 12:20:19 +02: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
David Bomba
62f084b2aa Events 2020-07-22 17:53:14 +10:00
David Bomba
adb705d7f0 Adding Events 2020-07-20 09:02:31 +10:00
David Bomba
cd5bebbe5f Credit events and listeners 2020-07-17 14:44:34 +10:00
David Bomba
1b79188b35 Adding more event listeners 2020-07-17 11:28:54 +10:00
David Bomba
c593f2bd58 Add event listeners 2020-07-17 10:31:19 +10:00
David Bomba
c0237474ef Fixes for demo data 2020-07-17 07:50:02 +10:00
David Bomba
41b85b3fb3 Ensure models are touched appropriately" 2020-07-16 21:01:39 +10:00
David Bomba
b4ad18bfe9 Don't include drafts when checking data 2020-07-16 13:54:26 +10:00
David Bomba
cd4856e8db Helpers for gateway fees 2020-07-15 15:05:02 +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
00a3d36fcd Bug with viewed_date populating erroneously 2020-07-14 15:37:49 +10:00
David Bomba
5dc0fcca0d Working on token billing 2020-07-13 14:46:16 +10:00
David Bomba
708422dd9b Add hashed transformer for company tokens 2020-07-13 12:54:56 +10:00
David Bomba
f3572a5d11 Refactor for events 2020-07-08 22:02:16 +10:00
David Bomba
4b81e209c4 Working on unattended token billing 2020-07-08 12:20:44 +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
daa3cc2b68 Reimplement fees and limits logic 2020-07-07 23:23:47 +10:00
David Bomba
83fc30f7e7 Working on fees and limits 2020-07-07 22:33:11 +10:00
David Bomba
61c3a3f57e Working on check data script 2020-07-07 17:56:30 +10:00
David Bomba
03b363ed2d Fixes for trashed invoices 2020-07-07 17:54:21 +10:00
David Bomba
256deea92a Update index file for flutter 2020-07-07 08:35:28 +10:00
David Bomba
4c321d41c3 Change subscriptions to webhooks 2020-07-06 21:22:36 +10:00
David Bomba
bbdfb86b99
Merge pull request #3884 from turbo124/v2
Fixes for Checkdata script and PDF Previews
2020-07-05 20:59:18 +10:00
David Bomba
b9c860bfc3 Add task to check company size 2020-07-05 18:59:28 +10:00
Benjamin Beganović
eb655762d4 Adding payment methods from menu 2020-07-03 14:39:29 +02:00
David Bomba
b14ac451c4 Payment methods 2020-07-03 18:14:15 +10:00
David Bomba
8e4e38776b Working on gateway payment methods 2020-07-03 10:56:36 +10:00
David Bomba
d3775fd059 Change PING route response 2020-07-02 20:14:19 +10:00
David Bomba
302c98e08b Fixes for demo data 2020-07-01 21:33:42 +10:00
David Bomba
5855f3ea1f Refactor for migrations 2020-07-01 15:51:19 +10:00
=
db21378fc3 Recurring 2020-07-01 12:32:36 +10:00
David Bomba
2120d9844b Fixes for fillable properties 2020-06-28 20:38:41 +10:00
David Bomba
f36bbf75b8 Delete payment workflow 2020-06-28 13:05:58 +10:00
David Bomba
8eed07b8f5 Additional fields for entities 2020-06-28 08:24:08 +10:00
David Bomba
ae8a61cbcd Fixes for tests 2020-06-27 14:09:16 +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
06413da090 Document behind route 2020-06-24 22:12:43 +10:00
David Bomba
049e9032cb Documents 2020-06-24 20:17:42 +10:00
David Bomba
8ed382a0b7 Change to streaming downloads 2020-06-24 18:59:56 +10:00
David Bomba
889ac65f26 Bulk actions on groups 2020-06-24 09:39:49 +10:00
David Bomba
ddb246c8b0 Manifest and client routs 2020-06-24 09:18:38 +10:00
Benjamin Beganović
be1600245f Merge remote-tracking branch 'upstream/v2' into v2-2805-client-signup 2020-06-22 14:58:21 +02:00
Benjamin Beganović
01094a2b5e Merge remote-tracking branch 'upstream/v2' into v2-2805-client-signup 2020-06-22 10:27:35 +02:00
David Bomba
2fadadf5d4 Change document->path to ->url 2020-06-22 15:52:20 +10:00
David Bomba
7787aa49e9 assigned_user_id added to fillable models 2020-06-22 07:23:32 +10:00
David Bomba
c9b973d288 Fixes for client model 2020-06-20 09:23:41 +10:00
Benjamin Beganović
6f34e083ae wip - registration client 2020-06-18 17:09:28 +02:00
David Bomba
76ec67c2cf Fixes for comany logo 2020-06-18 09:25:08 +10:00
David Bomba
2ffe799c04 Working on token payments with Authorize.net 2020-06-16 23:31:08 +10:00
David Bomba
2d2a5c0812 working on authorize.net token payments 2020-06-16 22:41:56 +10:00
David Bomba
9fa069e884
Merge branch 'v2' into v2 2020-06-16 14:01:55 +10:00
David Bomba
7468813cd8 Working on Authorize payment flow 2020-06-16 10:21:40 +10:00
Benjamin Beganović
72cd7ca91a Merge remote-tracking branch 'upstream/v2' into v2-1006-checkout-com 2020-06-15 14:26:59 +02: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
4846c9bccc Working on reversing an invoice cancellation 2020-06-15 09:34:18 +10:00
Benjamin Beganović
cc8056e03b Processing payments with Checkout.com 2020-06-12 14:48:54 +02:00
Benjamin Beganović
d37064e393 wip 2020-06-11 15:13:35 +02:00
David Bomba
d6a8ef8de4 Working on Authorize.net 2020-06-10 15:21:11 +10:00
David Bomba
01f53e1689 Fix for blank contact name 2020-06-09 07:55:31 +10:00
David Bomba
8149251180 Fixes for payments affecting the client ledger balance 2020-06-05 13:52:53 +10:00
David Bomba
4864f8bd84 Add SoftDeletes trait to companygateway model 2020-06-05 07:21:30 +10:00
David Bomba
fa19c70855 Create a status for Quote -> Completed 2020-06-02 20:19:29 +10:00
David Bomba
d3666b41f5 Add invoice history as an optional include 2020-06-01 21:49:11 +10:00
David Bomba
c99c339fab Implement new refund methods 2020-06-01 13:16:06 +10:00
David Bomba
c72d38ca4f
Allow conversion of quotes to invoices (#3760) 2020-05-27 14:46:19 +10:00
David Bomba
a80e3ba454
remove first name last name required (#3756)
* remove first name last name required

* Working on check update script
2020-05-26 22:37:15 +10:00
David Bomba
8129a5b49d
Add payment terms to transformers (#3738) 2020-05-23 13:33:44 +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
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
956c06c430
Fixes for OAuth (#3695) 2020-05-13 19:02:38 +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
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ć
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
ffa3550e4a
Hosted version - add user rules. (#3653)
* Add users in hosted platform

* Increment num_users when adding a user on enterprised hosted plan

* Fixes for user repo
2020-04-23 08:54:10 +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
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
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
2103758d36
Invoice Activities (#3608)
* Version bump

* reverse and cancelled activities

* Invoice reversal/cancellation activities
2020-04-09 09:35:40 +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
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
cfafd65be0
Performance improvements for eager loading (#3584)
* Fixes for Sentry

* performance improvements for eager loading
2020-04-02 20:02:39 +11:00
David Bomba
ceb82ad275
Fixes for permissions (#3575) 2020-04-01 23:34:50 +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
581654141b
Fixes for entity dates (#3563) 2020-03-30 08:29:00 +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
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
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
Benjamin Beganović
ac5525c9ac
[V2] Client portal rework (#3516)
* Client login, reset and update password page

* Client dashboard, sidebar, PortalComposer.php

* wip

* Personal page & update for details

* Invoices, paying & pagination.blade.php

* Invoices, recurring invoice & buttons

* Payments, link component

* Payment methods

* Breadcrums, clean up & wrap up

* Remove format_date() method to formatDate on object

* Payments
- $this->render is now proxy for render()
- Removed logic from Controller.php to ClientPortal.php
- Added MakesDates to ClientGatewayToken.php
- StripePaymentDriver.php now returns correct views
- Refactor of adding new payment method
- Ignoring all local builds for public/js/clients/*

* Signature, wip

* Fix "Pay now" on single invoice

* Payments:
- Added ProcessInvoicesInBulk request class
- Refactor InvoiceController::bulk()
- Displaying terms & payments
- New signature.blade.php
- Removed comment from webpack.mix.js

* Quotes:
- Refactor ProcessInvoicesInBulk.php to ProcessInvoicesInBulkRequest.php
- Add new 'Quotes' field inside of PortalComposer.php
- Added MakesDates to Quote.php
- Added Quote::badgeForStatus()
- Cleanup payment.blade.php
- Quote showing and approving
- New resource 'quotes' in client.php
- New image for quotes, align-left.svg

* Credits:
- New 'credits' resource in client.php
- Fixes for client.php typo

* Breadcrumbs:
- Quotes
- Credits

* Placeholder for translations.

* Restore whereIn & client scope

Co-authored-by: David Bomba <turbo124@gmail.com>
2020-03-24 04:10:42 +11:00
David Bomba
c8e3c7ae68
Fix regression where .env file was being deleted erroneously (#3515)
* Fixes for tests

* Fixes for self updates
2020-03-23 07:45:16 +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
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
82ace70a4c
fixes for user model (#3483) 2020-03-12 08:01:36 +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
aad117a67d
Fix casts for permissions (#3467)
* Fix cast for permissions

* Notification Types

* Working on notification logic
2020-03-10 23:54:20 +11:00
David Bomba
25e29ed54c
Fixes for base repo. (#3464)
* Fixes for designs

* remove logs

* Minor fixes for Invoice Item

* Fixes for company defaults
2020-03-10 17:45:24 +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
d60c179da7
Fixes for deleting a company. (#3454)
* Fix for typo

* wind back self updater repo

* fixes for client settings

* Add current version to the account transformer

* fixes for deleting a company
2020-03-08 20:06:21 +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
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
e095b8538f
Minor fixes for setting defaults on entity (#3447) 2020-03-07 09:51:47 +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
2bc8064eeb
Fixes for setting entity defaults (#3440) 2020-03-06 23:18:32 +11:00
David Bomba
c57e6b0c6a
Fixes for setting default invoice terms/footers (#3439) 2020-03-06 23:01:07 +11:00
David Bomba
5bca8f8ad8
Fixes for default values for entities (#3438) 2020-03-06 22:57:11 +11:00
David Bomba
46d795a61f
Minor Fixes (#3436)
* 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

* Fixes for casts

Co-authored-by: michael-hampton <michaelhamptondesign@yahoo.com>
2020-03-06 22:19:09 +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
6d5d1da472
Fixes for pdf_variables validation (#3419)
* Client and System Notifications

* Fix for group settings currency not applying correctly.

* Split head out of design in order to reuse headers and footers

* export the designs

* Fixes for pdf_variables
2020-03-04 22:09:43 +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
David Bomba
a3e960cbba
Fixes for currency id insertion in new client (#3413) 2020-03-03 23:18:24 +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
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
6e51b225b0
Fixes for missing fields for company transformer (#3406) 2020-03-01 21:45:23 +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
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
464dd3f9eb
Fixes for base repo ->save() method (#3392)
* Fixes for tests

* payment

* remove field from company table

* Fixes for repo save()
2020-02-28 07:23:25 +11:00
David Bomba
c15f17186d
Fixes for transformerS (#3388) 2020-02-27 10:32:44 +11:00
David Bomba
bfee59b529
casts public_notes to string (#3380) 2020-02-26 17:46:27 +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
David Bomba
1ac2a73b2a
Update CORS fields (#3371)
* Working on invoice invitations

* Credit invitations

* Update CORS
2020-02-25 19:33:53 +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
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
David Bomba
1edfee654f
Working on Invoice Designs (#3346) 2020-02-18 07:07:32 +11:00
David Bomba
69cc88e33f
Improve error handling (#3344)
* Fixes for travis

* Minor Fixes

* Improve Error Handling
2020-02-18 06:07:31 +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
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
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
michael-hampton
dee99b1a62
Ft quote services (#3310)
* Quote service

* convert quote

* Update Quote.php

* Update Quote.php

* Update MarkApproved.php
2020-02-12 07:57:25 +11:00
David Bomba
d77c662ee9 Fixes for invoice invitations
* Fixes for invoice invitations

* Fixes for invoice invitations
2020-02-10 21:20:49 +11:00
David Bomba
069d2b99c6 Fixes for invoice invitations (#3304) 2020-02-10 21:17:13 +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
f519fc765b
Improvements for eager loading (#3290)
* Working on invoice designs

* Working on Invoice Designs

* Improve eager loads

* Improvements for eager loading
2020-02-06 23:00:22 +11:00
David Bomba
4f82f1b903
Improve eager loads (#3289)
* Working on invoice designs

* Working on Invoice Designs

* Improve eager loads
2020-02-06 20:35:51 +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
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
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
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
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
8c7f4ab09f
Projects and Tasks factories. (#3234)
* Working on projects and tasks

* Fixes for company transformer

* projects and tasks factories
2020-01-21 20:22:10 +11:00
David Bomba
a1ae991684
Working on projects and tasks (#3232) 2020-01-21 11:32:34 +11:00
David Bomba
db558acf70
V2 (#3230)
* Improve test data quality

* Add Projects and Tasks to schema

* Improve invoice data quality
2020-01-20 21:40:22 +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
0e9d098049
Fixes for Vendor Contacts (#3227)
* bug Fixes

* Working on Vendor GET route

* Fixes for vendor contacts
2020-01-20 15:53:40 +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
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
08d8d11dea
Fixes for missing contact_key in seeder (#3190)
*  Stub refund payment

* Fixes for missing contact_key in seeder
2020-01-03 19:49:59 +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
6bf4cfe395
Add Credits to Schema (#3169)
* Fix formatting and variable insertion for email templates

* Refactoring for invoice emails

* Fixes for midddleware

* Improve refresh includes

* change setting name
2019-12-25 23:22:10 +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
519c1114c1
Add additional date formats / performance improvements. (#3161)
* Improve eager loading

* Fixes for performance on client portal datatable with large datasets

* Add missing date format
2019-12-18 21:49:28 +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
David Bomba
b6cb0172c3
Add custom values to user and companygateway transformer (#3157) 2019-12-17 21:57:15 +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
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
550cb42722
Dynamically apply locale (#3140)
* 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
2019-12-11 07:25:54 +11:00
David Bomba
90eeb59754
Fixes for client display_name (#3137)
* Minor fixes for OpenAPI docs for clients

* Add fields to company transformer

* Padding email templates, system level and custom

* Set Unique value on client_contact_id & invoice_id on invitations table

* Fix for client display_name
2019-12-08 18:33:44 +11:00
Benjamin Beganović
259a28099f Various fixes (#3136) 2019-12-07 22:33:49 +11:00
David Bomba
0d15926e02
OAuth Token support (#3117)
* Add oauth->token to users table

* Add oauth->token to fillableon model
2019-12-04 12:14:55 +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
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
a7048ee61d
Implement Support for PHP 7.4 (#3102)
* Fixes for company factor

* Add dates to create test data

* Fixes for transformers, use faker to generate random dates

* Bump to PHP 7.4git add app/Http/Requests/User/DetachCompanyUserRequest.php

* Fixes for route model binding
2019-11-28 21:35:13 +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
808c6deb88
Workaround for recursion issue on login company_user -> user -> company_user (#3091) 2019-11-24 19:19: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
170340cdfa
Migrations fixes (#3086)
* working on email throttling

* Fixes for migrations
2019-11-21 07:55:16 +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
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
2ce89e5f48
Fixes for actions (#3056)
* Update API docs

* cleaning up migrations

* Fixes for tests

* fixes for tests

* Delete client contacts when soft deleting a client

* Fixes for actions
2019-11-12 15:41:02 +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
49ecde8a38
Fixes for group settings id put/post hashing (#3052) 2019-11-11 08:12:21 +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
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
David Bomba
97a4fb3696
Fixes for Templates - Add Assigned User functionality (#3044)
* Request Cancellation

* Add fields to settings

* Recurring invoice cancellation request

* change REST endpoint for entity_id templates
2019-11-05 21:16:38 +11:00
David Bomba
06a120e128
Resolve conflicts (#3043)
* Request Cancellation

* Add fields to settings

* Recurring invoice cancellation request

* Stub Template controller

* Template Controller

* Fixes for git commit
2019-11-05 10:26:15 +11:00
Benjamin Beganović
11690ae50e (v2): Automatic resolving on route binding (#3035)
* Resolve route binding

* add withTrashed() property

* Remove route binds from the Provider
2019-11-05 10:22:36 +11:00
David Bomba
9050d4e564
Template Controller (#3042)
* Request Cancellation

* Add fields to settings

* Recurring invoice cancellation request

* Stub Template controller
2019-11-05 07:50:10 +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
74f416cd2d
Add users relation to company model (#3032)
* fixes for invoice footer"

* Add users relation to company model
2019-10-30 18:48:44 +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
3fe3c04091
Fixes for Number class. (#3020)
* Implement transformer for ClientGatewayTokens

* Add company_gateway_id to client gateway token transformer

* Fixes for client model

* Fixes for Number class
2019-10-25 20:49:38 +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
adfced11d6
Add design_id to invoice and quote table (#3013)
* Add conditional checks in client portal

* Add ability to cancel recurring invoices from client portal

* Fixes for types

* Add fields to invoice and quote table
2019-10-24 07:37:20 +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
fbc03aa9f7 Update setting fields 2019-10-17 19:26:46 +11:00
David Bomba
6fb9ba89ee Woring on invoice is_amount_discounts 2019-10-17 14:14:17 +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
b90122443f
Fixes for incorrect payment gateway meta data. (#2992)
* Fixes for staging

* Fixes for gateway fields

* fix for null design
2019-10-16 08:35:32 +11:00
David Bomba
c43eb96333
Fixes for staging (#2990) 2019-10-15 21:36:51 +11:00
David Bomba
dde3f1192a
Change company_logo_url to company_logo (#2980) 2019-10-11 15:30:26 +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
8d14c6b2bd Switch currency_id back to settings object 2019-10-10 21:43:50 +11:00
David Bomba
84edb28652 Move custom labels into single column on DB custom_fields 2019-10-10 13:52:57 +11:00
David Bomba
fb150cc1b0 Documentation for SettingsSaver trait 2019-10-10 13:24:19 +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
0469de7466 fix for returning token on company creation 2019-10-09 16:47:12 +11:00
David Bomba
534b515849 Abstract settings save to separate trait 2019-10-09 10:53:33 +11:00
David Bomba
faa5a05ac1 Validation rules for update client 2019-10-08 22:14:23 +11:00
David Bomba
accbbcf67b Flash message 2019-10-08 12:03:40 +10:00
David Bomba
091673a7ac Payment edge cases 2019-10-08 09:05:41 +10:00
David Bomba
db3ccaf4bc validation fixes 2019-10-08 06:49:16 +10:00
David Bomba
b8515e26b0 Upload company logo to client settings 2019-10-07 22:05:06 +11:00
David Bomba
fda6ec33fd Company Settings OpenAPI 2019-10-07 21:21:02 +11:00
David Bomba
95be70a7b5 Group Settings 2019-10-06 08:24:46 +11:00
David Bomba
eca7452de3 Add additional tax rate 3 into the system 2019-10-05 12:28:23 +10:00
David Bomba
d39d837895 Fixes for tests 2019-10-05 11:58:33 +10: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
2f657aaac8 Stubs for group settings controller 2019-10-05 08:58:51 +10:00
David Bomba
24075072df refactor for pushing company meta data into settings 2019-10-04 22:37:40 +10:00
David Bomba
1f1ffd3240 transform datetimes to timestamps 2019-10-04 21:54:03 +10:00
David Bomba
187fb67275 remove work_ prefix 2019-10-04 21:01:52 +10:00
David Bomba
3900529e83 Format dates for client 2019-10-04 08:06:38 +10:00
David Bomba
ae02953a8f Client portal client screen 2019-10-04 07:51:54 +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
b41966d41e working on company gateway API endpoint 2019-10-03 11:13:25 +10:00
David Bomba
0c5202ea8c API Tests for clients 2019-10-02 20:22:10 +10:00
David Bomba
a6579e43df Transformer fixes 2019-10-02 19:04:27 +10:00
David Bomba
b243ce4643 Log system events 2019-10-02 13:00:51 +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
2d5d9b816b Payment Events 2019-10-01 11:56:48 +10:00
David Bomba
441d52523d Add activities to API 2019-09-27 14:31:13 +10:00
David Bomba
1778e63421 cast created_at/updated_at/deleted_at to timestamps 2019-09-26 08:27:26 +10:00
David Bomba
362f197fbb Store payment after invoice is confirmed paid 2019-09-25 15:55:52 +10:00
David Bomba
46602a21c5 Stripe payments 2019-09-25 12:07:33 +10:00
David Bomba
f59b74b01b Refactors for gateways - using keys instead of Pkeys 2019-09-24 21:22:41 +10:00
David Bomba
1e1be26980 Invitation routing 2019-09-23 15:59:01 +10:00
David Bomba
d5ec342764 Nuances of client contact invitations 2019-09-23 13:22:24 +10:00
David Bomba
a9f4a5feaf add group settings to company transformer: 2019-09-22 20:41:43 +10:00
David Bomba
7382ff0b84 fixes for datetime formats 2019-09-22 20:25:05 +10:00
David Bomba
50d52c5323 Add DateFormats to model 2019-09-22 19:30:03 +10:00
David Bomba
4aa781fb03 Working on settings - safe guards to updating the settings object 2019-09-21 14:09:25 +10:00
David Bomba
4fd41dbe1d Client payment flow 2019-09-20 15:13:58 +10:00
David Bomba
a926c48f21 Payment methods list view 2019-09-19 20:16:41 +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
a331368383 List view for payment methods 2019-09-18 12:39:53 +10:00
David Bomba
70d146333b Casts 2019-09-17 20:27:48 +10:00
David Bomba
c79211c4f4 Mitigate nulls in database 2019-09-17 15:42:10 +10:00
David Bomba
0331575197 Working on card authorisation for Stripe 2019-09-16 14:59:59 +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
cbb1ca7660 Working on updating credit card 2019-09-14 22:34:05 +10:00
David Bomba
7cfe0c22fb Add Payment Method - client side 2019-09-13 15:52:01 +10:00
David Bomba
b1836224e2 Working on contact payment page 2019-09-13 08:33:48 +10:00
David Bomba
9431abb300 Working on payment flow - client side 2019-09-12 16:10:21 +10:00
David Bomba
6368ab10f7 Doc Blocks for settings 2019-09-12 13:23:44 +10:00
David Bomba
b7920a072a Set all ID's to strings for consistency 2019-09-12 11:28:41 +10:00
David Bomba
6544ca2977 Dusk UI tests 2019-09-11 21:04:03 +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