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

105 Commits

Author SHA1 Message Date
David Bomba
cdf22f6a1f
Fixes for payments (#3271)
* Fixes + tests for unapplied amounts not adjusting when updating a payment

* fixes for payment amounts check
2020-01-31 07:53:14 +11:00
David Bomba
45cc67075d
Include contacts in sample migration files. (#3260)
* add types to transformers

* minor fixes for test data creator

* Working on refunds

* Update migration files to include client contacts

* Working on refunds

* Working on refunds

* Working on refunds

* Refund Tests

* Working on refund tests
2020-01-29 13:03:47 +11:00
David Bomba
a72e1faa84
Improve tests with smaller sample files. (#3250)
* Reduce migration file size to improve test velocity

* minor fixes

* remove xhprof ext

* Tests for templates
2020-01-27 18:49:04 +11:00
David Bomba
9261858b3a
fixes for tests (#3245) 2020-01-24 15:44:41 +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
0e9d098049
Fixes for Vendor Contacts (#3227)
* bug Fixes

* Working on Vendor GET route

* Fixes for vendor contacts
2020-01-20 15:53:40 +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
Benjamin Beganović
67c485c1b8 Fix PaymentRepository data parameter (#3217)
* Fix PaymentRepository.php parameters

* Apply formatting

* Fix return when $data['invoice'] !== $invoice_total_adjustment

* Pass $request->all() instead of whole request

* Pass $request->all() on update method
2020-01-18 07:10:38 +10:00
Benjamin Beganović
633a75318e Fix inconsistency at ProductRepository (#3209)
- Remove required Request object to be passed
- Use array of data instead
2020-01-14 08:26:36 +10:00
David Bomba
2c99d3478b
Payment fixes (#3204)
* Fixes for unused variables and annotating the paymentrepository for future work

* Refactor Payment repository

* rename variables for payments
2020-01-12 08:01:28 +10:00
David Bomba
0878decf18
Implement payment rules at application edge (FormRequest) (#3202)
* Ensure payments, invoice and credit amount balance in the validator prior to saving

* additional payment validation rules and tests for processing payments

* Factories for credits

* Tests for payments

* Working on updating a payment

* Working on updating a payment

* fixes for updating a payment

* Working on Payment Tests

* More tests for payments, formrequests

* remove product_key as required from products
2020-01-10 07:15:10 +11:00
David Bomba
a573558bdd
Fix for missing relationship (#3199) 2020-01-07 20:35:55 +11:00
David Bomba
957ac9f5d8
Fix for password protected authorization (#3198)
* Remove unnecessary save() on invoice

* Update copyright

* Working on Credit Repository

* Implement credits as a paymentable entity

* Add credit_id to transformer

* fix rules for update payment

* Fix random deleted_at keys in transformers

* Fix for password_protect check
2020-01-07 11:13:47 +11:00
David Bomba
ad06de25f5
Fixes for Payments (#3194)
* Set payment number on completed payment

* Fix for paymentables not returning

* Do not set invoice status to paid if only a partial amount of the invoice has been paid
2020-01-04 13:27:51 +11:00
David Bomba
b92a6a78c3
Fixes for factories (#3192) 2020-01-03 20:34:10 +11:00
David Bomba
08d8d11dea
Fixes for missing contact_key in seeder (#3190)
*  Stub refund payment

* Fixes for missing contact_key in seeder
2020-01-03 19:49:59 +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
ff7b62de51
Fixes for missing company object in job classes. (#3179)
* Fixes for missing company object in events

* Cleanup client balancing code

* Fixes for client balance

* Fixes for missing company variable
2019-12-29 17:28:57 +11:00
David Bomba
54fc78a88b
Refactor jobs to be MultiDB aware (#3174) 2019-12-27 11:28:36 +11:00
David Bomba
d797799196
Fixes for V2 (#3172)
* Optimizations for large queries

* Fixes for client activities

* Implement UpdateOrCreate for products
2019-12-27 09:33:07 +11:00
David Bomba
5e7512071f
Implement EmailInvoice Job (#3166)
* Working on quote counter

* Add tests for quote number + shared counter tests

* Create invoice job

* Add last_sent_date to invoice/quote table, remove type_id

* Implement EmailInvoice Job
2019-12-22 21:28:41 +11:00
David Bomba
556b2ab1c9
Fixes for Storing Quotes (#3159)
* Return blank object for group settings

* Implement Quote Store

* Clean up Logging
2019-12-18 09:40:15 +11:00
Benjamin Beganović
da49880733 Massively creating resources (#3152)
* Bulk storing request & accesing policy service

* Transform hardcoded action to self-property

* Testing, support for multiple resources

* Uncomment, response(200)

* Change authorize to isAdmin() property
2019-12-17 21:58:23 +11:00
David Bomba
ec5cbe66a0
New Validation rule for USER POST route (#3138) 2019-12-08 21:28:52 +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
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
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
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
4b4921703a
Fixes for blank client settings and force strings for custom_fields (#3096)
* fix for blank client settings

* Force all custom fields to strings
2019-11-26 20:11:22 +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
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
cb939ed986
Implement Company Settings Sieve (#3057)
* remove redundant custom gateways

* Implement view_all,edit_all_create_all permissions

* Fixes for company settings sieve
2019-11-12 22:36:24 +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
a78b6aaacd
Set casts on Invoice Line Items (#3049)
* 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
2019-11-08 11:38:22 +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
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
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
d29f37ef8b
Improve invoice calculations (#3007)
* Fixes for test

* Invoice Items Inclusive Tax Calculator

* Inclusive taxes

* Invoice Inclusive Tax Tests

* More tests

* clean up

* fixes for inclusive tests
2019-10-22 13:07:00 +11:00
David Bomba
7eb0f8d44b
Invoice calculations (#2994)
* Add traits for invoice calculations

* V2 of invoice calculator

* Tests for invoice item calculator

* Test for Invoice Item Calculations

* Invoice Calculation Tests

* fix for tests

* Fixes for invoice calculations
2019-10-16 20:28:52 +11:00
David Bomba
ebf439adcf fixes for client number incrementation 2019-10-08 22:17:05 +11:00
David Bomba
faa5a05ac1 Validation rules for update client 2019-10-08 22:14:23 +11:00