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

556 Commits

Author SHA1 Message Date
Benjamin Beganović
0efaa767b9 Enable showing only client-related uploads 2020-08-17 16:31:49 +02:00
Benjamin Beganović
d55cfc42cf Separate page for download 2020-08-17 16:18:49 +02:00
Benjamin Beganović
4eb5490984 Enable downloads for the client 2020-08-14 17:29:26 +02:00
David Bomba
8028a71a9e
Merge pull request #3983 from beganovich/v2-1308-email-paddings
Fix padding inside of e-mail content
2020-08-14 06:53:54 +10:00
Benjamin Beganović
91dd0b5a6b Fix padding inside of content 2020-08-13 15:19:03 +02:00
Benjamin Beganović
207e271270 Update CSS link on the designs 2020-08-12 19:14:22 +02:00
Benjamin Beganović
1d7e4fd6c9 Implement footer signature & white-label logo 2020-08-11 17:57:35 +02:00
Benjamin Beganović
00903c717a Playful footer elements 2020-08-11 17:53:21 +02:00
Benjamin Beganović
2f40804568 Update designs so they reference Invoice or Quote 2020-08-10 13:18:05 +02:00
Benjamin Beganović
f7408e1fb3 Added new labels & update designs 2020-08-07 17:47:17 +02:00
David Bomba
f773356f70
Merge pull request #3951 from beganovich/v2-pdfmaker-integration
Designs integration with new PDF Maker
2020-08-06 07:57:56 +10:00
Benjamin Beganović
6676cab698 Playful 2020-08-05 15:40:57 +02:00
Benjamin Beganović
4f69a874cf Modern design 2020-08-05 15:17:45 +02:00
Benjamin Beganović
7a9c8ca9a0 Hipster design 2020-08-05 15:02:32 +02:00
Benjamin Beganović
66ff55cddf Elegant 2020-08-05 14:43:51 +02:00
Benjamin Beganović
b1b42f5919 Creative 2020-08-05 14:34:22 +02:00
Benjamin Beganović
1876b228ed Clean 2020-08-05 14:24:10 +02:00
Benjamin Beganović
2333a78775 Business design 2020-08-05 12:35:38 +02:00
Benjamin Beganović
d63678435f Bold design 2020-08-05 12:13:48 +02:00
Benjamin Beganović
35af6e137a Update padding on plain.html 2020-08-05 11:44:05 +02:00
Benjamin Beganović
0855c10fb3 Remove cdn from plain.html 2020-08-04 17:33:57 +02:00
Benjamin Beganović
ad2ff79336 Complete Plain.php 2020-08-04 17:32:28 +02:00
Benjamin Beganović
e5defd870b implement design interface 2020-08-04 16:56:17 +02:00
David Bomba
d7dbde3789 Implement PhantomJS 2020-08-04 21:00:19 +10:00
David Bomba
cc79511dc3 fixes for email template 2020-08-02 20:24:38 +10:00
David Bomba
81a34f3446 Fixes for email templates not displaying css correctly 2020-08-02 19:59:32 +10:00
Benjamin Beganović
57a60b1a74 Merge branch 'v2-2907-pdf-zoom' of github.com:beganovich/invoiceninja into v2-2907-pdf-zoom 2020-07-29 16:43:11 +02:00
Benjamin Beganović
81d0e69bf8 Update Alpinejs from CDN to local 2020-07-29 16:41:10 +02:00
Benjamin Beganović
f7c7a20179 Make Invoice Ninja logo redirect to invoiceninja.com 2020-07-29 16:40:21 +02:00
Benjamin Beganović
6171ebac6c Fix double scrollbars on full-screen preview 2020-07-29 16:39:10 +02:00
Benjamin Beganović
1d6346f3e7 Adjust zoom level for mobile devices 2020-07-29 15:27:43 +02:00
Benjamin Beganović
cb4efc8c61 wip 2020-07-29 14:53:58 +02:00
David Bomba
34575554af Working on handling refresh route 2020-07-26 08:27:49 +10:00
David Bomba
d61e497159 md5 flutter service worker 2020-07-24 19:07:31 +10:00
David Bomba
40b8ecf7c5 Fixes for refresh route 2020-07-24 19:05:52 +10:00
David Bomba
62999c766c Fixes for index version parameter 2020-07-24 15:58:24 +10:00
Benjamin Beganović
183a51b27c Update quotes page with right terminology 2020-07-23 12:20:19 +02:00
Benjamin Beganović
3b2e4c68e9 Update static html design paths 2020-07-22 14:43:07 +02:00
David Bomba
b797c82249 NPM and Node status 2020-07-21 11:43:59 +10:00
David Bomba
24e64fa911 Check for node and npm in setup 2020-07-21 11:11:35 +10:00
David Bomba
e5a8b8af0a Fixes for dem 2020-07-16 15:50:02 +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
fe4885f5a6 only send one notification per invoice 2020-07-14 19:55:28 +10:00
David Bomba
256deea92a Update index file for flutter 2020-07-07 08:35:28 +10:00
Benjamin Beganović
eb655762d4 Adding payment methods from menu 2020-07-03 14:39:29 +02:00
Benjamin Beganovic
605069f05b Test PDF abilites in setup 2020-07-02 13:58:39 +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
Benjamin Beganović
3df91f15e2 Fixes for setup page check 2020-06-30 14:28:14 +02:00
David Bomba
8eed07b8f5 Additional fields for entities 2020-06-28 08:24:08 +10:00
David Bomba
ae8a61cbcd Fixes for tests 2020-06-27 14:09:16 +10:00
David Bomba
91e0fba997
Merge branch 'v2' into v2 2020-06-27 12:22:08 +10:00
David Bomba
699678eb83 Fix for adding credit card as payment method with authorize.net 2020-06-27 12:21:16 +10:00
David Bomba
3e3dd95262
Merge branch 'v2' into v2-2606-client-portal-improvements 2020-06-27 07:49:33 +10:00
David Bomba
65b524bc13
Merge branch 'v2' into v2-2606-user-confirmation-page 2020-06-27 07:48:43 +10:00
Benjamin Beganović
46b70d78af Share layout between quotes & invoices 2020-06-26 15:20:26 +02:00
Benjamin Beganović
e5fedfa206 Fix wrong route 2020-06-26 15:16:40 +02:00
Benjamin Beganović
81b544a4d1 Update labels 2020-06-26 14:22:29 +02:00
Benjamin Beganović
c2904d0c92 Require password update if not set when confirming email 2020-06-26 14:20:45 +02:00
Benjamin Beganović
525a1d065c Fix ACH payments with tokens 2020-06-26 13:25:58 +02:00
David Bomba
cc265e0ff0
Merge pull request #3828 from beganovich/v2-2206-setup-page-fixes
Improve setup page
2020-06-25 07:18:07 +10:00
Benjamin Beganović
e48ff3e631 Update page with new ✔ style 2020-06-24 17:44:18 +02:00
David Bomba
74450727b1 Document events 2020-06-24 21:49:06 +10:00
David Bomba
ddb246c8b0 Manifest and client routs 2020-06-24 09:18:38 +10:00
Benjamin Beganović
7fce0335d9 Improve setup page 2020-06-22 15:52:32 +02:00
Benjamin Beganović
7ec153b832 Support for modals & terms 2020-06-22 15:33:56 +02:00
Benjamin Beganović
1de3c924f7 Extract form components into own blade files 2020-06-22 14:08:46 +02:00
Benjamin Beganović
fae29a8dfe Logo, show more fields 2020-06-22 10:47:55 +02:00
Benjamin Beganović
01094a2b5e Merge remote-tracking branch 'upstream/v2' into v2-2805-client-signup 2020-06-22 10:27:35 +02:00
David Bomba
dbff1ab6ab remove x-api-version and replace with x-minimum-client-version 2020-06-22 07:30:25 +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
0b7b90fc44
Merge branch 'v2' into v2-1706-improve-authroize-cards 2020-06-18 21:22:21 +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
Benjamin Beganović
02cf16797c Enable support for zooming levels 2020-06-17 16:52:39 +02:00
Benjamin Beganović
64b7884a83 optimize card-js form 2020-06-17 15:27:11 +02:00
David Bomba
f82953b44b Fixes for AUthorize.net 2020-06-17 21:15:24 +10:00
David Bomba
6b9cca14fb remove unneeded index.html 2020-06-17 19:46:12 +10:00
David Bomba
b1bad0b6f4 Front end error handling 2020-06-17 10:55:56 +10:00
David Bomba
09d130c1f7 Swap out credit card holder 2020-06-17 10:03:05 +10:00
David Bomba
69ae86ddc5 Merge branch 'v2-1606-authroize-form' of https://github.com/beganovich/invoiceninja into beganovich-v2-1606-authroize-form 2020-06-17 08:58:31 +10:00
Benjamin Beganović
f12cf36a29 Translations for invalid strings 2020-06-16 18:09:39 +02:00
David Bomba
2d2a5c0812 working on authorize.net token payments 2020-06-16 22:41:56 +10:00
David Bomba
9fa069e884
Merge branch 'v2' into v2 2020-06-16 14:01:55 +10:00
David Bomba
b85b0913a6 Authorize.net payment via credit card 2020-06-16 13:49:45 +10:00
David Bomba
2648690b48 authorize.net payment views 2020-06-16 10:31:05 +10:00
David Bomba
7468813cd8 Working on Authorize payment flow 2020-06-16 10:21:40 +10:00
David Bomba
50ebed173d
Merge branch 'v2' into v2-1006-checkout-com 2020-06-16 07:41:15 +10:00
Benjamin Beganović
ca103e16db Remove white card on top of pages 2020-06-15 17:34:26 +02:00
Benjamin Beganović
63d712226c Social links in the sidebar 2020-06-15 17:12:08 +02:00
Benjamin Beganović
701b9531bf Remove search bar from header 2020-06-15 15:53:52 +02:00
Benjamin Beganović
1e692d86c7 Show logo in footer 2020-06-15 15:52:17 +02:00
Benjamin Beganović
fae2326aa7 Implement footer with copyright message 2020-06-15 15:46:01 +02:00
Benjamin Beganović
72cd7ca91a Merge remote-tracking branch 'upstream/v2' into v2-1006-checkout-com 2020-06-15 14:26:59 +02:00
Benjamin Beganović
93f86db148 Payments using token 2020-06-15 14:18:44 +02:00
David Bomba
fc40159d36 Fixes for currency precision 2020-06-15 21:42:46 +10:00
Benjamin Beganović
8a3c8ef9fb fix payment status 2020-06-15 13:27:14 +02:00
David Bomba
1dd73e3a06 Add expose headers 2020-06-13 07:37:36 +10:00
Benjamin Beganović
71a3814973 Update page for showing payment method 2020-06-12 16:26:06 +02:00
Benjamin Beganović
d37064e393 wip 2020-06-11 15:13:35 +02:00
Benjamin Beganović
049f30104e checkout 2020-06-10 17:38:10 +02:00
David Bomba
def550ec90
Merge branch 'v2' into v2 2020-06-10 22:51:25 +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ć
18892220c7 Remove portal debugging span 2020-06-09 14:45:14 +02:00
Benjamin Beganović
19f1750f22 Various portal changes:
- Added 'currencies' variable to portal compoer
- Added verification logic to StripePaymentDriver
- Fixed 'CreditCard' data array with failures
- 'verification' translations
- ACH verification views
- Verification routes
2020-06-09 14:42:23 +02:00
David Bomba
6c7ca0d8c9 Working on authorize 2020-06-09 21:53:23 +10:00
Benjamin Beganović
1965dbf041 Stripe: SOFORT implementation 2020-06-09 13:17:05 +02:00
David Bomba
4985f94ce1 Working on Authorize.net 2020-06-09 13:54:09 +10:00
Benjamin Beganović
706d9622b7 Fix e-mails css injecting 2020-06-02 15:01:10 +02: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
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
fe3242a095 Adjustments for setup page 2020-05-28 18:54:13 +10:00
David Bomba
c72d38ca4f
Allow conversion of quotes to invoices (#3760) 2020-05-27 14:46:19 +10:00
Benjamin Beganović
703ef51685
Client portal tests (using Cypress.io) (#3758)
* Install Cypress

* Fix npm vulnerabilities

* scaffold cypress

* ignore local tests

* login page test

* invoices tests

* recurring invoices

* payments tests

* payment methods tests

* update invoices & quotes

* credits tests
2020-05-27 07:45:29 +10:00
Benjamin Beganović
586424d2c0
Add logo to confirmed page (#3735)
* Updated

* bring

* Add logo to confirmed page
2020-05-23 08:28:57 +10:00
Benjamin Beganović
6e473b9987
Fix quotes page (undefined variable) (#3719)
* fix quotes page

* fix translation
2020-05-19 22:59:59 +10:00
Benjamin Beganović
aedb5b6cd9
Show page on account confirmation (#3720) 2020-05-19 22:59:44 +10:00
Benjamin Beganović
07d90417f5
Purge CSS from e-mails (#3712)
* Add e-mail support for purging

* update css link
2020-05-19 08:22:29 +10:00
Benjamin Beganović
ea8a585771 wip 2020-05-18 14:06:13 +02:00
Benjamin Beganović
81aa4cc52e
Client portal tests (#3704) 2020-05-15 07:04:41 +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ć
14577fdfd0
Remove breadcrumbs (#3699)
* Remove breadcrumbs

* remove config
2020-05-14 11:02:23 +10:00
Benjamin Beganović
1f846e3136
fix counter (#3684) 2020-05-12 09:24:47 +10:00
Hillel Coren
ca75d0c0d0 Support Google OAuth login 2020-05-11 20:21:23 +03: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ć
e3e52987c3
Reset v2 into working stage (#3673)
* fix withsorting

* fix recurring invoices table

* Reset BasePaymentDriver
2020-05-05 07:22:31 +10:00
David Bomba
42ccfe0700
Checkout stubs (#3672)
* minor fixes for name spaces, collector facade and composer version bump

* Fixes for invoiceworkflowsettings

* Add more context to support emails

* Working on Firing Subscriptions

* Minor fixes

* Fixes for gateway filtering

* Checkout Driver
2020-05-04 21:13:46 +10:00
Benjamin Beganović
4d2e4733c6
Fix inputs, make setup page more nice (#3665) 2020-05-01 22:18:22 +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ć
3aa884dc11
Client portal improvements (#3654)
* Invoice table filters

* Quotes table filters

* Improve tables & translation

* Fix profile page inputs

* Fix profile page inputs & bump TailwindCSS version
2020-04-25 09:17:37 +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ć
272109f699
Custom js and css in client portal (#3638) 2020-04-17 20:15:26 +10:00
David Bomba
05346fc1c6
Add button to emails (#3637) 2020-04-17 07:21:44 +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
Benjamin Beganović
01e8afc1f6
PDF preview improvements (#3632)
- Added total page and current page preview
- Added new "Page" translation
- Replaced CDN based assets with local
- Production builds of assets

Co-authored-by: David Bomba <turbo124@gmail.com>
2020-04-17 07:18:07 +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ć
4af53922ed
Added new options for migrations (#3628)
- New 'existing.blade' e-mail
- Added .php_cs cache in .gitignore
- Updated MigrationController with new options
2020-04-14 08:20:54 +10:00
Benjamin Beganović
f118f3bfda
Show custom messages (#3616)
* Show custom messages

* Fix getSetting key

* Add custom messages support with variable parsing
2020-04-13 11:48:23 +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
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
Benjamin Beganović
a87ae37ce1
Rendering PDFs using PDF.js (client portal) (#3589)
* Wip for testing

* Rendering PDFs using pdf.js
2020-04-04 07:12:12 +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
Benjamin Beganović
f9567e8227
Send e-mail when migration has completed (#3573)
- New completed.blade.php
- Apply php-cs-fixer on Import.php
2020-04-01 23:39:59 +11:00
Benjamin Beganović
9f563d2fbf
Handling setup errors (#3567)
- Removed count() for Mail::failures()
- Added new error alert if occurs
- Fix syntax error
- Apply php-cs-fix
2020-03-31 18:00:24 +11:00
Benjamin Beganović
3bc84f86d0
Display prerequisites for the setup (#3566)
* Display prerequisites for the setup
    - Block the doSetup() if SystemHealth is not true
    - Convert extensions when checking into array notation
    - Added new translations for the screen
    - New 'issues' page
    - Hide submit button when health is not good

* Fix more translations
2020-03-30 23:30:32 +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
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
Benjamin Beganović
1882836d8d
Translations (#3552) 2020-03-27 08:43:57 +11:00
Benjamin Beganović
b8b5245253
Setup page real-time checks (#3551)
* Setup page real-time checks:
- New setup.js inside of webpack.mix.js
- SetupController methods rename from snake case to camel case
- Added Axios module inside of app.js

* Disable Laravel Mix notifications

* Fix naming for request
2020-03-27 08:43:44 +11:00
Benjamin Beganović
4729a3841b
Setup redesign (#3546) 2020-03-26 10:40:09 +11:00
Benjamin Beganović
1256d44660
Setup page design: (#3544)
- Removed 'folders' from webpack.mix.js
- Design for setup page
2020-03-26 08:34:35 +11:00
Benjamin Beganović
e93bdffc0b
Fixes for Stripe payments (#3542)
* Payment fixes:
- Added new "process.js" inside of webpack.mix.js
- BasePaymentDriver now accepts raw array, no explode
- StripePaymentDriver now accepts raw array, no explode
- Removed 'form-control' class from #card-element
- New credit_card for processing payment

* Production build of assets
2020-03-26 00:08:37 +11:00
David Bomba
24c9121b1b
Template Previews (#3527)
* Fixes for add / archiving / deleting users

* Working on templates

* Fixes for templating

* Fixes for templating

* Add referral code to account creation

* Fixes for development environment
2020-03-25 13:50:08 +11:00
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
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
4c23d43138
Working on Setup workflow (#3509)
* Refactor designs to remove whitespace

* enable dummy data for templating

* Insert faker data into templates

* Fixes for user deletion

* Documentation on User controller:

* Working on app setup

* Files for app setup

* Working on Setup

* Final fixes for setup controller

* Fixes for setup

* Fixes for first install

* Minor fixes
2020-03-18 20:40:15 +11:00
David Bomba
0e12b63c95
Design Changes (#3504)
* Fixes for tests

* Working on PDF tables

* Fixes for null values in designs

* Refactoring entity variables for PDF

* Fixes for pdf variables

* Minor fixes for designs

* Working on variable replacement for tables

* Refactoring designs

* Refactoring designs

* Refactoring design implementation

* Working on refactoring designs

* Serve tailwind locally

* Design changes
2020-03-16 21:12:10 +11:00
Benjamin Beganović
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
d13ab48d86
Refactor Designs (#3449)
* Refactor custom invoice HTML generation

* remove table_styles() method from designs

* Refactor designs

* Clean up designs
2020-03-07 17:31:26 +11:00
David Bomba
280271718b
Migration improvements: (#3428)
- Refactored exceptions
- Changed failed.blade.php
- Removed report() method from exceptions
- Added new force flag for MigrationController.php
2020-03-06 07:30:32 +11:00
Benjamin Beganović
5a7d6c4a7a
[v2] Hide white label for paid users (#3421)
* Control the white label

* Remove redirect
2020-03-04 22:22:57 +11:00
Benjamin Beganović
40af77d324
(V2) Improve validation & error handling (#3414)
* wip - migration transfer

* (WIP) Response refactor:
- Catching exceptions at top level
- Tests refactor

* wip

* Wrappign migration validator:
- Migration dropped to queue
- New validator messages
- New exception messages

* Fixes for tests
2020-03-04 09:44:42 +11:00
Benjamin Beganović
177c756dd8
Increase logo size (#3394) 2020-02-28 08:17:31 +11:00
Benjamin Beganović
79a5f6b809
Remove SVG from e-mails (#3391) 2020-02-28 07:23:57 +11:00
David Bomba
9ac66661ba
Fixes for tests (#3389)
* Fixes for tests

* payment
2020-02-27 17:29:40 +11:00
Benjamin Beganović
aef6135e30
New email design (#3386) 2020-02-27 07:55:23 +11:00
Benjamin Beganović
af0cad05e9
Add support for images (#3366) 2020-02-25 08:13:19 +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ć
6ca0841626
(wip) Default e-mail template (#3342)
* E-mail template

* Light & dark -email

* Light version of template & example-mail

* Add template with dark background

* Remove unused templates
2020-02-21 07:56:42 +11:00
David Bomba
f57339f185
Fixes and Refactors for Invoice Emails. (#3339)
* Working on emailing invoices

* Working on emailing and displaying email

* Working on emailing and displaying email

* Email invoices

* Fixes for html emails

* Ensure valid client prior to store

* Ensure client exists when storing an entity

* Update variable name send -> send_email for client_contacts

* Mailable download files

* Extend timeouts of password protected routes when a protected route is hit

* Add default portal design to company settings

* Minor fixes

* Fixes for Tests

* Fixes for invoicing emails

* Refactors for InvoiceEmail

* Implement abstractservice

* Refactors for services

* Refactors for emails

* Fixes for Invoice Emails
2020-02-17 20:37:44 +11:00
Benjamin Beganović
7dd6f814ac
Change 'Quote' & 'Invoice' service implementation (#3327)
* Change '__invoke' to 'run' for Invoice services

*  Change '__invoke' to 'run' for Quote services
2020-02-14 14:32:22 +11:00
David Bomba
4a3d37a42b
Flutter Client ! (#3325)
* Working on emailing invoices

* Working on emailing and displaying email

* Working on emailing and displaying email

* Email invoices

* Fixes for html emails

* Restart queue after self-update

* Email Invoices

* Push Flutter Web Clientgit statusgit status!
2020-02-13 22:27:42 +11:00
David Bomba
caa47d8662
Fixes for self-updater (#3313)
* Include Self-Update mailers

* Fixes for self-update
2020-02-12 13:51:43 +11:00
Benjamin Beganović
01c47d7c5d (Sync) beganovich:v2 to invoiceninja:v2 (#3254)
* Add more checks to invoice test

* Uploading migration file & test

* Comment redundant tests

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

* Reduce migration file size to improve test velocity

* minor fixes

* remove xhprof ext

* Tests for templates

* Remove commented tests

* Fix invoices testing & importing

* Sending e-mail when migration fails

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

Co-authored-by: David Bomba <turbo124@gmail.com>
2020-01-28 07:56:48 +11:00
David Bomba
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
f8551d6119
Multi-Master Support for MySQL (#3146)
* Minor fixes for OpenAPI docs for clients

* Add fields to company transformer

* Padding email templates, system level and custom

* Minor fixes for email template subject

* Working on Email Templates

* Clean up User model, remove redundant permissions methods

* Implement Locale for API

* Implement Locale middleware for client routes

* Remove global constants

* Fixes for removing the global constants file

* Working on TDD for emails

* TDD for emails

* implement additional template variables

* Add support for Multi-Master replication with MySQL
2019-12-14 16:49:48 +11:00
David Bomba
550cb42722
Dynamically apply locale (#3140)
* Minor fixes for OpenAPI docs for clients

* Add fields to company transformer

* Padding email templates, system level and custom

* Minor fixes for email template subject

* Working on Email Templates

* Clean up User model, remove redundant permissions methods

* Implement Locale for API

* Implement Locale middleware for client routes
2019-12-11 07:25:54 +11:00
David Bomba
90eeb59754
Fixes for client display_name (#3137)
* Minor fixes for OpenAPI docs for clients

* Add fields to company transformer

* Padding email templates, system level and custom

* Set Unique value on client_contact_id & invoice_id on invitations table

* Fix for client display_name
2019-12-08 18:33:44 +11:00
David Bomba
329a9ffb73
Update OAuth token on Auth. (#3119)
* Fixes for OAuth

* Update token on OAuth login
2019-12-04 13:00:59 +11:00
David Bomba
a7048ee61d
Implement Support for PHP 7.4 (#3102)
* Fixes for company factor

* Add dates to create test data

* Fixes for transformers, use faker to generate random dates

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

* Fixes for route model binding
2019-11-28 21:35:13 +11:00
David Bomba
9702dc741c
Refactor for invoices/quotes/credit transformers (#3100)
* Refactor Invoices / Quotes / Credits to use the same transformer

* Add contact_key to factories
2019-11-27 21:27:24 +11:00
David Bomba
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
adfced11d6
Add design_id to invoice and quote table (#3013)
* Add conditional checks in client portal

* Add ability to cancel recurring invoices from client portal

* Fixes for types

* Add fields to invoice and quote table
2019-10-24 07:37:20 +11:00
David Bomba
ed449ea1ab
Default gateway type ID (#3008)
* Show Recurring Invoice - Client Portal

* Password protect some routes

* Password Protection Routes

* Add default_gateway_type_id to gateway table
2019-10-22 22:27:03 +11:00
Benjamin Beganović
b35bff3cde Forward support messages to contact@invoiceninja.com with system-level info (#2993)
* Sending support messages via API

* Sending log files only if self-hosted

* Remove legacy code
2019-10-17 07:12:38 +11:00
David Bomba
1c21b6dc7c
Invoice Calculations (#2985)
* Fixes for invoice item line totals

* Refactoring invoice calculations

* Update api-docs

* Fixes for invoice calculations

* remove tests

* fixes for config files
2019-10-13 21:59:55 +11:00
David Bomba
ec0f49e88a Add conditional on invoice view page for pay now link 2019-10-08 16:10:50 +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
accbbcf67b Flash message 2019-10-08 12:03:40 +10:00
David Bomba
3900529e83 Format dates for client 2019-10-04 08:06:38 +10:00
David Bomba
ae02953a8f Client portal client screen 2019-10-04 07:51:54 +10:00
David Bomba
5adc88d01e Docs 2019-10-03 22:17:48 +10:00
David Bomba
2d5d9b816b Payment Events 2019-10-01 11:56:48 +10:00
David Bomba
06479906cb Fixes for lang 2019-09-26 23:15:25 +10:00
David Bomba
487f93933b Laravel V6 2019-09-26 23:00:51 +10:00
David Bomba
515b32fd87 Bump to Laravel 6 2019-09-26 20:49:52 +10:00
David Bomba
bbe5049a2d add padding to tables 2019-09-26 15:14:07 +10:00
David Bomba
0687817ae8 Create payment after payment and mark invitations as paid 2019-09-25 16:23:51 +10:00
David Bomba
362f197fbb Store payment after invoice is confirmed paid 2019-09-25 15:55:52 +10:00
David Bomba
5090c963d3 Payment responses and saving card details 2019-09-25 14:03:28 +10:00
David Bomba
89330e6e34 Fixes for payment methods datatables 2019-09-25 12:41:45 +10:00
David Bomba
46602a21c5 Stripe payments 2019-09-25 12:07:33 +10:00
David Bomba
8027e72217 Laravel standard error pages 2019-09-25 07:18:41 +10:00
David Bomba
8b44affe6d replace pay now button with dropdown button 2019-09-24 15:01:32 +10:00
David Bomba
b6a0350952 Logic for modal display 2019-09-21 14:18:08 +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
970809f248 payment method list 2019-09-19 21:11:44 +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
0f9f418e7e Add Credit card to client portal 2019-09-17 21:54:14 +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
57e6de2f37 Stripe add payment method 2019-09-16 19:56:24 +10:00
David Bomba
0331575197 Working on card authorisation for Stripe 2019-09-16 14:59:59 +10:00
David Bomba
6b8cbe4e7c Working on preauth credit card stripe 2019-09-16 12:05:30 +10:00
David Bomba
8944727d6b Working on client payment methods 2019-09-15 21:40:46 +10:00
David Bomba
cbb1ca7660 Working on updating credit card 2019-09-14 22:34:05 +10:00
David Bomba
7cfe0c22fb Add Payment Method - client side 2019-09-13 15:52:01 +10:00
David Bomba
b1836224e2 Working on contact payment page 2019-09-13 08:33:48 +10:00
David Bomba
da0c0080a5 Fixes for login api 2019-09-12 21:46:09 +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
76ba0624bc fixes for dependencies 2019-09-05 08:04:45 +10:00
David Bomba
ebeed02d03 Clean up 2019-09-05 07:55:49 +10:00
David Bomba
af601e0b03 WOrking on invoice template layouts - css 2019-09-04 23:26:08 +10:00
David Bomba
43dc9158f6 Cleaning up Tests 2019-09-04 22:01:19 +10:00
David Bomba
bc7e09b924 Working on tests for line item taxes 2019-09-04 15:10:10 +10:00
David Bomba
cd40ba95e6 Invoice templates 2019-09-04 11:45:53 +10:00
David Bomba
e60bcf2d23 Dynamic invoice tables for PDF generation 2019-09-04 09:16:23 +10:00