1
0
mirror of https://github.com/invoiceninja/invoiceninja.git synced 2024-11-11 05:32:39 +01:00
Commit Graph

548 Commits

Author SHA1 Message Date
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
David Bomba
9431abb300 Working on payment flow - client side 2019-09-12 16:10:21 +10:00
David Bomba
de3c724f48 Bug Fixes 2019-09-11 16:35:31 +10:00
David Bomba
ac19a4bb12 Working on cascading settings 2019-09-11 15:32:47 +10:00
David Bomba
af28b02fae Fixes for tests 2019-09-11 13:46:23 +10:00
David Bomba
e329c24879 Fixes for tests 2019-09-11 12:01:49 +10:00
David Bomba
b853dd80ed Working on payment methods 2019-09-09 16:25:33 +10:00
David Bomba
8a90d46287 Working on payment methods 2019-09-09 12:19:19 +10:00
David Bomba
0856fc2dfd Working on gateway payment flow 2019-09-08 22:13:55 +10:00
David Bomba
f5e19ece06 Payment screen 2019-09-05 15:04:52 +10:00
David Bomba
374cc88c06 Display PDF 2019-09-05 09:52:49 +10:00
David Bomba
668e01b814 Stubbing invoice design templates 2019-08-29 14:07:04 +10:00
David Bomba
b7d9ad1808 Create more date helpers 2019-08-29 08:13:26 +10:00
David Bomba
1c31f6de0f Refactors, and create a number helper 2019-08-28 12:36:53 +10:00
David Bomba
e5b60195d8 Working on Formatting data in client timezone 2019-08-28 11:13:10 +10:00
David Bomba
0af0d9786d Fixes for test 2019-08-28 10:58:13 +10:00
David Bomba
33b42db47c Tests 2019-08-28 09:19:54 +10:00
David Bomba
d50cab40c2 Create client logo's 2019-08-26 19:28:21 +10:00
David Bomba
bad61e8984 Payment Gateways - padding 2019-08-22 08:34:20 +10:00
David Bomba
a40fb82971 Working on Payment list for client portal 2019-08-19 16:50:33 +10:00
David Bomba
c2441bdef0 Client Portal Payments List View 2019-08-16 15:20:28 +10:00
David Bomba
0892993afe Recurring Invoice ListView 2019-08-15 21:10:02 +10:00
David Bomba
03d67bbb52 Recurring Invoices - Client Portal 2019-08-15 15:19:00 +10:00
David Bomba
a6b78fd7a6 Working on recurring invoices listview 2019-08-15 14:31:03 +10:00
David Bomba
ec939e2f61 Working on client payment flow 2019-08-14 20:23:44 +10:00
David Bomba
dc65ede956 Remove links to multidatabaseuserprovider 2019-08-14 15:40:22 +10:00
David Bomba
434d4a46d7 Work on paying bulk invoices 2019-08-14 13:22:47 +10:00
David Bomba
c55d4f1b5b Invoice List View - Client Portal 2019-08-14 12:16:09 +10:00
David Bomba
104ff30468 Finished Client Profile CRUD 2019-08-14 10:15:21 +10:00
David Bomba
60853a8510 Edit client information 2019-08-14 07:41:02 +10:00
David Bomba
b2f7740fa1 Unique email validation for contact 2019-08-14 07:16:31 +10:00
David Bomba
7c35859a6e Finished Contact Details Page 2019-08-13 09:56:46 +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
9823df51b3 Working on Client Uploads 2019-08-08 21:07:26 +10:00
David Bomba
37e8f41bff Working on Client Uploads 2019-08-08 18:13:32 +10:00
David Bomba
fac762391a Working on dropzone uploads 2019-08-08 10:22:54 +10:00
David Bomba
3e91a4f700 Working on client side uploads 2019-08-07 16:56:19 +10:00
David Bomba
f37f28a846 Working on upload avatar - generic 2019-08-07 10:44:38 +10:00
David Bomba
68f43671a8 Working on profile avatar upload - with dropzone 2019-08-05 15:29:50 +10:00
David Bomba
b96b03440d Implement Select 2 filtering for client portal invoices 2019-08-05 12:58:12 +10:00
David Bomba
9387072711 Datatables 2019-08-05 05:59:28 +10:00
David Bomba
9b1075539c Working on client portal profile 2019-08-02 10:31:48 +10:00
David Bomba
df5778c3c5 Working on Javascript front end 2019-07-30 08:28:38 +10:00
David Bomba
3829a874aa Add Former dependency 2019-07-29 13:59:28 +10:00
David Bomba
888fecf886 Working on client portal - datatables 2019-07-26 08:19:01 +10:00
David Bomba
a215e9b056 Working on client portal - datatables 2019-07-26 08:05:13 +10:00
David Bomba
fd9c746c8d Working on datatables 2019-07-25 14:51:00 +10:00
David Bomba
7a6f9c993b Stubs for datatables 2019-07-23 13:31:53 +10:00
David Bomba
f237bd958d fix spacing between sidebar icons and link text 2019-07-23 09:25:53 +10:00
David Bomba
1823a23b2d view composers for client portal 2019-07-22 13:54:34 +10:00
David Bomba
2df2ec44ba View Composer for Client Portal 2019-07-19 14:32:51 +10:00
David Bomba
9b86780fa3 Update copyright 2019-05-11 13:32:07 +10:00
David Bomba
2a613d2722 start mysql in travis 2019-04-24 11:21:50 +10:00
David Bomba
639b22c69c Bump dist version to xenial for travis 2019-04-24 11:12:27 +10:00