* 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 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
* 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
* 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
* 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
* 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
* bug fix
* Add ctrans global function for custom translations. Reduced DB queries for Client List. Added Debugbar for dev environments
* ctrans
* 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
* Wire up Create Entity Button to create route
* Refactor permissions, we must also ensure the user company id and entity id matches at the Gate::
* Add translations for Status filters
* Bug fix for initial list view not displaying
* Apply actions to menu for list items
* Wire up list view actions, individual
* Place permission filters on datatable lists
* Wired up Bulk Archive / Delete / Restore button with reactivity on checkbox actions
* Working on POSTing bulk actions
* Working on Filtering by status
* Add Action Entity
* Implement Vuex for state management
* Implement Vuex storage & list view bulk actions
* Clean up console logs
* Configure entity list views server side
* Wired up Bulk Archive / Delete / Restore button with reactivity on checkbox actions
* Working on POSTing bulk actions
* Working on Filtering by status
* Add Action Entity
* Implement Vuex for state management
* Implement Vuex storage & list view bulk actions
* Clean up console logs
* added npm package to resolve typescript dependencies
* OO JS forms
* OO forms
* Refactors forms to abstract form CRUD
* Working on Promises
* Fix for errors in js form
* Form validation with array of data
* Client update validation - array
* handle array validation
* Toastr notifications
* Clean up
* 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
* Add contact
* Saving client and contacts
* working on ts implementation
* Need to pass into TS
* client_edit.ts
* Need to pass into TS
* declare variables
* 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 Address
* Vue components for address
* Fix for null objects being passed to Vue
* Copy Billing Address
* route key
* Social auth
* Pad out route bindings
* Deploy hashes across models
* social auth buttons
* working on js localizations
* remove dependencies
* Pad Hashes to at least 10 characters in length
* Inject JS translations into front end dynamically
* Implement VueJS for Client Edit Page with reactivity
* Conditionally hide rows if not enabled (custom_value)
* Split client template into smaller components
* implementing ui buttons
* CRUD cycles of a client
* Working on Client CRUD - Integrity constraint issues
* 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 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
* 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