1
0
mirror of https://github.com/invoiceninja/invoiceninja.git synced 2024-11-10 21:22:58 +01:00
Commit Graph

504 Commits

Author SHA1 Message Date
Benjamin Beganović
d4c51871ef - Update Braintree credit card to use amount_with_fee
- Add amount_with_fee to payment hash
2021-04-29 11:29:28 +02:00
Benjamin Beganović
9c97421a55 wip 2021-04-28 14:54:50 +02:00
David Bomba
067c3cad62 Fixes for Stripe Connect 2021-04-22 21:22:55 +10:00
David Bomba
cba4a361ce Integrate credit payments into Subscriptions 2021-04-16 14:47:11 +10:00
David Bomba
c2990a21d0 Fixes for tests 2021-04-14 16:48:32 +10:00
David Bomba
2237939491 Subscriptions 2021-04-14 12:40:16 +10:00
David Bomba
a386a33a7e
Merge branch 'v5-develop' into v5-develop 2021-04-13 19:35:44 +10:00
David Bomba
f2342e640a Subscriptions 2021-04-13 19:34:59 +10:00
David Bomba
7e3a9205b9 Add event listeners for Subscriptions + fix user actioning the event() 2021-04-13 09:52:17 +10:00
David Bomba
bde5166827 Subscriptions 2021-04-12 21:56:08 +10:00
Benjamin Beganović
84e930e971
Merge pull request #5405 from beganovich/v5-1004-ach-message
(v5) Send ACH notification e-mail after connecting bank account
2021-04-12 11:51:55 +01:00
Benjamin Beganović
7e1cc64247 Send ACH notification e-mail after connecting bank account 2021-04-10 10:44:06 +02:00
David Bomba
62401555cd Working on pro rata refunds 2021-04-10 14:07:08 +10:00
Benjamin Beganović
ec1d4e05c1 - Rename: $target_subscription to $target and all references
- Ability to pay for the upgrade
2021-04-08 16:53:54 +02:00
Benjamin Beganović
969d9f03dc wip 2021-04-07 18:08:26 +02:00
Benjamin Beganović
08b317f7b8 allow cancellation under specific conditions 2021-04-01 16:38:46 +02:00
David Bomba
404ee307fd Magic link maker 2021-03-31 11:07:54 +11:00
Benjamin Beganović
c4ff24132e wip 2021-03-29 14:35:27 +02:00
Benjamin Beganović
ed4fff2385 - Bundle qty without ability to increment/decrement value
- One time & subs 
- A table with all products included in subscription (qty, price, notes) 
- Two tables, one for subscriptions, one for one-time purchases 
- If no products, no table 
- Remove quantity from cached data that is being sent 
- Remove "billing_subscription_id" from data sent 
2021-03-25 16:52:03 +01:00
David Bomba
abd3a89bc9
Subscriptions (#5248)
* Fixes for converting quote to invoice

* Fixes for naming PDFs

* Refresh entity prior to sending

* Fixes for subscriptions

* Add in required use

* Fixes for notifications

* Fixes for notifications

* Add with trasheD

* Rename BillingSubscriptions to Subscriptions

* Refactoring subscriptions
2021-03-25 21:55:59 +11:00
Benjamin Beganović
e78fb7e891 Update quering the language/locale using Cache instead of DB 2021-03-22 14:09:29 +01:00
Benjamin Beganović
3bcb65efc2 Set locale from query parameter 2021-03-18 15:41:26 +01:00
Benjamin Beganović
127c6cb3cd wip 2021-03-17 16:12:25 +01:00
Benjamin Beganović
4350816804 wip 2021-03-15 17:33:27 +01:00
Benjamin Beganović
908678cdc4 wip 2021-03-12 15:00:33 +01:00
Benjamin Beganović
d546c4711c wip 2021-03-11 17:20:30 +01:00
Benjamin Beganović
3696b06566 Scaffold landing page for billing, controller & endpoint 2021-03-11 14:05:23 +01:00
Benjamin Beganović
3cb6d07c20 Change default full-screen view for invoices & quotes:
- New $url property for file_path() for invoices & quotes
- "Full screen" mode now returns raw file
- Show default browser viewer for desktop devices
2021-02-18 13:18:41 +01:00
Benjamin Beganović
aacc3b6602 wip 2021-02-15 15:52:13 +01:00
David Bomba
5ad5606ea2 Request cancellation notification refactor 2021-02-15 09:12:14 +11:00
David Bomba
2b31b3bd8c Notification types 2021-02-15 08:32:59 +11:00
Benjamin Beganović
3653c7901a Update rules for under payments 2021-02-09 12:48:22 +01:00
David Bomba
fb8bf55e5c Clean up logging 2021-01-31 17:49:28 +11:00
David Bomba
65ee07b8ec Remove Spatie Ray - poor error handling 2021-01-30 12:13:32 +11:00
Benjamin Beganović
615ef1e780 Allow payments of draft invoices:
- Remove processing overlay scripts
- Add flash message to clean layout
- Remove $balance > 0 check from filtered invoices
- Only show the payment methods if total is bigger than 0
- Change flash message from "warning" to "message"
- Show message for $1 payments
2021-01-27 14:10:24 +01:00
Benjamin Beganović
130714f457 Throw PaymentFailed exception if something goes wrong with response 2021-01-27 11:54:29 +01:00
Benjamin Beganović
64e6dad248
Merge branch 'v5-develop' into v5-2001-gateways-and-new-tokens 2021-01-25 16:47:58 +01:00
Benjamin Beganović
fb66bfbe71 wip 2021-01-25 16:46:40 +01:00
David Bomba
af523a6346 detach payment method from authorize gateway 2021-01-25 23:16:43 +11:00
Benjamin Beganović
2fccfe2df1 - Rewrite of checkout-credit-card.js
- Fixed bug with detach() on driver class
- Changed the way token checking works from frontend
- Support for multiple payment methods on payment page
- Changed save card label to "Save payment method details"
- Updated relevant Javascript assets
2021-01-20 16:19:01 +01:00
David Bomba
cbd6f212b5 deprecate old getPaymentMethods() 2021-01-18 13:59:06 +11:00
David Bomba
cbce8c8a46 minor fixes for client portal 2021-01-15 22:19:34 +11:00
Benjamin Beganović
2a193c97ea Show quotes/invoices in full-screen by default 2021-01-14 13:29:46 +01:00
David Bomba
8b22fa5a47 Fixes for user events 2021-01-14 15:31:45 +11:00
David Bomba
976f610158 fixes for validation 2021-01-13 23:20:15 +11:00
David Bomba
a6121295c2 Fix for retrieving quote PDF 2021-01-13 19:58:01 +11:00
David Bomba
989d2fe574 Default show dashboard to false 2021-01-13 18:47:14 +11:00
David Bomba
b76e404401 Adjust use credits functionality 2021-01-12 08:42:30 +11:00
David Bomba
7c1d751e56
Merge pull request #4659 from turbo124/v5-develop
Version bump
2021-01-10 09:15:47 +11:00
David Bomba
7285a6df03 Mark invoice as sent if viewed in portal as Draft 2021-01-10 09:13:48 +11:00
Benjamin Beganović
fe4f01d98a Wrap processPaymentView & processPaymentRequest into try-catch 2021-01-08 13:45:08 +01:00
David Bomba
a5290e067e Fix for suming amounts payable 2021-01-08 14:25:54 +11:00
David Bomba
2e499adea6 Fix for task status null color value 2021-01-08 09:03:29 +11:00
=
56bcaf0785 Fix for custom payment driver label 2021-01-07 21:09:24 +11:00
David Bomba
5d302ad450 Fixes for multi payments 2021-01-07 18:21:49 +11:00
David Bomba
31dd8b2d77
Merge pull request #4643 from turbo124/v5-develop
Fixes for tax precision
2021-01-07 17:09:08 +11:00
David Bomba
2cd5d2d68a Minor fixes for credit_payments in CP 2021-01-07 10:18:57 +11:00
Benjamin Beganović
e1df465883 Show the message if invoice is unpayable 2021-01-06 14:22:48 +01:00
David Bomba
04d8bcccb1 Fix for error handling in PayPal driver 2021-01-06 20:28:48 +11:00
David Bomba
65afd70b38 Always ensure the client has a currency set 2021-01-06 19:50:13 +11:00
David Bomba
47f42b804d Fixes for partial credit payments" 2021-01-06 16:54:04 +11:00
David Bomba
3ee3f67c8c Fixes for over payments 2021-01-06 16:14:20 +11:00
David Bomba
934610a01c Update copyright + version bump + set canadian dollar symbol to $ 2021-01-04 08:54:54 +11:00
David Bomba
e791741efa Fixes for displaying recurring invoices in the client portal 2021-01-03 18:56:42 +11:00
Benjamin Beganović
8df80ddab0 fixes for paypal redirecting to stripe 2020-12-30 12:02:04 +01:00
Benjamin Beganović
20c010448a apply php-cs-fixer 2020-12-16 12:52:40 +01:00
David Bomba
05f4572454
Merge branch 'v5-develop' into v5-develop 2020-12-14 21:44:01 +11:00
Benjamin Beganović
79570b6118
Merge pull request #4453 from beganovich/v5-custom-payment-driver
(v5) Custom payment driver
2020-12-14 10:12:56 +01:00
David Bomba
6f451b8924 Remove redundant info() Change document download route 2020-12-13 20:46:29 +11:00
David Bomba
aa1a788d6e Public document download route 2020-12-12 19:46:28 +11:00
Benjamin Beganović
d45571d7f9 wip 2020-12-09 15:17:48 +01:00
David Bomba
634e5cadcc remove redundant code 2020-12-08 21:49:23 +11:00
Benjamin Beganović
0aff363f5d php-cs-fixer 2020-11-27 12:08:42 +01:00
David Bomba
9f4979095b Temp routes" 2020-11-27 20:21:18 +11:00
David Bomba
5a3c93bb3c Temp routes" 2020-11-27 20:14:01 +11:00
David Bomba
b3cdb19b4d
Merge pull request #4362 from beganovich/v5-gateways-required-fields
(v5) Support for pre-checking gateway requirements
2020-11-26 06:57:48 +11:00
Benjamin Beganović
ae88d5e08e php-cs-fixer format 2020-11-25 15:19:52 +01:00
Benjamin Beganović
169e5ba93e support for checking requirements based on gateway 2020-11-25 14:38:49 +01:00
Benjamin Beganović
d64308fdd1 production builds 2020-11-17 16:57:42 +01:00
Benjamin Beganović
501f3c9b0e injecting signatures into entity invitations 2020-11-17 16:57:34 +01:00
David Bomba
28cbd75fcb Fixes for credit PDF 2020-11-11 11:13:39 +11:00
Benjamin Beganović
4dc3443d16 fix quotes not approving 2020-11-09 16:37:53 +01:00
David Bomba
552ac4ee8f
Merge pull request #4257 from turbo124/v5-develop
Event Tests
2020-11-03 23:45:04 +11:00
David Bomba
14fd4a5af4 Event Tests 2020-11-03 23:35:05 +11:00
Benjamin Beganović
0942169d4f Handle Alipay payments
- Refactored main Alipay class
- Added new N/A translation
- Fixed issue with alipay.js
2020-11-02 16:20:38 +01: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ć
1ae2649be6 Stripe ACH authorization & verification 2020-11-01 18:47:48 +01:00
David Bomba
de48512908 Activity record when quote is approved 2020-10-30 08:43:23 +11:00
David Bomba
9aeb2d7a5b Psalm cleanup 2020-10-28 21:10:49 +11:00
David Bomba
97db2ad3b6
Merge pull request #4202 from beganovich/v2-checkout-refactor
(v5) Checkout.com refactor
2020-10-27 23:18:42 +11:00
Benjamin Beganović
223ae4cb5b - Extract $payment_hash property onto BaseDriver
- Handle internally failed payments inside BaseDriver
- Add SYSTEM_LOG_TYPE property on CheckoutComPaymentDriver
- Remove resolving of $payment_hash inside of payment methods
2020-10-27 12:53:35 +01:00
David Bomba
8f53424017 Fixes 2020-10-27 06:10:04 +11:00
Benjamin Beganović
dcb48297fb wip refactor 2020-10-22 15:24:18 +02:00
David Bomba
07cbb6a71a Fixes for showing recurring invoices in the client portal 2020-10-16 07:35:15 +11:00
David Bomba
901f7c4117 Working on credit payments 2020-10-15 14:35:35 +11:00
David Bomba
0d17b299a0 Refactor payments for credits 2020-10-15 11:37:16 +11:00
David Bomba
a5555cc434 Working on credit payments" 2020-10-14 10:53:20 +11:00
David Bomba
080c82770e Working on credit payments 2020-10-13 23:28:30 +11:00
David Bomba
96750d5fdb Refactor for payments via client portal 2020-10-13 21:32:15 +11:00
David Bomba
57faf6eeb5 Use credits for payments in client portal 2020-10-13 14:25:51 +11:00
David Bomba
1eadbde544 working on refactor of company gateway fees 2020-10-12 22:02:02 +11:00
David Bomba
65a1f150d5 Fixes for tests 2020-10-12 20:38:55 +11:00
David Bomba
8b48f26c79 Fixes for calcuting gateway fees and for removing unpaid gateway fees appropriately 2020-10-11 08:31:50 +11:00
David Bomba
61646ec55c
Merge pull request #4151 from turbo124/v2
Console commands for small test data batches
2020-10-10 14:32:49 +11:00
David Bomba
407304d3c6 Console commands for small test data batches 2020-10-10 14:32:10 +11:00
Benjamin Beganović
f33e6768c0 Use invoice 'balance' when comparing with over & under payments. 2020-10-09 16:08:12 +02:00
David Bomba
5cd1acd484
Merge pull request #4143 from turbo124/v2
Gateway fixes
2020-10-09 22:13:58 +11:00
Benjamin Beganović
4f26a868a7 Add findOrFail() 2020-10-09 12:44:57 +02:00
David Bomba
cf7ee6338e Working on templates 2020-10-09 12:59:59 +11:00
Benjamin Beganović
a210790a57 Fix overpayments 2020-09-29 14:16:01 +02: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
7e85ee0be3
Merge branch 'v2' into v2 2020-09-24 21:37:17 +10:00
Benjamin Beganović
0216286efc Support for over & under payments 2020-09-24 11:29:47 +02:00
David Bomba
0e5199e052 Working on contact auth using contact key 2020-09-23 11:45:07 +10:00
=
88eb05786e Fixes for updateinvoicepayment 2020-09-19 11:20:14 +10:00
Benjamin Beganović
a1e11cf161 invoices-table fix for balance due 2020-09-18 14:47:36 +02:00
Benjamin Beganović
020005d20d Update PaymentMethodController:destroy() with generic gateway detach 2020-09-18 09:48:39 +02:00
David Bomba
18282acbd7 Allow circumvention of client portal passwords using designated hash 2020-09-07 14:49:57 +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
bb4aac1aeb
Merge pull request #4025 from turbo124/v2
Gateway fees implementation
2020-08-31 17:58:43 +10:00
David Bomba
1bd3deca4f Invoice payments with gateway fees 2020-08-31 14:27:47 +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
1bc71fb5d8 Working on gateway fees 2020-08-30 08:00:57 +10:00
David Bomba
1a7d0d3cbd Working on gateway fees across multiple invoices 2020-08-27 22:12:39 +10:00
David Bomba
ff5d8ad871 Fixes for gateway fees 2020-08-26 11:14:15 +10:00
David Bomba
d57f0f9236 Refactoring client payments 2020-08-26 10:53:11 +10:00
David Bomba
79e0fa56e2 Convert currency string to float 2020-08-26 10:47:50 +10:00
David Bomba
37c5a7adb5 Test for gateway fees appending to invoice 2020-08-26 08:10:49 +10:00
David Bomba
1c55b529a0 Refactor payments 2020-08-25 23:18:17 +10:00
David Bomba
979916adb5 Refactor payments 2020-08-25 23:06:38 +10:00
Benjamin Beganović
5a03d81112 Fix blank page when downloading invoices 2020-08-25 08:55:55 +02:00
Benjamin Beganović
0530204b08 Update copyright 2020-08-20 03:17:29 +02:00
Benjamin Beganović
f4698c0108 Support multiple downloads 2020-08-20 03:10:04 +02:00
Benjamin Beganović
9b524f22e6 Download files with original name 2020-08-19 18:06:26 +02:00
David Bomba
ba3f3e6989
Merge branch 'v2' into v2 2020-08-19 07:59:19 +10:00
Benjamin Beganović
0a493c275e Enable is_public for document uploads 2020-08-18 16:12:46 +02:00
Benjamin Beganović
4eb376e830 Enabe client uploads 2020-08-18 16:01:25 +02:00
Benjamin Beganović
acdd9c936c Fix route model binding 2020-08-18 14:38:46 +02:00
Benjamin Beganović
d55cfc42cf Separate page for download 2020-08-17 16:18:49 +02:00
David Bomba
d6e169a891 Working on tests for fees and limits 2020-08-17 13:03:21 +10:00
Benjamin Beganović
4eb5490984 Enable downloads for the client 2020-08-14 17:29:26 +02: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
f28a604d84 Fixes for invoicewasviewed 2020-07-28 19:49:09 +10:00
David Bomba
62f084b2aa Events 2020-07-22 17:53:14 +10:00
David Bomba
da88319418 Event listener for invoice viewed 2020-07-17 11:18:40 +10:00
David Bomba
0ff8b68fbe
Merge pull request #3906 from turbo124/v2
Stripe - Autobilling
2020-07-15 15:05:42 +10:00
Benjamin Beganović
556e1280d0 Fixes for quote page 2020-07-14 13:00:28 +02:00
David Bomba
00a3d36fcd Bug with viewed_date populating erroneously 2020-07-14 15:37:49 +10:00
David Bomba
1d7ba6d1e6 Fixes for event parameters 2020-07-14 08:06:28 +10:00
David Bomba
f3572a5d11 Refactor for events 2020-07-08 22:02:16 +10:00
Benjamin Beganović
eb655762d4 Adding payment methods from menu 2020-07-03 14:39:29 +02:00
Benjamin Beganović
4918269bf2 Testing adding Stripe credit card
- Added: iframeLoaded method for Cypress
- Fixed: saving payment method id for CreditCard.php
- Added: chromeWebSecurity: false flag for insecure iframe connections
- Formatted: payment_methods/index
- Formatted: payment-methods-table.blade.php
- Added: Test for adding credit card to Stripe
- Fixed: Removing client gateway tokens
2020-07-01 18:28:57 +02:00
David Bomba
245980ce4b Send company with all events 2020-06-30 09:35:17 +10:00
David Bomba
3e3dd95262
Merge branch 'v2' into v2-2606-client-portal-improvements 2020-06-27 07:49:33 +10:00
Benjamin Beganović
2c1627c105 Hide dashboard page (for now) 2020-06-26 16:05:48 +02:00
Benjamin Beganović
525a1d065c Fix ACH payments with tokens 2020-06-26 13:25:58 +02:00
David Bomba
8ed382a0b7 Change to streaming downloads 2020-06-24 18:59:56 +10:00
Benjamin Beganović
8efc453c45 Support for "Approve" button with fullscreen quotes 2020-06-18 12:51:47 +02:00
Benjamin Beganović
e727d45029 Support for "Pay now" button with invoices 2020-06-18 12:48:31 +02:00
David Bomba
2d2a5c0812 working on authorize.net token payments 2020-06-16 22:41:56 +10:00
David Bomba
7468813cd8 Working on Authorize payment flow 2020-06-16 10:21:40 +10:00
David Bomba
fc40159d36 Fixes for currency precision 2020-06-15 21:42:46 +10:00
David Bomba
def550ec90
Merge branch 'v2' into v2 2020-06-10 22:51:25 +10:00
David Bomba
76d320e079 Refactor for payment methods 2020-06-10 22:43:18 +10:00
David Bomba
15081c2875 Working on Authorize.net 2020-06-10 18:05:30 +10:00
David Bomba
17d10f5f66 Working on Authorize.net 2020-06-10 11:06:37 +10:00
Benjamin Beganović
b6ad39b8e2 Stripe: Alipay implementation 2020-06-09 16:56:08 +02:00
David Bomba
c558e0df45 authorize.net 2020-06-09 22:54:22 +10:00
Benjamin Beganović
e78ae5d9c4 Stripe: ACH implementation 2020-06-09 14:40:55 +02:00
Benjamin Beganović
1965dbf041 Stripe: SOFORT implementation 2020-06-09 13:17:05 +02:00
Benjamin Beganović
06190362ee extract purchase response 2020-06-01 16:19:03 +02:00
Benjamin Beganović
b589814d7b Extract paymentView 2020-06-01 14:29:41 +02:00
Benjamin Beganović
b94ce97bac Extract response from authorization 2020-06-01 14:14:41 +02:00
Benjamin Beganović
0f4d7f6aed Refactor view for authorization 2020-06-01 14:03:18 +02:00
Benjamin Beganović
6319c208df injecting signature and sending it to backend 2020-05-28 15:59:45 +02:00
Benjamin Beganović
7d1eeafebe Merge branch 'v2' 2020-05-28 14:41:18 +02:00
David Bomba
c72d38ca4f
Allow conversion of quotes to invoices (#3760) 2020-05-27 14:46:19 +10:00
Benjamin Beganović
ea8a585771 wip 2020-05-18 14:06:13 +02:00
David Bomba
2000795fdc
Fixes for correct way to change an auth'd contact (#3708) 2020-05-16 21:13:32 +10:00
Benjamin Beganović
a613cfed7c
Payment refunds (#3687)
* Fix whereClientId when starting payment

* Refunding using Paypal

* Refunding engine

* Cleanup and making refund method work

* Remove "refund" method from BasePaymentController

* Add "refund" to PaypalExpressPaymentDriver

* Extract refunding into own classes

* Apply php-cs-fixer to PaypalExpress

* Refunding with stripe
2020-05-14 11:04:23 +10:00
Benjamin Beganović
2704bf2f82
Client portal improvements & bug fixes (#3678)
* fix turbolink 404

* fix checkbox when adding card using stripe

* Fix hashed_ids problem when using PayPal

* php-cs-fixer

* Bump tailwind & purgecss

* fix auth scope

* scope to auth contact company
2020-05-09 08:20:37 +10:00
Benjamin Beganović
7f9abbf96b
Quick login with client contacts (#3680)
- New dropdown in navigation bar
- New switch_company route
- New $multiple_contacts variable in PortalComposer
2020-05-09 08:19:39 +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
Benjamin Beganović
ab8b05dd56
Client portal improvements (#3652)
* Install livewire/livewire

* Table improvements

- Cleanup of InvoiceController
- Added Livewire package
- New Livewire component (InvoicesTable)
- New WithSorting trait
- Removed rendering invoices from index.blade.php
- Removed Yaryabox/Datatables references in InvoiceController

* Refactor: Recurring invoices

* payments table & sorting improvements

* payment methods table

* quotes table

* credits table

* Add turbolinks
2020-04-23 08:49:23 +10:00
Benjamin Beganović
b285067adb
Client portal improvements (1/2) (#3649)
- Fix for building dependencies
- Fixes for data table sorting
- Improved styling of tables
- Improved buttons padding, position
2020-04-21 08:26:25 +10:00
Benjamin Beganović
2215f40ec3
Password protected invoices (#3635)
* Password protected invoices (wip)

* Add support for invitations

* Update comments & php-cs-fixer

* Add Forgot your password
2020-04-17 07:19:21 +10:00
David Bomba
e5a230e0c7
Performance improvements (#3634)
* Adjustments for tests

* Implement handling of temp downloading resources

* Refactor paths

* Refactors for file paths

* Refactor paths

* Add in S3 adapter

* Refactor company Documment URL

* Refactor for entity pdf performance

* Refactors for invoice generation

* Enhancements for emails invoices

* Emails

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

* Remove legacy docs

* Clean up credit transformer

* Working on invoice emails

* Clean up for invoice designs

* Tests for light and dark theme emails

* Working on reminder scheduling

* Reminder Job Class

* Fixes for github actions

* PHP CS

* Test for reminders

* Test for reminders
2020-04-15 10:30:52 +10:00
Benjamin Beganović
8f4fa5e80d
Client portal improvements (#3607)
* Remove Html\Builder dependency from controllers

* Remove: yajra/laravel-datatables-html

- yajra/laravel-datatables-oracle as main non-dev dependency

* Added sorting to tables
2020-04-09 12:18:07 +10:00
David Bomba
bfc434071f
Fixes for self-installer (#3604)
* Fixes for self updater

* Fixes for self updater

* Fixes for self updater

* Fixes for self-updater
2020-04-08 22:19:07 +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
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
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
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
cd36f64423
Fixes for Users (#3526) 2020-03-25 10:20:42 +11:00
Benjamin Beganović
2b85feedc0
Fixes for "Pay now" with invoices (#3523)
* Fixes for invoice payments
- Changed the input from $hashed_ids to invoices[] as an array
- Fixes for payment.js

* Fix redirect back
2020-03-25 09:13:47 +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
Benjamin Beganović
aad9f81e93
(Daily sync) Password reset pages & client portal rework (#3492)
* Dependency clearing

* Tailwind & templates cleanup

* Password reset pages & more features:
- New $this->render() method
- Password reset pages
- Tailwind CSS scaffold
- New styles for buttons, inputs, alerts
- Changed to shorthand syntax for language file (en)
- Added app.css and app.js which will be main endpoint
- Added new 'theme' field inside of ninja.php
- Scaffold for 'ninja2020' theme: both client and global theme
- Ignoring local builds of assets, until purgeCSS is there
- Overall cleanup

* Switch back default template to 'default'

* Remove app.css build

* Fix Codacy

* Fix Codacy 'doublequote' issues
2020-03-14 08:17:08 +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
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
7c00c68bf3
Create route for invoice/credit/quote PDF download (#3441) 2020-03-07 00:41:15 +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
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
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
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
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
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
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
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
a6f928b181
Fixes for settings, implement invitations from invoice request (#3047)
* Fixes for client portal localization

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

* Minor Fixes

* Refactor for invitations on invoices

* Fixes for settings
2019-11-07 09:57:09 +11:00
David Bomba
3405b91c64
Bulk download PDF, Client Portal formatting (#3046)
* Update OpenAPI for TemplateController

* Add bulk invoice download functionality

* Working on Client portal

* Move selective queries to cache instead of DB

* Fix formatting in Payments table, implement cache for languages, resolve route model for clientcontacts and users
2019-11-06 09:52:57 +11:00
Benjamin Beganović
4694675b91 Payment methods (#3045)
- Deleting payment methods
2019-11-06 09:51:39 +11:00
David Bomba
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
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
b6d6d3928b
Eager loading (#2995)
* Fixes for tests

* Eager load payment types
2019-10-16 21:24:33 +11:00
David Bomba
2e4cd7459a Add pay now button to each row in table 2019-10-08 16:09:59 +11:00
David Bomba
fb513ebe69 Customise column width for datatable 2019-10-08 14:04:35 +10:00
David Bomba
75b089fa19 Multi payment invoices with filtering of already paid invoices 2019-10-08 13:06:27 +10:00
David Bomba
accbbcf67b Flash message 2019-10-08 12:03:40 +10:00
David Bomba
ae02953a8f Client portal client screen 2019-10-04 07:51:54 +10:00
David Bomba
5adc88d01e Docs 2019-10-03 22:17:48 +10:00
David Bomba
b8aaa8c082 Payment hooks 2019-09-30 07:49:43 +10:00
David Bomba
0687817ae8 Create payment after payment and mark invitations as paid 2019-09-25 16:23:51 +10:00
David Bomba
5090c963d3 Payment responses and saving card details 2019-09-25 14:03:28 +10:00
David Bomba
46602a21c5 Stripe payments 2019-09-25 12:07:33 +10:00
David Bomba
d34b129474 fix error formatting 2019-09-24 08:37:38 +10:00
David Bomba
bbabe4836b Fix DB search 2019-09-23 22:19:37 +10:00
David Bomba
1e1be26980 Invitation routing 2019-09-23 15:59:01 +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
04b4f224fa Working on terms and signature authorization 2019-09-21 12:17:27 +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
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
c79211c4f4 Mitigate nulls in database 2019-09-17 15:42:10 +10:00
David Bomba
662aa3aed1 Working on credit card auth response 2019-09-16 21:03:25 +10:00
David Bomba
0331575197 Working on card authorisation for Stripe 2019-09-16 14:59:59 +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
da0c0080a5 Fixes for login api 2019-09-12 21:46:09 +10:00