* Adopt Laravel coding style
The Laravel framework adopts the PSR-2 coding style with some additions.
Laravel apps *should* adopt this coding style as well.
However, Shift allows you to customize the adopted coding style by
adding your own [PHP CS Fixer][1] `.php_cs` config to your project.
You may use [Shift's .php_cs][2] file as a base.
[1]: https://github.com/FriendsOfPHP/PHP-CS-Fixer
[2]: https://gist.github.com/laravel-shift/cab527923ed2a109dda047b97d53c200
* Shift bindings
PHP 5.5.9+ adds the new static `class` property which provides the fully qualified class name. This is preferred over using class name strings as these references are checked by the parser.
* Shift core files
* Shift to Throwable
* Add laravel/ui dependency
* Unindent vendor mail templates
* Shift config files
* Default config files
In an effort to make upgrading the constantly changing config files
easier, Shift defaulted them so you can review the commit diff for
changes. Moving forward, you should use ENV variables or create a
separate config file to allow the core config files to remain
automatically upgradeable.
* Shift Laravel dependencies
* Shift cleanup
* Upgrade to Laravel 7
Co-authored-by: Laravel Shift <shift@laravelshift.com>
* Fixes for converting a quote to invoice
* Fixes for deleting an invoice
* Payment Terms CRUD
* Payment Terms
* Push PaymentTerms back into the DB
* Payment Terms
* Payment Terms
* Create api docs for payment terms
* Performance improvements moving from str_replace to strtr
* Remove legacy docs
* Clean up credit transformer
* Working on invoice emails
* Clean up for invoice designs
* Tests for light and dark theme emails
* Working on reminder scheduling
* Reminder Job Class
* Fixes for github actions
* PHP CS
* Test for reminders
* Test for reminders
* Version bump
* Refactors for refunds / credits
* Working on Company Ledger
* Company Ledger OpenAPI Documentation
* Version Bump
* Fixes for internal composer update
* Performance improvements for seeding
* Differentiating between system notification and user notifications
* Remove hard coded webhook url
* Working on system and user notifications
* notifications
* Set the currency on client if blank
* Refactor for inserting invoice defaults
* Refactor Default Invoice/Quote/Credit objects
* working on credits
* Implement mark_sent for quotes and credits
* Working on CompanyUser route
* CompanyUser update route
* tests for updating a company user
* Fixes for exchange currency rate
* Move slack and google analytics fields into company table
* implement Design API
* Fixes for test data
* Fixes for tests
* Remove legacy vue components
* Add routing number to client gateway tokens
* working on important documents and company gateways
* Import fixes
* Working on emailing invoices
* Working on emailing and displaying email
* Working on emailing and displaying email
* Email invoices
* Fixes for html emails
* Ensure valid client prior to store
* Ensure client exists when storing an entity
* Update variable name send -> send_email for client_contacts
* Mailable download files
* Extend timeouts of password protected routes when a protected route is hit
* Add default portal design to company settings
* Minor fixes
* Fixes for Tests
* Fixes for invoicing emails
* Refactors for InvoiceEmail
* Implement abstractservice
* Refactors for services
* Refactors for emails
* Fixes for Invoice Emails
* Fix formatting and variable insertion for email templates
* Refactoring for invoice emails
* Fixes for midddleware
* Improve refresh includes
* change setting name
* 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
* 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
* 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
* 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
* Update API docs
* cleaning up migrations
* Fixes for tests
* fixes for tests
* Delete client contacts when soft deleting a client
* Fixes for actions