* 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
* 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>
* add expenses, vendors and vendor_contacts along with factories and test data
* padding out vendors, expenses
* Minor fixes
* Add Expense and Company TransformerS
* 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
* 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
* 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
* Fixes for missing company object in events
* Cleanup client balancing code
* Fixes for client balance
* Fixes for missing company variable
* Fix activity transformer to prevent multiple DB calls
* Implement first_load query parameter which checks client size and returns an truncated response if client count is greater than 1000
* Fixes for listeners
* Fix formatting and variable insertion for email templates
* Refactoring for invoice emails
* Fixes for midddleware
* Improve refresh includes
* change setting name
* Do not set email template defaults in settings
* Set invoice reminders, trait + tets
* Fixes for tets
* Only all an account owner to delete companies/users
* Refactor company properties to be presented from settings object instead of company properties
* Working on Email Tests
* Working on emails
* Working on email templats
* Include text version of email
* Refactor Email template builder into trait'
* Fix for custom_value4
* Refactor payment_date -> date && payment_type_id -> type_id
* expose paymentables to API
* expose paymentables to API
* Implement a next_send_date field in invoice/quote tables to allow control over reminder scheduling
* Add custom_values to users,documents and company_gateways tables
* Minor fixes for OpenAPI docs for clients
* Add fields to company transformer
* Padding email templates, system level and custom
* Minor fixes for email template subject
* Working on Email Templates
* Clean up User model, remove redundant permissions methods
* Implement Locale for API
* Implement Locale middleware for client routes
* Remove global constants
* Fixes for removing the global constants file
* Working on TDD for emails
* TDD for emails
* implement additional template variables
* Add support for Multi-Master replication with MySQL
* 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
* 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
* Fixes for OpenAPI Documentation + fix support for docs for PHP 7.4
* Minor fixes for GMail API
* Add fix for 2 contacts with no email addresses failing validation, emails are optional! but cannot be duplicated if a value is set
* Return template as a object with subject and body components
* Fixes for OpenAPI Schema
* Stubs for payment edge cases
* payment tests
* 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
* 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
* 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
* 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
* 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
* fix for blank client settings
* Force all custom fields to strings
* Fixes for bulk actions
* Fix for client transformer
* Validation for portal domain -> url
* Portal Domain Validation
* 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
* 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
* Set default templates in Company Settings
* Working on Company User creation
* Working on company_user relationship
* Fixes for company_user relation
* Clean up
* 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
* 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
* Add amount to paymentable tables to enable reversing payments gracefully
* Create Test Data artisan comannd
* Delete Payments + Fixes for company settings persistence
* 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
* 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
* 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
* Fixes for COR
* Fixes for COR
* Fixes for CORS
* 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
* Fixes for COR
* 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
* Update API docs
* cleaning up migrations
* Fixes for tests
* fixes for tests
* Delete client contacts when soft deleting a client
* Fixes for actions
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* update company settings and OpenAPI definitions
* Fixes for tests
* Add extra variables to company settings
* Track signup platform when new account signup processed