1
0
mirror of https://github.com/invoiceninja/invoiceninja.git synced 2024-11-14 07:02:34 +01:00
Commit Graph

941 Commits

Author SHA1 Message Date
David Bomba
7bf6d7c48a Document route for clients / company 2021-02-15 21:52:50 +11:00
Joshua Dwire
ac99b0039d Import functionality updates 2021-02-12 19:20:15 -05:00
David Bomba
f950f84b61 Fix for 500 on updating quote by removing contacts 2021-01-25 21:54:36 +11:00
David Bomba
269f83f317 Translations 2021-01-25 11:57:49 +11:00
David Bomba
3d468e5f40 Company Gateway cleanup 2021-01-22 07:45:00 +11:00
David Bomba
cbd6f212b5 deprecate old getPaymentMethods() 2021-01-18 13:59:06 +11:00
David Bomba
95e5b89641 fixes for validation of line_items 2021-01-14 08:16:07 +11:00
David Bomba
4ad3e7fc8a Fix for group_settings_id being dropped in certain edge cases 2021-01-14 08:01:27 +11:00
David Bomba
976f610158 fixes for validation 2021-01-13 23:20:15 +11:00
David Bomba
4ff0108c5c fixes for validation 2021-01-13 22:52:30 +11:00
David Bomba
e3efa5790f Email validation 2021-01-13 22:47:36 +11:00
David Bomba
7d69f5eba3 Changes to schema for expenses, drop redundant columns from company table 2021-01-12 08:57:48 +11:00
David Bomba
13420a93b9 Fixes for validation 2021-01-08 21:19:26 +11:00
David Bomba
b5606c1524 Fixes for task statuses and tests 2021-01-08 09:25:00 +11:00
David Bomba
2e499adea6 Fix for task status null color value 2021-01-08 09:03:29 +11:00
David Bomba
65afd70b38 Always ensure the client has a currency set 2021-01-06 19:50:13 +11:00
Benjamin Beganović
603f7baa58 apply php-cs-fixeR 2021-01-04 13:38:00 +01:00
Benjamin Beganović
14efcc77e6 Support for database port on the setup 2021-01-04 13:36:47 +01:00
David Bomba
15b2ee6642 Add additional mimes 2021-01-04 21:49:28 +11:00
David Bomba
934610a01c Update copyright + version bump + set canadian dollar symbol to $ 2021-01-04 08:54:54 +11:00
David Bomba
8653cc6114 Fixes for unique taxrate constraint on update 2021-01-04 08:22:42 +11:00
=
6c098160df Allow a user to change only their own password 2021-01-01 20:11:21 +11:00
=
7a058c9ae6 Move logging to nlog 2020-12-30 08:10:03 +11:00
Benjamin Beganović
6009d49330
Merge pull request #4546 from beganovich/v5-amount-with-fee
(v5) Change amount_with_fee source location
2020-12-22 09:26:24 +01:00
Benjamin Beganović
940c5c77f3 find and setup db by company key in webhook request 2020-12-21 12:19:48 +01:00
Benjamin Beganović
5a8dfd85eb Apply php-cs-fixer 2020-12-21 11:46:46 +01:00
Benjamin Beganović
6f32fd6c4b
Merge pull request #4527 from beganovich/v5-stripe-webhook-support
(v5) Stripe support for webhooks
2020-12-21 08:14:00 +01:00
David Bomba
c1edc905db Importing invoices 2020-12-20 20:02:10 +11:00
David Bomba
ccde0eaced Working on importing CSV Invoices 2020-12-20 18:02:58 +11:00
David Bomba
4df646f93b Fixes for tests 2020-12-20 12:21:40 +11:00
Benjamin Beganović
92d2a514ca Supprot Stripe for webhooks 2020-12-19 13:11:42 +01:00
David Bomba
6b02d51080 Invoice Import 2020-12-19 18:28:58 +11:00
David Bomba
df30f0cbc5 Fixes for github actions 2020-12-18 11:31:27 +11:00
David Bomba
3ad3d0a418 Fix for editting invoice where number in pending state 2020-12-18 07:14:46 +11:00
Benjamin Beganović
942652b668 Update webhooks to support Checkout.com & apply php-cs-fixer 2020-12-17 12:27:15 +01:00
Benjamin Beganović
d3033c902d wip 2020-12-16 15:25:42 +01:00
Benjamin Beganović
9662d9af92 Update webhooks for Checkout:
- Update api.php -> gateway_key => company_gateway_id
- Pass correct reference to url in CreditCard.php
- Update PaymentWebhookController.php to support new company_gateway_id
- Update PaymentWebhookRequest.php to resolve company gateway from correct input
2020-12-16 13:47:10 +01:00
Benjamin Beganović
20c010448a apply php-cs-fixer 2020-12-16 12:52:40 +01:00
David Bomba
8df553c4cc Working on CSV imports 2020-12-16 11:01:15 +11:00
David Bomba
57ee54032f Import CSV 2020-12-15 09:59:41 +11:00
David Bomba
141f45f402 Minor fixes for currency in expenses 2020-12-14 22:18:54 +11:00
David Bomba
8b808c97fa Fixes for expense currency not setting default 2020-12-14 07:58:18 +11:00
David Bomba
2a1a9e2a16 Working on import 2020-12-12 21:47:52 +11:00
David Bomba
584bef52fc Working on import 2020-12-12 21:01:53 +11:00
David Bomba
f6ed7be0da Fixes for expense and project numbers 2020-12-12 07:51:10 +11:00
David Bomba
3fc8374cb5 Fixes for attempting to create a user with duplicate email 2020-12-10 21:28:19 +11:00
David Bomba
8c46e140af Also factor in optin and optout for auto_enabled 2020-12-10 19:51:00 +11:00
David Bomba
894481989c Also factor in optin and optout for auto_enabled 2020-12-10 19:47:17 +11:00
Benjamin Beganović
68a84df0dd prefix all smtp fields with mail_ 2020-12-08 14:29:15 +01:00
Benjamin Beganović
3ffb600117 prefix all db field with db_ 2020-12-08 14:21:00 +01:00
Benjamin Beganović
a92d38ae06 php-cs-fixer 2020-12-07 14:56:23 +01:00
Benjamin Beganović
c548bc2e0d refactor paymentwebhook suite with new methods 2020-12-07 14:49:30 +01:00
David Bomba
bc0a925f39 Fixes for include 2020-12-02 19:59:45 +11:00
David Bomba
9623dba2c8 fix for showinvoicerequest 2020-12-01 21:22:48 +11:00
Benjamin Beganović
ae88d5e08e php-cs-fixer format 2020-11-25 15:19:52 +01:00
Benjamin Beganović
3b765d32c1 log as an option for mail driver 2020-11-24 11:12:44 +01:00
David Bomba
a1119f9bbe Fix edge cases with cloning invoice 2020-11-15 19:24:57 +11:00
David Bomba
42c1f8fe5f Minor fixes 2020-11-12 07:42:20 +11:00
David Bomba
28cbd75fcb Fixes for credit PDF 2020-11-11 11:13:39 +11:00
David Bomba
9174b7e628 Fixes for emails and reminders 2020-11-09 21:17:20 +11:00
David Bomba
30bfd0b808 Validation rules for credits and payments 2020-11-02 12:11:49 +11:00
Benjamin Beganović
7f3c4ada5a Merge remote-tracking branch 'upstream/v5-develop' into v2-frontend-refactor 2020-11-01 19:26:43 +01:00
Benjamin Beganović
7e30093429 Checkout.com payments with token:
- Convert "true" from frontend to boolean in PaymentResponseRequest
- Reference correct 'transaction_reference' in BaseDriver & Checkout\Utilities
- Frontend switching between token & credit card when making payments with Checkout.com
- New 'pay_with' translation string
- Added 'save-card--container' to save card partial
- Ensure we show whole transaction reference string in payments/show.blade
2020-11-01 15:56:17 +01:00
Benjamin Beganović
d15701b4b3 Checkout.com with credit card 2020-11-01 15:08:47 +01:00
David Bomba
ae44b9c032 Version bump + linking tasks expenses with invoices 2020-11-01 18:53:43 +11:00
=
6479b2fd3e Fix for laravel 8 route file regression + psalm cleanup 2020-11-01 16:09:09 +11:00
David Bomba
e455ec47e6 Fixes for unique task number " 2020-10-30 22:47:12 +11:00
David Bomba
ba6c45c08a fix task status id on update 2020-10-30 08:00:35 +11:00
David Bomba
86d472fa05 Project numbers 2020-10-29 22:01:37 +11:00
David Bomba
86ee5f477b Fixes for expense numbers 2020-10-29 21:48:56 +11:00
David Bomba
8cf55010c6 Fixes for tasks 2020-10-29 20:56:37 +11:00
David Bomba
c1c8b6c14e Change start_time datatype 2020-10-29 20:40:13 +11:00
David Bomba
85eb1a990a Fixes for non sticking fields in project 2020-10-29 11:09:51 +11:00
David Bomba
59291b799c Fixes for tasks status column 2020-10-29 09:48:05 +11:00
David Bomba
0a02323792 Quote email engine 2020-10-28 10:02:32 +11:00
David Bomba
1b2922b57c credit payment type 2020-10-26 11:58:08 +11:00
David Bomba
73b3c11d80 Fixes for update expenses 2020-10-23 08:00:49 +11:00
David Bomba
6c1b952111
Refactor requests to use generics (#41)
* Validation rules for expenses

* Tests

* Tests
2020-10-22 17:46:02 +11:00
=
aa0735bb3d Working on credit payments 2020-10-21 10:47:12 +11:00
David Bomba
fd19e9dc2c Working on credit payments 2020-10-20 16:14:11 +11:00
David Bomba
bc2b0f4aae Fix for recurring number collisions - use dispatchNow() 2020-10-20 11:53:54 +11:00
David Bomba
686f12261d Project number 2020-10-20 10:55:14 +11:00
David Bomba
f0e4a94bee Task Statuses 2020-10-20 10:01:59 +11:00
David Bomba
8b49c83a67 Fixes for required expense fields 2020-10-20 08:31:19 +11:00
David Bomba
0717744c5a Valid projects with clients validation 2020-10-16 20:12:37 +11:00
David Bomba
c7d7e71e78 Validation for project clients 2020-10-16 16:17:36 +11:00
David Bomba
62fe99c2d5 Project name should be required 2020-10-16 08:19:55 +11:00
David Bomba
79e625d8f2 Fixes for recurring number rules and assigned_user_id stickiness for Vendors 2020-10-16 08:17:31 +11:00
David Bomba
3dca6ff171 Add projects to all entities - fixes for gateway casts 2020-10-15 07:58:20 +11:00
David Bomba
0ec89c18ac Fixes for autobill 2020-10-14 21:45:26 +11:00
David Bomba
f58ba0b502 Fixes for name validation for expense categories 2020-10-13 19:05:12 +11:00
David Bomba
05caec8aef expense categories 2020-10-13 15:08:56 +11:00
David Bomba
b7292a0432 Update email validation 2020-10-13 08:27:42 +11:00
David Bomba
71535c0e41 Add tasks to API 2020-10-13 07:42:02 +11:00
David Bomba
dd4d14d128 Implement Projects API 2020-10-08 09:25:39 +11:00
David Bomba
c41fb6e00f Auto bill flag enable/disable auto_bill_enabled 2020-10-07 17:33:16 +11:00
David Bomba
ff00ed3815 Fixes for Recurring 2020-10-07 11:20:28 +11:00
David Bomba
3aa5e2e4eb Minor release 2020-10-06 21:06:14 +11:00
David Bomba
fccc98caa7 Fixes for model factories -> invoice designs 2020-10-04 20:34:08 +11:00
David Bomba
8756a89885 Allow login using contact_key or client_hash 2020-09-30 08:42:55 +10:00
Benjamin Beganović
4e9bc0552d Rename "Downloads" to "Documents":
- Remove Livewire auto-publish from composer.json
- Replace old DocumentController with DownloadsController
- Rename DownloadsTable & downloads-table to DocumentsTable & documents-table
- New ShowDocumentRequest for displaying documents
- Change authorize() with DownloadMultipleDocumentsRequest
- Change route in PortalComposer
- Update Livewire assets
- Remove old documents routes
2020-09-28 12:04:34 +02:00
David Bomba
fd67a48c91 Bug fixes 2020-09-27 20:39:13 +10:00
David Bomba
c965e8d08b Fixes for injecting settings object into email blade templates 2020-09-27 19:22:34 +10:00
David Bomba
b906e1e92f Fixes for hasrecurrence trait 2020-09-24 13:40:13 +10:00
David Bomba
81ef541d2e Expense API Endpoints 2020-09-23 10:46:35 +10:00
David Bomba
ab0ec5e2cb Vendor API endpoints 2020-09-23 10:16:19 +10:00
David Bomba
37bbe8f1e3 Fixes for validation on recurring 2020-09-13 21:46:03 +10:00
David Bomba
9c7dc24bd2 Recurring Dates 2020-09-13 20:20:11 +10:00
David Bomba
89dcd43e47 Fixes for contact password not sticking on update 2020-09-12 19:53:28 +10:00
David Bomba
6147cb1edc Fix for designs 2020-09-09 20:39:35 +10:00
David Bomba
c67fee3fff Fixes for base driver 2020-09-09 20:05:10 +10:00
David Bomba
3083ab6237 Set unique on Group Settings Name 2020-09-08 20:44:32 +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
2f478158e9 Fixes for company gateways 2020-09-02 11:11:01 +10:00
David Bomba
455e9a8e1d fix for company gateways if properties not set 2020-09-02 08:11:59 +10:00
David Bomba
1a7d0d3cbd Working on gateway fees across multiple invoices 2020-08-27 22:12:39 +10:00
David Bomba
0d9df1f290 Fixes for incorrect name spacing of validation rules 2020-08-24 08:20:57 +10:00
Benjamin Beganović
0530204b08 Update copyright 2020-08-20 03:17:29 +02:00
Benjamin Beganović
529ce2ece8 fix authroize() method 2020-08-20 03:11:54 +02:00
Benjamin Beganović
f4698c0108 Support multiple downloads 2020-08-20 03:10:04 +02:00
Benjamin Beganović
c386167762 Add company setting for enabling client portal uploads 2020-08-19 16:35:54 +02:00
Benjamin Beganović
1f0f1e51ae
Merge branch 'v2' into v2-1408-cp-downloads 2020-08-18 16:02:49 +02:00
Benjamin Beganović
4eb376e830 Enabe client uploads 2020-08-18 16:01:25 +02:00
David Bomba
06eb32925c
Merge pull request #3991 from robwent/v2
Allow empty database password
2020-08-18 07:12:12 +10:00
Benjamin Beganović
d55cfc42cf Separate page for download 2020-08-17 16:18:49 +02:00
Robert Went
220ee229d8 Allow empty database password
Makes it easier to install on a localhost with root database user and no password.
https://invoiceninja.slack.com/archives/C015D3NDX8X/p1597531878003700
2020-08-16 00:10:16 +01: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
07e8ded6a7 Fixes for credit/quote update request 2020-08-14 13:35:58 +10:00
David Bomba
7bde9d6967 Fixes for tests 2020-08-13 19:59:29 +10:00
David Bomba
1415434d34 tests 2020-08-13 16:15:46 +10:00
David Bomba
f86a57c632 validation for payment number for store/update routes 2020-08-13 14:26:36 +10:00
David Bomba
b113859690 Work on validation for unique invoice numbers 2020-08-12 20:11:13 +10:00
David Bomba
bcd69dadc8 Change invoice -> entity 2020-08-12 10:41:26 +10:00
David Bomba
928a9d46af Download historical invoice 2020-08-12 10:01:27 +10:00
David Bomba
6510536234 Fixes for view_link in emails 2020-07-29 12:13:12 +10:00
David Bomba
8f59515950 Fixes for shop post routes 2020-07-28 23:41:56 +10:00
David Bomba
41fdbd7978 Add client ids to activities 2020-07-23 21:20:05 +10:00
David Bomba
ce3696257f Fixes for base repo invitations 2020-07-23 13:55:11 +10:00
David Bomba
68f26d680c Working on Credit payments 2020-07-22 22:16:02 +10:00
David Bomba
8186b98e3c Clean up for lock invoices 2020-07-22 09:58:41 +10:00
David Bomba
8688625931 Validation for locked invoices 2020-07-22 09:54:39 +10:00
David Bomba
91c40b0517 Update enabled_modules value 2020-07-21 21:26:58 +10:00
David Bomba
0d8d793a4c Fix for including ALL relations on the refresh route if updated_at is provided 2020-07-21 21:19:21 +10:00
David Bomba
5dc0fcca0d Working on token billing 2020-07-13 14:46:16 +10:00
David Bomba
b4f669ad59 Update refresh route to filter all subqueries by updated_at 2020-07-10 09:28:09 +10:00
David Bomba
4c321d41c3 Change subscriptions to webhooks 2020-07-06 21:22:36 +10:00
David Bomba
20078c6e31 Add ability to set country_id by country code and currency_id by currency code 2020-07-02 20:56:10 +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
ef11b3eea1 Payment date is an optional 2020-07-02 20:22:40 +10:00
David Bomba
e216def2ff Use separate repo's for migrations 2020-07-01 14:37:05 +10:00
=
e3b8651211 RecurringService 2020-07-01 11:06:40 +10:00
=
3179676b1d working on recurring invoices - form requests 2020-07-01 10:12:53 +10:00
=
ed9527acfa working on recurring invoices - form requests 2020-07-01 10:11:47 +10:00
David Bomba
a1abc4f69c
Merge pull request #3851 from beganovich/v2-2606-payment-webhook
Stripe payment webhook
2020-06-28 13:06:43 +10:00
Benjamin Beganović
f68465d602 Support Stripe webhook 2020-06-27 17:39:28 +02:00
Benjamin Beganović
1b06fb99b1 payment webhooks wip 2020-06-27 15:53:12 +02: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
08d196e6c0 Fixes for tests 2020-06-26 08:29:24 +10:00
David Bomba
afc8537a2f Add document routes 2020-06-23 21:05:41 +10:00
David Bomba
f5cba4702e
Merge pull request #3831 from turbo124/v2
Add documents to any entity.
2020-06-23 07:49:41 +10:00
David Bomba
ff4e3c2184 Fixes for request layer of Quotes 2020-06-23 07:48:45 +10:00
David Bomba
f0d969ccf9 Validation rules for documents 2020-06-22 21:41:04 +10:00
Benjamin Beganović
01094a2b5e Merge remote-tracking branch 'upstream/v2' into v2-2805-client-signup 2020-06-22 10:27:35 +02:00
Benjamin Beganović
871d1057c7 Client registration logic 2020-06-22 10:26:48 +02:00
David Bomba
c2211bf2f0 FIxes for tests 2020-06-22 13:07:58 +10:00
David Bomba
7787aa49e9 assigned_user_id added to fillable models 2020-06-22 07:23:32 +10:00
David Bomba
79ce603d60 Fix for require invoices array UpdatePaymentRequest 2020-06-22 07:21:56 +10:00
Benjamin Beganović
6f34e083ae wip - registration client 2020-06-18 17:09:28 +02:00
Benjamin Beganović
22aa182250 Merge remote-tracking branch 'upstream/v2' into v2-2805-client-signup 2020-06-18 15:57:05 +02:00
David Bomba
2f1ec8a235 Fixes for payment type_id not sticking 2020-06-18 08:55:35 +10:00
David Bomba
7468813cd8 Working on Authorize payment flow 2020-06-16 10:21:40 +10:00
David Bomba
e35b1b6871 Debugging company delete issues 2020-06-09 19:29:41 +10:00
David Bomba
b6c0300775 Improve notification filters 2020-06-05 10:24:02 +10:00
Benjamin Beganović
551ede83e3 support first name and last name 2020-05-28 17:52:44 +02:00
Benjamin Beganović
41c76e55bc client register wip 2020-05-28 17:39:38 +02: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
3e77612210
Fixes for conflicts (#3743)
* Add checks for duplicate contacts in invitations

* Fixes for self updater

* homebrew self updater

* remove self-updater
2020-05-25 11:57:08 +10:00
David Bomba
ed5ce8634e
Fixes for self updater (#3740)
* Add checks for duplicate contacts in invitations

* Fixes for self updater
2020-05-25 09:45:12 +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
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
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ć
9c5e087b87
Migration improvements (#3661)
* Fix migration & add new case

* Update logging statement
2020-04-29 23:24:52 +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
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
4c0bba7814
Implement Custom Values (#3619)
* Add report errors to account transformer

* Implement resolving custom values
2020-04-11 11:41:43 +10:00
David Bomba
a4c190a920
google analytics key (#3617) 2020-04-10 21:56:02 +10:00
David Bomba
563d41c83a
Email Settings (#3615)
* Working on advanced email settings

* working on document storage

* Email Documents if they exist

* UBL invoices

* UBL Invoices

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

* Fixes for company filters

* Working on Token CRUD

* Tests for tokens

* Fixes for OPENApi

* Subscriptions

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

* code cleanup

* Working on reversing an invoice

* Working on reversing an invoice

* Working on refunding invoice

* Reversing invoices

* Test for invoice reversals

* Invoice Reversal
2020-04-08 20:48:31 +10:00
Benjamin Beganović
28cc7d5e52
Client portal improvements: (#3595)
-  Hide Create Payment Method if no gateways exist
- Payment Screen, add $amount
- Fix breadcrumbs
2020-04-07 07:23:05 +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
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
6df62faa82
Fixes for Invoice Designs (#3559)
* fixes for tests

* Working on Invoice Designs

* Update phpunit.yml

* Update phpunit.yml

* Working on sending an individual email

* Update phpunit.yml

* Fixes for designs

* Update phpunit.yml

* Working on sending entity email - individual

* Fixes for account creation

* Remove Laravel Horizon

* remove logging
2020-03-28 22:34:04 +11:00
Benjamin Beganović
de9faa9bc2
Work with setup (#3555)
* Remove StartupCheck from Kernel.php

* Real-time database check

* Catch the Exception with DB::getPDO

* Send test email - feature

* Forms

Co-authored-by: David Bomba <turbo124@gmail.com>
2020-03-28 14:46:50 +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
2ed7c557b0
Fixes (#3549)
* Fixes for designs

* minor fixes
2020-03-26 19:25:44 +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
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
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
70a560c474
Fixes for invoice status with partial payment (#3472)
* Fixes for UserPolicy

* Improve notifications

* Company quantities

* Fixes for invoice status with partial payments
2020-03-11 09:20:09 +11:00
David Bomba
6ffea888b0
Fixes for designs (#3463)
* Fixes for designs

* remove logs
2020-03-10 07:07:46 +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
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
2e76341e18
Fix typo (#3453) 2020-03-08 17:04:34 +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
7c00c68bf3
Create route for invoice/credit/quote PDF download (#3441) 2020-03-07 00:41:15 +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
6d33a1a4c8
broad level fixes for settings / transformers (#3432)
* Fixes for company settings object creation

* Working on group settings

* Fixes for storing the correct currency_id on client creation

* Fix for invoicetransformer
2020-03-06 16:08:44 +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
d14b21f471
Fixes for migration (#3418)
* Fix for setting a currency!

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

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

* fixes for migration
2020-03-04 15:06:27 +11:00
David Bomba
b8c26bb534
company_user.settings default to null (#3416) 2020-03-04 09:46:19 +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
cf345b1932
Set Default PDF Variables (#3409) 2020-03-02 22:03:40 +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
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
fba88c2d62
Fixes for tests (#3395) 2020-02-28 08:17: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
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
08b4c4f4e1
Fixes for invoice invitation creation (#3370)
* Working on invoice invitations

* Fixes for invitation creation
2020-02-25 09:00:28 +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ć
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
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
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
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
c25de936ed
Refactor - moving away from jobs. (#3279)
* Implement Services

* implement service pattern

* Service patterns

* Refactoring invoice paid

* refactoring invoice

* Refactor jobs

* Refactor - remove jobs

* Refactor jobs

* Refactoring jobs

* Refactoring away from jobs

* Refactoring jobs

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

* Tests for refunds

* Improve test speeds

* Fixes for tests

* Adjust the way we update products

* Adjustments for payments

* Fixes for payments
2020-02-02 07:45:23 +11:00
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
Benjamin Beganović
0f661495db
Create 'Credits' module (#3263)
* Create 'Credits' module

* Various fixes on Credit module

* Fix MarkCreditPaid factory
2020-01-30 12:27:22 +11:00
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ć
01c47d7c5d (Sync) beganovich:v2 to invoiceninja:v2 (#3254)
* Add more checks to invoice test

* Uploading migration file & test

* Comment redundant tests

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

* Reduce migration file size to improve test velocity

* minor fixes

* remove xhprof ext

* Tests for templates

* Remove commented tests

* Fix invoices testing & importing

* Sending e-mail when migration fails

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

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

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

* Migration importer & exception classes

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

* Tax rate migration

* Tax rate update
- Added company_id & user_id property modifiers

* Users migration

* Save IDs for users importing

* Add 'transformIds' method

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

* Exception for unresolved dependency

* Import clients

* Method for inspecting user_id

* Importing invoices

* Importing quotes

* Fix tests & wrap with try-catch

* Fix tax_rates user_id transform

* Working on migration

* Tests for migration

* fixes for test

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

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

* Change migration exceptions to MigrationValidatorFailed

* Fixes for tests and counters

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

* Comparing local data with inserted

* Ignore verification - wip

* Fix formatting for api.php

* Uploading file test (wip)

* Fix typo

Co-authored-by: David Bomba <turbo124@gmail.com>
2020-01-24 07:35:00 +11:00
David Bomba
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
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
ad06de25f5
Fixes for Payments (#3194)
* Set payment number on completed payment

* Fix for paymentables not returning

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

* php-cs traits

* CS fixer pass

* Password protect User routes

* Implement checks to prevent editing a deleted record

* Clean up payment flows

* Fixes for tests
2019-12-31 08:59:12 +11:00
David Bomba
b0da84baa7
Fix Quote transformer. (#3165)
* Use native Laravel prepareForValidation method instead of custom sanitize

* fix quote transformer
2019-12-20 22:23:09 +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
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
ec5cbe66a0
New Validation rule for USER POST route (#3138) 2019-12-08 21:28:52 +11:00
Benjamin Beganović
259a28099f Various fixes (#3136) 2019-12-07 22:33:49 +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
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
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
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
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
34cf93b78e
Portal Domain Validation (#3098)
* fix for blank client settings

* Force all custom fields to strings

* Fixes for bulk actions

* Fix for client transformer

* Validation for portal domain -> url

* Portal Domain Validation
2019-11-26 21:32:01 +11:00
David Bomba
4b4921703a
Fixes for blank client settings and force strings for custom_fields (#3096)
* fix for blank client settings

* Force all custom fields to strings
2019-11-26 20:11:22 +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
6d225b7fe7
Fixes for payments (#3081)
* Bump client contacts in test data

* Only allow a payment to be deleted once

* Update client balance and paid to date on payment

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

* Create Test Data artisan comannd

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

* Tests for Payments

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

* Working on custom payment validators

* Update Client balance

* fixes for client balance

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

* URL Links for invitations

* open up route for invitations

* Set DB by Invite

* Set DB By invitation Key

* Tests for setting DB based on user email address

* Middleware for setting db by email address

* fixes for tets

* fixes for tests

* Tests for bulk actions

* Payments API

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

* HasOneThrough for company user

* Validation rules for contact email addresses

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

* Unique emails per client

* fixes for company name

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

* Fixes for saving and transforming company settings
2019-11-13 08:26:40 +11:00
David Bomba
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
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
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
13e104c1d9
Fixes for line items (#3028) 2019-10-29 22:12:59 +11:00
David Bomba
004d39cc73
Fixes for blank settings (#3027) 2019-10-29 20:51:23 +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
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
3cbe60abda
clean up (#2978) 2019-10-11 11:54:53 +11:00
David Bomba
6698609512 Fixes for tests 2019-10-11 11:26:35 +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
3123547e55 Implement validation rule for settings 2019-10-10 12:01:38 +11:00
David Bomba
534b515849 Abstract settings save to separate trait 2019-10-09 10:53:33 +11:00
David Bomba
ebf439adcf fixes for client number incrementation 2019-10-08 22:17:05 +11:00
David Bomba
faa5a05ac1 Validation rules for update client 2019-10-08 22:14:23 +11:00
David Bomba
db3ccaf4bc validation fixes 2019-10-08 06:49:16 +10:00
David Bomba
d35a90cb94 change logo_url to company_logo_url 2019-10-07 22:06:23 +11:00
David Bomba
b8515e26b0 Upload company logo to client settings 2019-10-07 22:05:06 +11:00
David Bomba
264d6662e3 set blank object for client settings 2019-10-07 17:43:19 +11:00
David Bomba
6ea2140578 Remove json validation 2019-10-07 08:13:16 +11:00
David Bomba
cf67589f23 Open API 2019-10-06 19:44:00 +11:00
David Bomba
95be70a7b5 Group Settings 2019-10-06 08:24:46 +11: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
7c69de5ebb validate json fields 2019-10-05 08:15:57 +10:00
David Bomba
2c25f20a25 Force at least 1 product quantity 2019-10-04 21:57:33 +10:00
David Bomba
187fb67275 remove work_ prefix 2019-10-04 21:01:52 +10:00
David Bomba
724cccacfc Fixes for tests 2019-10-03 21:50:50 +10:00
David Bomba
3af84f7de7 Company Gateway endpoint and tests 2019-10-03 21:18:12 +10:00
David Bomba
16cd98980b Company Gateway Tests 2019-10-03 20:59:19 +10:00
David Bomba
3b6fa39d43 Fixes for transformers 2019-10-03 15:42:58 +10:00
David Bomba
9afcc28549 Fixes for company logo output 2019-10-03 15:17:57 +10:00
David Bomba
fd58aeb856 Company Gateway API 2019-10-03 13:21:24 +10:00
David Bomba
70d2531ab4 validation rules 2019-10-03 07:53:59 +10:00
David Bomba
0c5202ea8c API Tests for clients 2019-10-02 20:22:10 +10:00
David Bomba
441d52523d Add activities to API 2019-09-27 14:31:13 +10:00
David Bomba
515b32fd87 Bump to Laravel 6 2019-09-26 20:49:52 +10:00
David Bomba
af28b02fae Fixes for tests 2019-09-11 13:46:23 +10:00
David Bomba
43dc9158f6 Cleaning up Tests 2019-09-04 22:01:19 +10:00
David Bomba
47cdeef258 Working on building dynamic tables for invoices 2019-09-03 09:00:52 +10:00
David Bomba
668e01b814 Stubbing invoice design templates 2019-08-29 14:07:04 +10:00
David Bomba
d50cab40c2 Create client logo's 2019-08-26 19:28:21 +10:00
David Bomba
9a1d7d7e49 Clean up validation around how we handle email addresses 2019-08-25 20:43:21 +10:00
David Bomba
104ff30468 Finished Client Profile CRUD 2019-08-14 10:15:21 +10:00
David Bomba
b2f7740fa1 Unique email validation for contact 2019-08-14 07:16:31 +10:00
David Bomba
4a08414ca5 Working on User profile 2019-08-12 22:45:13 +10:00
David Bomba
433a2a01d7 clean up 2019-08-08 21:18:02 +10:00
David Bomba
c50fb68b21 Working on dropzone uploads - generic 2019-08-07 13:07:06 +10:00
David Bomba
f37f28a846 Working on upload avatar - generic 2019-08-07 10:44:38 +10:00
David Bomba
83f6a88cb3 fixes for tests 2019-07-05 08:36:40 +10:00
David Bomba
5b0cb2a218 Validation rules 2019-07-04 14:31:01 +10:00
David Bomba
accd7ae348 Rules for company update 2019-07-04 14:04:01 +10:00
David Bomba
879d87ea60 Add ability to upload company logo 2019-06-26 13:25:14 +10:00
David Bomba
a793100f79 Working on Company CRUD 2019-06-17 10:15:42 +10:00
David Bomba
42e7369c08 Fixes for tests 2019-06-17 09:58:33 +10:00
David Bomba
544e59bbba Transform id keys from Bulk routes 2019-06-12 14:22:05 +10:00
David Bomba
3ca2c26e90 additional middleware filters for users that are logging in 2019-06-12 11:00:38 +10:00
David Bomba
26f2bf71d5 Updates a user 2019-06-12 09:38:16 +10:00
David Bomba
79907e6206 Refactor the way we harvest the company entity 2019-06-12 09:15:17 +10:00
David Bomba
542a63707a unique email check 2019-06-05 14:06:27 +10:00
David Bomba
671760eda4 Fixes for unique email rule 2019-06-05 10:43:23 +10:00
David Bomba
494504a2d0 Working on tests for new GeneratesCounterTest 2019-05-27 20:48:52 +10:00
David Bomba
c236925e6d Fix Invoice Create routes 2019-05-16 08:26:21 +10:00
David Bomba
9b86780fa3 Update copyright 2019-05-11 13:32:07 +10:00
David Bomba
3fde744d77 Working on client saves 2019-05-10 16:08:33 +10:00
David Bomba
98d1480450 Store Invoice Job 2019-05-09 15:29:31 +10:00
David Bomba
10e0c8a05f Recurring Quotes 2019-05-05 10:49:01 +10:00
David Bomba
ac05fc6ff6 Working on Payments 2019-05-03 17:57:55 +10:00
David Bomba
c35f9fbe04 recurring invoices 2019-05-03 08:29:04 +10:00
David Bomba
6d14821528 Working on Quotes 2019-05-02 21:07:38 +10:00
David Bomba
cc4032ef3a prototype document upload class 2019-04-28 22:23:22 +10:00
David Bomba
a54fd4b931 Upload a file 2019-04-28 20:25:18 +10:00
David Bomba
16379fe514 User Requests 2019-04-27 19:20:03 +10:00
David Bomba
706625e83f Working on invoice actions 2019-04-23 14:16:41 +10:00
David Bomba
2b24753813 Working on Invoice Tests, refactoring Settings integration 2019-04-17 16:20:32 +10:00
David Bomba
82d573d759 Invoice API tests scaffolding 2019-04-16 15:28:30 +10:00
David Bomba
cb7eea0e7b Refactor invoice calculations class, use FormRequests on destroy() 2019-04-16 13:28:05 +10:00
David Bomba
c5e0d2a8d9 Scaffolding Invoice 2019-04-15 10:10:54 +10:00
David Bomba
2d5fc9e066 Working on tests for Product Route 2019-04-04 09:40:56 +11:00
David Bomba
cb93b9ebe4 Update a Product 2019-04-03 14:22:13 +11:00
David Bomba
39617644ad Save a product 2019-04-03 13:34:28 +11:00
David Bomba
08c4579464 Working on Products 2019-04-03 12:17:21 +11:00
David Bomba
7d86c8306a Clean up for tests 2019-03-28 20:05:13 +11:00
David Bomba
1c3f0c590c More tests for Client REST api endpoints 2019-03-28 08:32:50 +11:00
David Bomba
1986714927 fixeS 2019-03-27 19:38:01 +11:00
David Bomba
cf1e65f1c0
ctrans() translator helper (#2621)
* Refactor  pivot table accessors

* Add select2 for client - country selector

* Fixes for client contact update

* implement ctrans() function across application

* Increase custom fields to 4 across the application

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

* include querying the custom values in the client list

* Fix null custom value labels

* Scaffold for client - show view

* Working on Client Show
2019-01-25 21:47:23 +11:00
David Bomba
da325e1797
Refactor permissions for datatables. (#2615)
* Add URL link directly to client view in list view

* Implement Form requests for all client routes

* Refactor how permissions are implemented on Datatable row action menus

* fixes for tests
2019-01-22 01:06:49 +11:00
David Bomba
bdb0f43d33
Modules, VueJS (#2552)
* Fix for comparing delete contacts change diffKeys to diff()

* Client create

* Client Settings

* Working on localization

* Refactor DataTables

* protyping blade vs pure vue

* Rebuild test module

* Generic notes module

* Small Client Notes Module

* Tests for TabMenu Trait

* implements tab pills in client screen

* Integrate Modules
2018-12-13 10:23:21 +11:00
David Bomba
17a7f0564e
Create client (#2543)
* Fix for comparing delete contacts change diffKeys to diff()

* Client create

* Create client

* Create client
2018-12-07 21:57:20 +11:00
David Bomba
7ee295ec44
JS Form abstraction (#2542)
* added npm package to resolve typescript dependencies

* OO JS forms

*  OO forms

* Refactors forms to abstract form CRUD

* Working on Promises

* Fix for errors in js form

* Form validation with array of data

* Client update validation - array

* handle array validation

* Toastr notifications

* Clean up
2018-12-05 19:23:12 +11:00
David Bomba
4abe61f493
Fix for tests, set return types (#2524)
* View composers

* Saving client and contacts

*  saving client and contacts

* update client job

* unique emails

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

* Saving client and contacts

*  saving client and contacts

* update client job

* unique emails
2018-11-27 17:59:16 +11:00
David Bomba
b989cf82b7
Client CRUD with VueJS (#2497)
*  working on js localizations

* remove dependencies

* Pad Hashes to at least 10 characters in length

* Inject JS translations into front end dynamically

* Implement VueJS for Client Edit Page with reactivity

* Conditionally hide rows if not enabled (custom_value)

* Split client template into smaller components

* implementing ui buttons

* CRUD cycles of a client

* Working on Client CRUD - Integrity constraint issues
2018-11-11 00:24:36 +11:00
David Bomba
3b0cda1502
Set default company on account creation (#2487)
* Fixes for tests

* fixes for permissions

* Set default company on account creation

* Ensure default company ID is registered in session variables

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

* Laravel Telescope
2018-11-03 12:01:40 +11:00
David Bomba
d430600e1e
Datatables, Base Model, Base Presenter (#2484)
* Fixes for datatables

* Implement a BaseModel

* Working on reusable header data model

* Working on adding session variables

* Clean up header data

* Random Data Seeder

* working on searching datatables across relationships.

* Working on transforming primary keys between client and server facinglogic

* Updated assets
2018-11-02 21:54:46 +11:00
David Bomba
64041fb3cb
Refactor signup flow (#2465) 2018-10-24 14:50:15 +11:00
David Bomba
103a95955a
Sign up (#2460)
* Privacy Policy & TOS

* configure additional dependency packages for redis and modules, middleware implementation for multi-db

* Stub the signup
2018-10-19 14:45:55 +11:00
David Bomba
0f64ade43f
Vue.JS init (#2459)
* Fixes for code coverage + style

* Integration tests for MultiDB

* Start sprinking Vue.JS
2018-10-18 21:47:55 +11:00
David Bomba
62e2444a2c
Sign Up Scaffolding (#2453)
* Fix js dependencies

* Breadcrumb implementation

* Test for UniqueEmailRule Validation

* reduce length of account_key to prevent key too long error

* Fixes for travis - reduce user email length

* Reduce all unique field lengths to 100 to prevent key overflow

* Fix for Bank Model

* Prevent a user from registering multiple account with one email address when using multiple databases
2018-10-17 23:26:27 +11:00