1
0
mirror of https://github.com/invoiceninja/invoiceninja.git synced 2024-09-21 17:01:33 +02:00
Commit Graph

498 Commits

Author SHA1 Message Date
David Bomba
053c1ca5fa billing_subscriptions cleanup 2021-03-09 08:29:59 +11:00
Benjamin Beganović
2de12ea973 Routes for billing subscriptions 2021-03-08 15:17:40 +01:00
=
616dea2c9d Add webcron support 2021-03-07 17:45:48 +11:00
David Bomba
1780db52bd Invite user route 2021-03-04 09:39:24 +11:00
David Bomba
bfbde2ba51 Fixes 2021-03-03 21:04:10 +11:00
=
c23b9b147d Fixes for attaching a user to different companies 2021-03-03 18:22:14 +11:00
=
aa290172ae One Time Token Requests 2021-03-02 19:03:01 +11:00
=
18fa537791 Add one time token functionality 2021-03-02 18:52:25 +11:00
David Bomba
c063aee812 enums for email delivery 2021-02-26 08:06:43 +11:00
David Bomba
d1044a861e Bug fix for TwoFactorController 2021-02-24 10:00:51 +11:00
David Bomba
67d0f525af Postmark webhooks 2021-02-22 20:46:01 +11:00
David Bomba
53f79440c0 Connected accounts 2021-02-22 08:27:00 +11:00
=
087129788b Working on 2FA 2021-02-20 11:45:20 +11:00
David Bomba
4612379811 Fixes for file upload on dedicated routes 2021-02-16 20:02:33 +11:00
David Bomba
6edaf5d557 Entity upload routes + reorder api.php routes file 2021-02-16 08:14:30 +11:00
David Bomba
292c7b8068 Invoice upload document route 2021-02-15 22:34:05 +11:00
David Bomba
dedc7c2cb3 Expense document uploads 2021-02-15 22:07:47 +11:00
David Bomba
afb2306598 Credit upload route 2021-02-15 22:00:02 +11:00
David Bomba
7bf6d7c48a Document route for clients / company 2021-02-15 21:52:50 +11:00
David Bomba
269f83f317 Translations 2021-01-25 11:57:49 +11:00
David Bomba
2f58096872 Fixes for displaying Recurring Invoice PDF 2021-01-15 13:02:55 +11:00
David Bomba
e791741efa Fixes for displaying recurring invoices in the client portal 2021-01-03 18:56:42 +11:00
Benjamin Beganović
92d2a514ca Supprot Stripe for webhooks 2020-12-19 13:11:42 +01:00
Benjamin Beganović
6fa90c7060 Change webhook order 2020-12-17 12:47:46 +01:00
Benjamin Beganović
942652b668 Update webhooks to support Checkout.com & apply php-cs-fixer 2020-12-17 12:27:15 +01:00
Benjamin Beganović
d3033c902d wip 2020-12-16 15:25:42 +01:00
Benjamin Beganović
9662d9af92 Update webhooks for Checkout:
- Update api.php -> gateway_key => company_gateway_id
- Pass correct reference to url in CreditCard.php
- Update PaymentWebhookController.php to support new company_gateway_id
- Update PaymentWebhookRequest.php to resolve company gateway from correct input
2020-12-16 13:47:10 +01:00
David Bomba
8df553c4cc Working on CSV imports 2020-12-16 11:01:15 +11:00
David Bomba
6f451b8924 Remove redundant info() Change document download route 2020-12-13 20:46:29 +11:00
David Bomba
584bef52fc Working on import 2020-12-12 21:01:53 +11:00
David Bomba
aa1a788d6e Public document download route 2020-12-12 19:46:28 +11:00
David Bomba
6a03bcc546
Merge branch 'v5-develop' into v5-develop 2020-12-09 07:25:16 +11:00
David Bomba
634e5cadcc remove redundant code 2020-12-08 21:49:23 +11:00
Benjamin Beganović
4a4a974a8d update matching on payment_webhook route 2020-12-07 14:48:58 +01:00
Benjamin Beganović
4959917b7e fix issue with multiple companies switching 2020-12-03 15:33:18 +01:00
Benjamin Beganović
d84f5bc5bb Fixes for Checkout.com refunding 2020-12-03 13:38:57 +01:00
David Bomba
5a3c93bb3c Temp routes" 2020-11-27 20:14:01 +11:00
Benjamin Beganović
ae88d5e08e php-cs-fixer format 2020-11-25 15:19:52 +01:00
Benjamin Beganović
d503f1ee58 Refactor accepting new migrations:
- Remove {company} parameter from /migration/start
- Refactor logic for startMigration
2020-11-11 18:26:17 +01:00
David Bomba
c995ac5f44 Add API Documentation to repo 2020-11-04 12:27:07 +11:00
=
6479b2fd3e Fix for laravel 8 route file regression + psalm cleanup 2020-11-01 16:09:09 +11:00
David Bomba
b267353ced Fixes for credits view in portal 2020-10-29 21:19:10 +11:00
David Bomba
2c40adca8d Credit Emailer 2020-10-28 10:21:53 +11:00
David Bomba
6c1b952111
Refactor requests to use generics (#41)
* Validation rules for expenses

* Tests

* Tests
2020-10-22 17:46:02 +11:00
David Bomba
f0a08544d6 Fixes for show recurring" 2020-10-21 20:24:33 +11:00
David Bomba
2b839f2ce1 Fixes for password reset route 2020-10-21 08:04:19 +11:00
David Bomba
f0e4a94bee Task Statuses 2020-10-20 10:01:59 +11:00
David Bomba
07cbb6a71a Fixes for showing recurring invoices in the client portal 2020-10-16 07:35:15 +11:00
David Bomba
96750d5fdb Refactor for payments via client portal 2020-10-13 21:32:15 +11:00
David Bomba
05caec8aef expense categories 2020-10-13 15:08:56 +11:00
David Bomba
71535c0e41 Add tasks to API 2020-10-13 07:42:02 +11:00
David Bomba
dd4d14d128 Implement Projects API 2020-10-08 09:25:39 +11:00
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
0e5199e052 Working on contact auth using contact key 2020-09-23 11:45:07 +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
66499a9a31 System Logs 2020-08-24 15:08:49 +10: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
Benjamin Beganović
4eb376e830 Enabe client uploads 2020-08-18 16:01:25 +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
bcd69dadc8 Change invoice -> entity 2020-08-12 10:41:26 +10:00
David Bomba
928a9d46af Download historical invoice 2020-08-12 10:01:27 +10:00
David Bomba
c195f5b8a5 Add middleware to destroy document 2020-08-11 13:21:43 +10:00
David Bomba
e183238b8e Add Shop Profile Route 2020-08-05 12:12:38 +10:00
David Bomba
d7dbde3789 Implement PhantomJS 2020-08-04 21:00:19 +10:00
David Bomba
a6967892ea system health route 2020-07-30 10:30:49 +10:00
David Bomba
fd97aff3f1 Fixes for routes"
git push
2020-07-28 23:24:01 +10:00
David Bomba
caad3661d5 Refactor to user company_key instead of company_token 2020-07-28 21:58:15 +10:00
David Bomba
a8a0c7695c Shop routes 2020-07-28 21:30:11 +10:00
David Bomba
d5b777206e Shop routes 2020-07-28 21:19:51 +10:00
David Bomba
2e165c11ca Bulk actions for tokens 2020-07-13 09:31:07 +10:00
David Bomba
b96e2aa78b Bulk actions for tax rates 2020-07-13 09:29:44 +10:00
David Bomba
4c321d41c3 Change subscriptions to webhooks 2020-07-06 21:22:36 +10:00
Benjamin Beganovic
605069f05b Test PDF abilites in setup 2020-07-02 13:58:39 +02:00
David Bomba
d3775fd059 Change PING route response 2020-07-02 20:14:19 +10:00
David Bomba
7a02938bd9 Route to check status of scheduler 2020-07-02 10:26:43 +10:00
David Bomba
302c98e08b Fixes for demo data 2020-07-01 21:33:42 +10:00
Benjamin Beganović
1e4e482801 Merge remote-tracking branch 'upstream/v2' into v2-2606-payment-webhook 2020-06-27 15:53:18 +02:00
Benjamin Beganović
1b06fb99b1 payment webhooks wip 2020-06-27 15:53:12 +02:00
Benjamin Beganović
c2904d0c92 Require password update if not set when confirming email 2020-06-26 14:20:45 +02:00
David Bomba
f927e08d41 Fixes for tests 2020-06-25 21:52:04 +10:00
David Bomba
06413da090 Document behind route 2020-06-24 22:12:43 +10:00
David Bomba
889ac65f26 Bulk actions on groups 2020-06-24 09:39:49 +10:00
David Bomba
ddb246c8b0 Manifest and client routs 2020-06-24 09:18:38 +10:00
David Bomba
afc8537a2f Add document routes 2020-06-23 21:05:41 +10: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
6b7db63e66 Design repository 2020-06-22 08:34:02 +10:00
Benjamin Beganović
22aa182250 Merge remote-tracking branch 'upstream/v2' into v2-2805-client-signup 2020-06-18 15:57:05 +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
2e15e58f12 Fix for bad rouite 2020-06-09 19:01:10 +10:00
David Bomba
949061a213 Fix for deleting last company in account 2020-06-09 18:59:38 +10:00
David Bomba
cd6ea87232 Add bulk actions to company gateway 2020-06-04 08:18:27 +10:00
David Bomba
4e84d83db1 Api routes upate 2020-06-01 09:59:26 +10:00
Benjamin Beganović
41c76e55bc client register wip 2020-05-28 17:39:38 +02:00
David Bomba
c339c25d9c
Bulk actions for Payment Terms (#3752)
* Fixes for tests

* payment terms policies and repo

* Bulk actions for payment terms

* Fixes for documentation

* working on payment failure mailer
2020-05-26 18:20:50 +10:00
David Bomba
970c9bb87d
Payment Terms (#3737)
* Fixes for converting a quote to invoice

* Fixes for deleting an invoice

* Payment Terms CRUD

* Payment Terms

* Push PaymentTerms back into the DB

* Payment Terms

* Payment Terms

* Create api docs for payment terms
2020-05-23 13:28:24 +10:00
David Bomba
84a64773a6
Adjustments for OAuth (#3707)
* Fixes for null values in custom values

* Refactor mailing

* Working on send emails from GMail API

* Fixes for tests

* Test for GMail

* Adjustments for storing oauth token
2020-05-16 20:26:16 +10:00
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ć
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ć
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
David Bomba
ba55cc32e1
v5.0.4 (#3620)
* Version bump

* Refactors for refunds / credits

* Working on Company Ledger

* Company Ledger OpenAPI Documentation

* Version Bump

* Fixes for internal composer update
2020-04-11 21:19:05 +10:00
David Bomba
05443d69ec
Implement CompanyToken and Subscriptions CRUD (#3609)
* Working on Tokens CRUD

* Fixes for company filters

* Working on Token CRUD

* Tests for tokens

* Fixes for OPENApi

* Subscriptions

* Subscriptions
2020-04-09 20:48:04 +10:00
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
6df62faa82
Fixes for Invoice Designs (#3559)
* fixes for tests

* Working on Invoice Designs

* Update phpunit.yml

* Update phpunit.yml

* Working on sending an individual email

* Update phpunit.yml

* Fixes for designs

* Update phpunit.yml

* Working on sending entity email - individual

* Fixes for account creation

* Remove Laravel Horizon

* remove logging
2020-03-28 22:34:04 +11:00
Benjamin Beganović
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
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
1d11358215
Ping route (#3541)
* minor fixes

* minor fixes

* Fixes for self update

* fixes for template previews

* Add report_errors variable

* Ping route
2020-03-25 19:36: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
David Bomba
374a44aa55
Laravel Horizon. (#3517)
* Fixes for white label

* Include Laravel Horizon
2020-03-24 04:15:56 +11:00
Benjamin Beganović
ac5525c9ac
[V2] Client portal rework (#3516)
* Client login, reset and update password page

* Client dashboard, sidebar, PortalComposer.php

* wip

* Personal page & update for details

* Invoices, paying & pagination.blade.php

* Invoices, recurring invoice & buttons

* Payments, link component

* Payment methods

* Breadcrums, clean up & wrap up

* Remove format_date() method to formatDate on object

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

* Signature, wip

* Fix "Pay now" on single invoice

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

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

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

* Breadcrumbs:
- Quotes
- Credits

* Placeholder for translations.

* Restore whereIn & client scope

Co-authored-by: David Bomba <turbo124@gmail.com>
2020-03-24 04:10:42 +11:00
David Bomba
43e57d0117
Fixes for self-update (#3514)
* minor fix for payment notifications

* styleci

* Limit Self updating to self hosters only
:

* Fixes for designs

* Minor fixes for self-update
2020-03-21 16:37:30 +11:00
David Bomba
4c23d43138
Working on Setup workflow (#3509)
* Refactor designs to remove whitespace

* enable dummy data for templating

* Insert faker data into templates

* Fixes for user deletion

* Documentation on User controller:

* Working on app setup

* Files for app setup

* Working on Setup

* Final fixes for setup controller

* Fixes for setup

* Fixes for first install

* Minor fixes
2020-03-18 20:40:15 +11:00
David Bomba
58803d37f4
Serve tailwind locally (#3505)
* 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

* refactor white labelling

* refactors for white label

* Fixes for payment type id nulls
2020-03-17 19:40:10 +11:00
David Bomba
f7e9da8d94
fixes for download pdf route (#3491) 2020-03-13 07:28:52 +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
b2033a54f4
Verify user notification (#3474) 2020-03-11 10:40:10 +11:00
David Bomba
a8c15ef1c9
Version checking (#3451)
* Ensure NINJA_ENVIRONMENT variable is present  in .env file

* Implement version checking in app

* Remove password protection from check version route
2020-03-08 09:15:11 +11:00
David Bomba
7c00c68bf3
Create route for invoice/credit/quote PDF download (#3441) 2020-03-07 00:41:15 +11:00
David Bomba
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
db88d6a50d
Fixes for V2 (#3408)
* Refactor for user

* payment notifications

* Fixes for contact request

* Fix validation for contacts

* Fixes for base repo

* Fixes for Invoice Repo

* hide password field on clientcontact
2020-03-02 21:22:37 +11:00
David Bomba
f8ea4c0d0f
Implement Design API (#3400)
* Working on CompanyUser route

* CompanyUser update route

* tests for updating a company user

* Fixes for exchange currency rate

* Move slack and google analytics fields into company table

* implement Design API
2020-02-29 08:57:47 +11:00
David Bomba
0061da2600
Update Company User Route (#3398)
* Working on CompanyUser route

* CompanyUser update route

* tests for updating a company user
2020-02-28 23:11:56 +11:00
Benjamin Beganović
8121a0166d
Importing migration data via HTTP (#3365)
* Accept migration over HTTP

* Comment wip tests
2020-02-25 08:15:07 +11:00
David Bomba
9e9cd37b87
Modifications to Designs (#3353)
* Working on Quotes

* Naming refactor for Quotes

* Quote Actions

* Quote Pdfs

* Quote PDFs

* Refunds in Stripe

* Fixes tests

* Company Ledger work
2020-02-20 07:44:12 +11:00
David Bomba
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
f04f2b15fd
OpenAPI Docs and additional password protection on self update route: (#3320) 2020-02-12 21:06:59 +11:00
David Bomba
9a19f7fd4c Fixes for invoice update and invoice designs (#3302)
* BaseController cleanup

* Working on invoice designs

* Working on invoice designs

* working on invoice designs

* working on invoice designs

* invoice designs

* Working on Invoice Designs

* Fixes for user settings object

* Working on invoice designs

* Fixes for encoded user settings

* Working on contact localized invoice pdfs

* working on invoice designs

* Fix for invoice update 500 error
2020-02-10 20:53:02 +11:00
David Bomba
84461858f2
Tests for payments (#3277) 2020-02-02 18:54:52 +11:00
Benjamin Beganović
67c6ac1bc2
Test fixes & code improvements (#3267)
- Updated rules for storing credits
- Fixed route controller
- Added test for crud operations
- Added new $invoice object in MockAccountData
- Added & registered CreditPolicy
2020-01-30 14:02:25 +11:00
Benjamin Beganović
0f661495db
Create 'Credits' module (#3263)
* Create 'Credits' module

* Various fixes on Credit module

* Fix MarkCreditPaid factory
2020-01-30 12:27:22 +11:00
Benjamin Beganović
01c47d7c5d (Sync) beganovich:v2 to invoiceninja:v2 (#3254)
* Add more checks to invoice test

* Uploading migration file & test

* Comment redundant tests

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

* Reduce migration file size to improve test velocity

* minor fixes

* remove xhprof ext

* Tests for templates

* Remove commented tests

* Fix invoices testing & importing

* Sending e-mail when migration fails

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

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

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

* Migration importer & exception classes

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

* Tax rate migration

* Tax rate update
- Added company_id & user_id property modifiers

* Users migration

* Save IDs for users importing

* Add 'transformIds' method

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

* Exception for unresolved dependency

* Import clients

* Method for inspecting user_id

* Importing invoices

* Importing quotes

* Fix tests & wrap with try-catch

* Fix tax_rates user_id transform

* Working on migration

* Tests for migration

* fixes for test

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

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

* Change migration exceptions to MigrationValidatorFailed

* Fixes for tests and counters

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

* Comparing local data with inserted

* Ignore verification - wip

* Fix formatting for api.php

* Uploading file test (wip)

* Fix typo

Co-authored-by: David Bomba <turbo124@gmail.com>
2020-01-24 07:35:00 +11:00
David Bomba
a70b024d94
Payment refunds, Projects, Expenses and Vendors. (#3228)
* OpenAPI Documentation for Vendors and Expenses

* Rules for refunds

* Rules for Payment Refunds

* Fixes for quote invitation link

* Project
2020-01-20 21:10:33 +11:00
David Bomba
84642bf035
Expense and Vendors (#3226)
* add expenses, vendors and vendor_contacts along with factories and test data

* padding out vendors, expenses

* Minor fixes

* Add Expense and Company TransformerS
2020-01-20 12:31:58 +11:00
David Bomba
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
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
1d2ec4c4ad
Fixes for invokable class (#3123)
* Reset DB connection after a DB scan in the same request

* Testing Gmail Oauth Email

* fixes for invokable class

* Fixes for test email
2019-12-04 13:32:28 +11:00
David Bomba
bc85bcd747
Test Gmail Sending using oauth (#3121)
* Reset DB connection after a DB scan in the same request

* Testing Gmail Oauth Email
2019-12-04 13:27:28 +11:00
David Bomba
abcd2fd1bb
Fixes for templates and bulk actions (#3112)
* change route names from camelcase to snake case

* Fixes for bulk actions

* fixes for bulk actions

* fixes for templates

* fixes for templates
2019-12-02 15:18:36 +11:00
David Bomba
cbe4dc072b
Adjustments for template controller to make entity and entity_id optional (#3108) 2019-11-30 14:11:49 +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
ad87287fa7
Password protect purge company routes (#3085) 2019-11-20 18:39:12 +11:00
David Bomba
f59585dd62
Fixes for tests (#3082)
* Update client paid to date job:

* Backup Invoice HTML when invoice is marked as sent and paid

* Store HTML of invoice when invoice was paid

* Fix foreign keys in db schema

* V2 Endpoints for Company Migrations

* Fixes for tests
2019-11-20 16:41:49 +11:00
David Bomba
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
0354b58f82
Remove CORS from middleware (#3064)
* Remove headers

* Unique emails per client

* fixes for company name

* remove cors from middleware
2019-11-13 17:18:24 +11:00
David Bomba
fd8242330e
Fixes for cors (#3061) 2019-11-13 08:38:47 +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
97a4fb3696
Fixes for Templates - Add Assigned User functionality (#3044)
* Request Cancellation

* Add fields to settings

* Recurring invoice cancellation request

* change REST endpoint for entity_id templates
2019-11-05 21:16:38 +11:00
David Bomba
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
5fafbac36f
Tax Rates (#3026)
* Insert generic for client country if not set

* Invoice fixes

* fixes

* Schema changes

* Refactor Schema and implement fixes for testS

* Use Dispatcher for system logs

* Add TaxRateController

* Update OpenAPI definitions for Tax Rates
2019-10-29 13:55:26 +11:00
David Bomba
e4f0b08d3e
Fixes for settings (#3009)
* Add Includes

* Clean up company settings + tests

* Update Company Settings Schema

* Fixes for tests

* fixes for tests

* fixes for settings
2019-10-23 12:01:25 +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
2f657aaac8 Stubs for group settings controller 2019-10-05 08:58:51 +10:00
David Bomba
fd58aeb856 Company Gateway API 2019-10-03 13:21:24 +10:00
David Bomba
0b7054b315 Complete paypal response 2019-09-30 11:15:57 +10:00
David Bomba
b8aaa8c082 Payment hooks 2019-09-30 07:49:43 +10:00
David Bomba
441d52523d Add activities to API 2019-09-27 14:31:13 +10:00
David Bomba
2c05f5a47e Refresh route 2019-09-25 21: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
3ad0a3ff9a Sort response in alphabetical order by key 2019-09-23 21:29:30 +10:00
David Bomba
1e1be26980 Invitation routing 2019-09-23 15:59:01 +10:00
David Bomba
3860e770f6 Add reset link to API 2019-09-23 08:24:25 +10:00
David Bomba
5f7a0b96d7 Tests tests and more tests 2019-09-09 21:05:53 +10:00
David Bomba
b853dd80ed Working on payment methods 2019-09-09 16:25:33 +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
bad61e8984 Payment Gateways - padding 2019-08-22 08:34:20 +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
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
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
9823df51b3 Working on Client Uploads 2019-08-08 21:07:26 +10:00
David Bomba
f37f28a846 Working on upload avatar - generic 2019-08-07 10:44:38 +10:00
David Bomba
dcfd65ec32 Fixes for filtering datatable 2019-08-05 09:31:55 +10:00
David Bomba
40b12515c3 Catch /client route 2019-08-05 08:17:46 +10:00
David Bomba
9b1075539c Working on client portal profile 2019-08-02 10:31:48 +10:00
David Bomba
1823a23b2d view composers for client portal 2019-07-22 13:54:34 +10:00
David Bomba
7e4294fcc5 Client password resets 2019-07-17 14:52:54 +10:00
David Bomba
7448ef9b0a Client-Contact password reset stubs 2019-07-17 14:15:25 +10:00
David Bomba
4cc9ca2748 Handle fallback routes from different route group 2019-07-17 08:59:09 +10:00
David Bomba
241cb02a86 Start Front End of Client Portal - Authentication 2019-07-16 12:38:11 +10:00
David Bomba
9effc2ebca Align Signup and Login responses for consistency 2019-07-14 19:34:49 +10:00
David Bomba
89797b0991 Handle list filters from Contact Routes 2019-07-10 13:10:18 +10:00
David Bomba
9f624b3c61 Mock Client InvoiceList 2019-07-10 11:42:34 +10:00
David Bomba
8df163c86a add route file 2019-07-08 15:17:33 +10:00
David Bomba
a793100f79 Working on Company CRUD 2019-06-17 10:15:42 +10:00
David Bomba
544e59bbba Transform id keys from Bulk routes 2019-06-12 14:22:05 +10:00
David Bomba
79907e6206 Refactor the way we harvest the company entity 2019-06-12 09:15:17 +10:00
David Bomba
f4ae84e954 Re work the way we harvest a user token 2019-06-11 13:20:23 +10:00
David Bomba
383c04827d Custom Scopes depending on provider 2019-05-23 08:28:03 +10:00
David Bomba
7f451eeab2 patch for basic web views 2019-05-22 13:54:29 +10:00
David Bomba
c25e2e6a6d Fixes for logining in via web 2019-05-22 13:43:51 +10:00
David Bomba
d2a2378f4b OAuth from Third Party Client <> Server finished 2019-05-22 13:18:18 +10:00
David Bomba
2334a3a870 Fix for oauth signup 2019-05-22 11:00:23 +10:00
David Bomba
10e0c8a05f Recurring Quotes 2019-05-05 10:49:01 +10:00
David Bomba
6660e881ef Fixes for Payment tests 2019-05-03 18:28:48 +10:00
David Bomba
3c763e7d95 Fixes for php7.4 - travis 2019-04-24 11:27:51 +10:00
David Bomba
2a613d2722 start mysql in travis 2019-04-24 11:21:50 +10:00
David Bomba
706625e83f Working on invoice actions 2019-04-23 14:16:41 +10:00
David Bomba
f82aaefd4c Working on API login 2019-04-19 11:59:07 +10:00
David Bomba
788a42e9a4 Working on API Login Authentication 2019-04-18 16:11:37 +10:00
David Bomba
2d5fc9e066 Working on tests for Product Route 2019-04-04 09:40:56 +11:00
David Bomba
39617644ad Save a product 2019-04-03 13:34:28 +11:00
David Bomba
0f19056b8f Obfuscate primary ID 2019-04-03 11:09:22 +11:00
David Bomba
ef08afc240 Catch Model Not Found and return JSON 2019-04-02 17:36:49 +11:00
David Bomba
e95558334e Add fallback route to catch all non existant routes 2019-03-30 20:30:41 +11:00
David Bomba
caf653ed69 Force DB to be set only on company table 2019-03-28 09:21:28 +11:00
David Bomba
74a01f8731 move away from session variables 2019-03-27 20:38:28 +11:00
David Bomba
ebddf93353 Test for API 2019-03-27 15:50:13 +11:00
David Bomba
1ad19734e3
Stubs for Client Settings (#2655)
* Clean up Client Show

* Working on Show Client menu action

* working on client view permissions

* Finishing up Client Statement View

* Workig on client settings

* add mix manifest
2019-02-04 23:06:19 +11:00
David Bomba
cf1e65f1c0
ctrans() translator helper (#2621)
* Refactor  pivot table accessors

* Add select2 for client - country selector

* Fixes for client contact update

* implement ctrans() function across application

* Increase custom fields to 4 across the application

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

* include querying the custom values in the client list

* Fix null custom value labels

* Scaffold for client - show view

* Working on Client Show
2019-01-25 21:47:23 +11:00
David Bomba
9204510193
Vue Datatables (#2597)
* Adding Vue components for Charts and Multi Select

* List Views


* Improve UI of datatable

* Refactor Vue Datatable for reusability
2019-01-13 12:42:03 +02:00
David Bomba
0faf91dd5d
Generated Datatable Action Menus (#2590)
* Style Datatable

* Component Actions

* Harvest user permissions from Pivot table

* Pad out permissions

* Client actions

* Fixes for travis

* Client Datatables

* Menu permissions

* Tests for menu permissions

* Action menu

* Implement query builder filter

* Flatten user permissions

* Implement rendering of client action dropdowns

* Generated Action Menus
2019-01-07 22:30:28 +11:00
David Bomba
43342fb98b
Datatables using Vue (#2568)
* Vue DataTables

* Vue Datatables - Pagination

* Sort Vue Tables

* Working on Vue Datatables

* Apply filter to vue table

* Search implementation for vue datatables

* Clean up
2018-12-24 08:45:55 +08:00
David Bomba
bdb0f43d33
Modules, VueJS (#2552)
* Fix for comparing delete contacts change diffKeys to diff()

* Client create

* Client Settings

* Working on localization

* Refactor DataTables

* protyping blade vs pure vue

* Rebuild test module

* Generic notes module

* Small Client Notes Module

* Tests for TabMenu Trait

* implements tab pills in client screen

* Integrate Modules
2018-12-13 10:23:21 +11:00
David Bomba
c72e1f0139
Client Creation (#2533)
* Working on Oauth

* splitting out JS files

* Working on oAuth

*  working on oAuth

* minor fixes

* create client

* create client

* create client

* Working on adding a client
2018-12-02 21:42:06 +11:00
David Bomba
b989cf82b7
Client CRUD with VueJS (#2497)
*  working on js localizations

* remove dependencies

* Pad Hashes to at least 10 characters in length

* Inject JS translations into front end dynamically

* Implement VueJS for Client Edit Page with reactivity

* Conditionally hide rows if not enabled (custom_value)

* Split client template into smaller components

* implementing ui buttons

* CRUD cycles of a client

* Working on Client CRUD - Integrity constraint issues
2018-11-11 00:24:36 +11:00
David Bomba
1ad857bac9
Vue JS Scaffolding (#2493)
* client ui

* Paddin out client detail view

* Padding out clients

* Padding out clients

* show maps

* Padding out clients

* fixes for migrations

* client padding

* Working on different Client UX

* more client ux

* New Client UI

* Vue Scaffolding
2018-11-07 16:22:36 +11:00
David Bomba
d430600e1e
Datatables, Base Model, Base Presenter (#2484)
* Fixes for datatables

* Implement a BaseModel

* Working on reusable header data model

* Working on adding session variables

* Clean up header data

* Random Data Seeder

* working on searching datatables across relationships.

* Working on transforming primary keys between client and server facinglogic

* Updated assets
2018-11-02 21:54:46 +11:00
David Bomba
dde1cd6cfb
Confirmation Emails, Datatables (#2473)
* Fixes for MakesHash trait

* Client List DataTables

* Data table dependencies

* Confirmation URLs

* Wire up firing events for notification emails
2018-10-29 14:16:17 +11:00
David Bomba
dac1aa88d5
Tests, Multi-DB support for incoming URLs (#2466)
* Tests for authentication

* Add db field to company table (required if we are doing jobs without an auth()->user() )

* Add Laravel Dusk for browser testing, add ability to set DB by incoming URL Hash
2018-10-24 21:24:09 +11:00
David Bomba
64041fb3cb
Refactor signup flow (#2465) 2018-10-24 14:50:15 +11:00
David Bomba
e4f46c2a4e
Presenters, skinned views, model refactoring (#2464)
* Default database connection - set defaults for engine and strict

* Working on tests for refactored model

* Fixes for tests, use polymorphic relationships for Invitations

* skin the password reset pages
2018-10-22 23:04:37 +11:00
David Bomba
50e22ee1d6
Refactor constants, set active db connection in middleware, add socket.io dependencies (#2463) 2018-10-21 09:26:21 +11:00
David Bomba
103a95955a
Sign up (#2460)
* Privacy Policy & TOS

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

* Stub the signup
2018-10-19 14:45:55 +11:00
David Bomba
f745c3f0a6
Working on Social Authentication (#2458)
* Laravel Socialite + Refactor for searching for Users across multiple databases

* Refactor for Unique User Rules, add Middleware for setting active DB connection per request, more tests
2018-10-18 16:04:36 +11:00
David Bomba
62e2444a2c
Sign Up Scaffolding (#2453)
* Fix js dependencies

* Breadcrumb implementation

* Test for UniqueEmailRule Validation

* reduce length of account_key to prevent key too long error

* Fixes for travis - reduce user email length

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

* Fix for Bank Model

* Prevent a user from registering multiple account with one email address when using multiple databases
2018-10-17 23:26:27 +11:00
David Bomba
528c99f655
Login UI, Database Seeds, Dashboard layouts (#2450)
* Implement CoreUI Interface

* Core UI Navigation wire frame

* UI - Fix sidebar nav - add Invoice Ninja Logo

* Create layout using CoreUI admin template

* Login UI, Database seeds
2018-10-16 22:42:43 +11:00
David Bomba
4076a00dae
Multi Auth - Multi DB (#2442)
* Multi Auth / Multi DB cleanup

* Fixes for Multi-DB

* Fixes for Multi auth using Multi DB

* Remove register routes from application
2018-10-15 16:00:48 +11:00
David Bomba
19a836b010
Scaffolding Auth (#2438)
Scaffolding Auth
2018-10-12 22:29:34 +11:00
David Bomba
85180bfdb7
Multi DB Authentication (#2431)
* Custom Multi DB User Provider

* Multi DB Authentication provider

* Finalized Multi Auth DB

* Apply fixes from StyleCI (#22)
2018-10-08 20:38:45 +11:00
Hillel Coren
0d1bbfbe7f Master blade 2018-10-04 20:41:22 +03:00
Hillel Coren
f03dd652e6 Initial commit 2018-10-04 20:10:43 +03:00