Commit Graph

437 Commits

Author SHA1 Message Date
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 fb2ca5dbe9
Fixes for OAuth (#3118) 2019-12-04 12:26:57 +11:00
David Bomba 0d15926e02
OAuth Token support (#3117)
* Add oauth->token to users table

* Add oauth->token to fillableon model
2019-12-04 12:14:55 +11:00
David Bomba 75df82a71c
Fixes (#3116)
* Fixes for OpenAPI Documentation + fix support for docs for PHP 7.4

* User update tests

* Add total_taxes to invoice table, implement addition create-test-data fields for item and invoice level taxes
2019-12-04 12:06:14 +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 25514b43cf
Allow fine grained payments (#3110)
* Allow payment amounts to be partial per invoice paid

* edge case tests for payments

* Allow per invoice payment amounts and allow direct payments which simply credit a clients credit_balance

* Fixes
2019-12-01 22:23:24 +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 32aedf26dd
Attach and Detach a user to a company (#3107)
* fixes for template controller

* Default gateway as string

* Bulk actions

* Move currency_id back to settings

* Allow store and update currency ID

* Attach user to company_user

* Add / Detach company users
2019-11-30 13:42:44 +11:00
David Bomba bf41c634c0
Cast to string - default_gateway_type_id (#3105)
* fixes for template controller

* Default gateway as string
2019-11-29 22:15:50 +11:00
David Bomba 4391ad087c
Fixes for client contacts updating (#3104) 2019-11-29 21:41:07 +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 4bc92a7aa1
Stub GMail Driver (#3099)
* fix for blank client settings

* Force all custom fields to strings

* Fixes for bulk actions

* Fixes for company POST route..

* Change text from Bitcoin to CRYPTO

* Implement default_gateway_type_id in transformer

* use scopes for company filtering

* Implement validation for portal_domain

* Add Google API client

* Add activities to company transformer
2019-11-27 20:47:59 +11:00
David Bomba cec7b756e8
Fix for client transformer (#3097)
* fix for blank client settings

* Force all custom fields to strings

* Fixes for bulk actions

* Fix for client transformer
2019-11-26 21:27:44 +11:00
David Bomba 0606973035
Fixes for Token Name (#3095)
* Fix for CORs error where file download were being prevented by headers

* Fixes for CORs and File downloads

* give contextual error messages for invalid route actions

* Clean up LoginController for OAuth Testing

* Quote Actions

* Invoice and Quote Actions

* Fixes for Token Name

* Change test data seeder to create separate small,medium,large companies
2019-11-26 19:14:01 +11:00
David Bomba 0908893180
Fixes for client currency id (#3092)
* Fix for CORs error where file download were being prevented by headers

* Fixes for CORs and File downloads

* give contextual error messages for invalid route actions

* Clean up LoginController for OAuth Testing

* Quote Actions

* Invoice and Quote Actions

* Fix for client currency
2019-11-25 20:38:55 +11:00
David Bomba 808c6deb88
Workaround for recursion issue on login company_user -> user -> company_user (#3091) 2019-11-24 19:19:53 +11:00
David Bomba 52c031e290
Email template defaults (#3090)
* Update User and Company User

* Email Template Defaults for Settings

* Separate methods for saving client and group settings
2019-11-24 17:37:53 +11:00
David Bomba 5c9ada0f77
V2 (#3089)
* Set default templates in Company Settings

* Working on Company User creation

* Working on company_user relationship

* Fixes for company_user relation

* Clean up
2019-11-23 08:10:53 +11:00
David Bomba 69efd4d574
Enhancements to API (#3088)
* working on email throttling

* Fixes for invitaiton links

* pass custom fields as object

* Add user agent to company token

* Update company token transformer

* Remove prefix setting from CompanySettings

* Implement user agent on company token & provide better error handling for undefined relationships includes

* Fix bulk actions

* Working on updating/creating a company user

* Fixes for tests
2019-11-21 19:38:57 +11:00
David Bomba 170340cdfa
Migrations fixes (#3086)
* working on email throttling

* Fixes for migrations
2019-11-21 07:55:16 +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 6d225b7fe7
Fixes for payments (#3081)
* Bump client contacts in test data

* Only allow a payment to be deleted once

* Update client balance and paid to date on payment

* Clean up
2019-11-20 08:06:48 +11:00
David Bomba ff17e3eb67
Payment deletes (#3079)
* Add amount to paymentable tables to enable reversing payments gracefully

* Create Test Data artisan comannd

* Delete Payments + Fixes for company settings persistence
2019-11-19 21:23:56 +11:00
David Bomba fe5a97e174
Activity API fixes + Payments API (#3076)
* Fixes for Store Payment Validation

* Tests for Payments

* Use custom validator to ensure payments are made ONLY to payable invoices

* Working on custom payment validators

* Update Client balance

* fixes for client balance

* Fixes for activity API
2019-11-18 21:46:01 +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 e1fa1186d1
CORS implementation (#3065)
* fix regression in company name

* HasOneThrough for company user

* Validation rules for contact email addresses

* Force a blank contact if no contacts passed in client
2019-11-13 22:32:53 +11:00
David Bomba 2ce89e5f48
Fixes for actions (#3056)
* Update API docs

* cleaning up migrations

* Fixes for tests

* fixes for tests

* Delete client contacts when soft deleting a client

* Fixes for actions
2019-11-12 15:41:02 +11:00
David Bomba e4c18e734a
Implement fees and limits map for company gateways (#3053)
* Add ability to remove group settings level company logo

* Company Gateway Fees and Limits

* Validation tests for FeesAndLimits

* Working on company gateways

* Working on transforming fees_and_limits in transformer

* Implement fees and limits map for company gateways
2019-11-11 23:21:19 +11:00
David Bomba 37a826374b
Remove settings from invoice table (#3051)
* Implement client/group/company level counters clientCounter, groupCounter and counter

* Implement functionalityfor customising the timing of invoice_number creation

* Add Jobs

* adjustments

* clean line items at the request layer

* Clean line items at the request layer

* minor formatting for notification

* Schema Fixes

* schema changes, cast country_id to stirng

* Fixes for tests

* force line item ids to string

* Map company gateway fees and limits

* Schema changes

* Remove id from invoice item stdClass

* Remove settings object from invoice table
2019-11-10 23:06:30 +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 06a120e128
Resolve conflicts (#3043)
* Request Cancellation

* Add fields to settings

* Recurring invoice cancellation request

* Stub Template controller

* Template Controller

* Fixes for git commit
2019-11-05 10:26:15 +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 14ea3fe256
Tax Rate fixes (#3031)
* Ensure tax rate queries are scoped appropriately

* Add Tax Rate Policy

* Fixes for settings

* doc blocks

* Add failed jobs tables to migrations

* Only 1 migration file for failed table
2019-10-30 13:41:18 +11:00
David Bomba 13e104c1d9
Fixes for line items (#3028) 2019-10-29 22:12: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 0f9aae454b
Update Company settings, OpenAPI documentation and Company Migration (#3025)
* Insert generic for client country if not set

* Invoice fixes
2019-10-28 08:36:09 +11:00
David Bomba a60613aa26
Track signup platform (#3014)
* update company settings and OpenAPI definitions

* Fixes for tests

* Add extra variables to company settings

* Track signup platform when new account signup processed
2019-10-24 15:46:24 +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
David Bomba ad75344503 OpenAPI docs for support message API 2019-10-17 20:31:47 +11:00
David Bomba fbc03aa9f7 Update setting fields 2019-10-17 19:26:46 +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 b6d6d3928b
Eager loading (#2995)
* Fixes for tests

* Eager load payment types
2019-10-16 21:24:33 +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 dde3f1192a
Change company_logo_url to company_logo (#2980) 2019-10-11 15:30:26 +11:00
David Bomba 778b655aa3
Clean up todos (#2979) 2019-10-11 13:20:04 +11:00
David Bomba 8d14c6b2bd Switch currency_id back to settings object 2019-10-10 21:43:50 +11:00
David Bomba fb150cc1b0 Documentation for SettingsSaver trait 2019-10-10 13:24:19 +11:00
David Bomba 7a4decdd3d working on type casting 2019-10-10 10:15:35 +11:00
David Bomba 056b2cbdb7 Tests for company settings 2019-10-09 23:21:21 +11:00
David Bomba 0e9ca5c1ce Company Settings 2019-10-09 16:57:32 +11:00
David Bomba 0469de7466 fix for returning token on company creation 2019-10-09 16:47:12 +11:00
David Bomba 534b515849 Abstract settings save to separate trait 2019-10-09 10:53:33 +11:00
David Bomba 2e4cd7459a Add pay now button to each row in table 2019-10-08 16:09:59 +11:00
David Bomba fb513ebe69 Customise column width for datatable 2019-10-08 14:04:35 +10:00
David Bomba 75b089fa19 Multi payment invoices with filtering of already paid invoices 2019-10-08 13:06:27 +10:00
David Bomba accbbcf67b Flash message 2019-10-08 12:03:40 +10:00
David Bomba cc85746af0 Upload company logo to group settings 2019-10-08 07:17:55 +10:00
David Bomba d35a90cb94 change logo_url to company_logo_url 2019-10-07 22:06:23 +11:00
David Bomba b8515e26b0 Upload company logo to client settings 2019-10-07 22:05:06 +11:00
David Bomba 2a7f62b579 Fixes for tests 2019-10-07 21:36:30 +11:00
David Bomba fda6ec33fd Company Settings OpenAPI 2019-10-07 21:21:02 +11:00
David Bomba c46ebb2778 Fixes for tets 2019-10-07 20:39:22 +11:00
David Bomba 5bbc274a48 Fixes for api-headeR 2019-10-07 17:31:26 +11:00
David Bomba a54b6c3055 Finalized OpenAPI 2019-10-07 15:57:14 +11:00
David Bomba 0cad2c1c90 Users OpenAPI 2019-10-07 15:34:57 +11:00
David Bomba ad1f8dc928 Recurring Quote OpenAPI 2019-10-07 15:32:29 +11:00
David Bomba eacc1fe66a Recurring Invoice OpenAPI 2019-10-07 15:29:16 +11:00
David Bomba 19caaac912 Payments OpenAPI 2019-10-07 15:19:25 +11:00
David Bomba d999212a34 GroupSettings OpenAPI 2019-10-07 15:13:50 +11:00
David Bomba 2f7c403992 company_gateway OpenAPI 2019-10-07 15:09:04 +11:00
David Bomba e784705aaf Clients and Companies OpenAPI 2019-10-07 15:03:01 +11:00
David Bomba 24714dc9f4 Clients OpenAPI 2019-10-07 10:32:36 +11:00
David Bomba 6d81f981f8 Invoices OpenAPI 2019-10-07 09:00:02 +11:00
David Bomba 165182266a OpenAPI 2019-10-06 23:24:15 +11:00
David Bomba febe32b7d8 OpenAPI 2019-10-06 23:18:22 +11:00
David Bomba 65757f4b71 OpenAPI 2019-10-06 23:09:56 +11:00
David Bomba b7a90a4cae add custom values to settings object 2019-10-06 22:58:11 +11:00
David Bomba ac96a01c03 OpenAPI 2019-10-06 22:51:33 +11:00
David Bomba daa402c778 OpenAPI Docs 2019-10-06 22:27:56 +11:00
David Bomba 897e4855c1 OpenAPI 2019-10-06 22:24:54 +11:00
David Bomba cf67589f23 Open API 2019-10-06 19:44:00 +11:00
David Bomba 59abbd04f9 Integrating OpenAPI documentation 2019-10-06 17:05:46 +11:00
David Bomba 5e553b36e9 logo uploads 2019-10-05 13:18:52 +10:00
David Bomba d39d837895 Fixes for tests 2019-10-05 11:58:33 +10:00
David Bomba 70fe64ed96 Fixes for tests 2019-10-05 10:11:04 +10:00
David Bomba 2f657aaac8 Stubs for group settings controller 2019-10-05 08:58:51 +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 3af84f7de7 Company Gateway endpoint and tests 2019-10-03 21:18:12 +10:00
David Bomba 16cd98980b Company Gateway Tests 2019-10-03 20:59:19 +10:00
David Bomba 3e3cde2e1e pdate 2019-10-03 13:23:00 +10:00
David Bomba 4e51256b51 Company Logo upload test 2019-10-03 10:17:29 +10:00
David Bomba db40a4ab71 handle logo upload for company 2019-10-03 07:59:27 +10:00
David Bomba b8aaa8c082 Payment hooks 2019-09-30 07:49:43 +10:00
David Bomba 85de581fac Fix for company filtering 2019-09-29 18:46:53 +10:00
David Bomba 441d52523d Add activities to API 2019-09-27 14:31:13 +10:00
David Bomba 487f93933b Laravel V6 2019-09-26 23:00:51 +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 d34b129474 fix error formatting 2019-09-24 08:37:38 +10:00
David Bomba bbabe4836b Fix DB search 2019-09-23 22:19:37 +10:00
David Bomba 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 4aa781fb03 Working on settings - safe guards to updating the settings object 2019-09-21 14:09:25 +10:00
David Bomba 04b4f224fa Working on terms and signature authorization 2019-09-21 12:17:27 +10:00
David Bomba 4fd41dbe1d Client payment flow 2019-09-20 15:13:58 +10:00
David Bomba a926c48f21 Payment methods list view 2019-09-19 20:16:41 +10:00
David Bomba 89cc4170d6 Fixes 2019-09-18 22:43:37 +10:00
David Bomba d5d1d7d9a3 Refactor for API 2019-09-18 16:02:05 +10:00
David Bomba a331368383 List view for payment methods 2019-09-18 12:39:53 +10:00
David Bomba c79211c4f4 Mitigate nulls in database 2019-09-17 15:42:10 +10:00
David Bomba bacf1f74a0 Fixes for signup route 2019-09-17 07:42:08 +10:00
David Bomba 662aa3aed1 Working on credit card auth response 2019-09-16 21:03:25 +10:00
David Bomba 0331575197 Working on card authorisation for Stripe 2019-09-16 14:59:59 +10:00
David Bomba 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 2f164d6a76 Add account to login response 2019-09-12 22:02:25 +10:00
David Bomba da0c0080a5 Fixes for login api 2019-09-12 21:46:09 +10:00
David Bomba 9431abb300 Working on payment flow - client side 2019-09-12 16:10:21 +10:00
David Bomba b7920a072a Set all ID's to strings for consistency 2019-09-12 11:28:41 +10:00
David Bomba 4536bc0566 API fixes 2019-09-11 20:15:44 +10:00
David Bomba de3c724f48 Bug Fixes 2019-09-11 16:35:31 +10:00
David Bomba ac19a4bb12 Working on cascading settings 2019-09-11 15:32:47 +10:00
David Bomba af28b02fae Fixes for tests 2019-09-11 13:46:23 +10:00
David Bomba e329c24879 Fixes for tests 2019-09-11 12:01:49 +10:00
David Bomba 42e54d0bd5 include statics with login response 2019-09-11 10:37:53 +10:00
David Bomba a840136575 API cleanup 2019-09-11 09:31:55 +10:00
David Bomba 1c2ba3a53e force status codes to be returned 2019-09-10 19:31:51 +10:00
David Bomba b853dd80ed Working on payment methods 2019-09-09 16:25:33 +10:00
David Bomba 8a90d46287 Working on payment methods 2019-09-09 12:19:19 +10:00
David Bomba 0856fc2dfd Working on gateway payment flow 2019-09-08 22:13:55 +10:00
David Bomba f5e19ece06 Payment screen 2019-09-05 15:04:52 +10:00
David Bomba 374cc88c06 Display PDF 2019-09-05 09:52:49 +10:00
David Bomba 668e01b814 Stubbing invoice design templates 2019-08-29 14:07:04 +10:00
David Bomba b7d9ad1808 Create more date helpers 2019-08-29 08:13:26 +10:00
David Bomba 1c31f6de0f Refactors, and create a number helper 2019-08-28 12:36:53 +10:00
David Bomba e5b60195d8 Working on Formatting data in client timezone 2019-08-28 11:13:10 +10:00
David Bomba 0af0d9786d Fixes for test 2019-08-28 10:58:13 +10:00
David Bomba 33b42db47c Tests 2019-08-28 09:19:54 +10:00