* 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
* 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
* Working on GMail Driver
* working on custom Gmail Mail Provider
* Add total_taxes to quotes and recurring_*
* Implementation of new mailserviceprovider to allow native use of Mail:: with gmail email sending
* 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
* 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 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
* 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
* 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
* Implement transformer for ClientGatewayTokens
* Add company_gateway_id to client gateway token transformer
* Fixes for client model
* Fixes for Number class
* update company settings and OpenAPI definitions
* Fixes for tests
* Add extra variables to company settings
* Track signup platform when new account signup processed
* Add conditional checks in client portal
* Add ability to cancel recurring invoices from client portal
* Fixes for types
* Add fields to invoice and quote table
* Fixes for travis
* Additional settings variables at the company and client level
* Implement accessor for client settings
* Currency symbol or code setter
* Implement custom JS number and currency formatter
* Implement VueX state management for client settings
* Move settings logic into its own class
* Working on client settings
* client settings
* Move Client Settings helper into PHP
* Move translation helper into its own class
* Working on Client Settings
* fixes for client settings
* Client setting defaults
* fixes for .env
* Fixes for Travis
* 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
* css for client settings
* Client Settings
* Working on Client Settings
* Implement StartupCheck and static seeders
* Implement cached statics in view composers
* Working on client settings
* Payment Terms
* Working on Payment Terms View Composer
* Payment Terms builder
* Client Settings
* refactor companies table
* Refactor for company settings, move settings to json
* Set object cast on settings column of Company table
* Fixes for refactor of companies and clients table
* Test
* Client Settings Datamapper
* Client Settings
* Default client language
* Client Settings
* Working on client settings options
* Client Settings
* Settings Json serialization/deserialization handling
* 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
* Add URL link directly to client view in list view
* Implement Form requests for all client routes
* Refactor how permissions are implemented on Datatable row action menus
* fixes for tests
* 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
* attempting to bind vue to blade partials
* typo for vue
* working on client contact page
* refactor shipping-billing addresses back to client model
* clean up
* 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
* Fixes for tests
* fixes for permissions
* Set default company on account creation
* Ensure default company ID is registered in session variables
* Implement a generic resolver to harvest an entity from encoded value
* Laravel Telescope
* 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
* 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
* 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
* 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