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

252 Commits

Author SHA1 Message Date
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