* Fixes for converting quote to invoice
* Fixes for naming PDFs
* Refresh entity prior to sending
* Fixes for subscriptions
* Add in required use
* Fixes for notifications
* Fixes for notifications
* Add with trasheD
* Rename BillingSubscriptions to Subscriptions
* Refactoring subscriptions
- Change 'products' to '$product' with design within: CreateEntityPdf, ActivityRepository, HtmlGenerationTest, Phantom
- New 'task-table' element in the Services\PdfMaker\Design.php
- buildTableHeader & buildTableBody are now more generic
- processTaxColumns() now requires $type to be specified
* 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>
* Fix inputs
* Workflow settings: Auto archive
- New InvoiceWorkflowSettings job
- Updated PaymentCreatedActivity to dispatch the job
- New 'Archivable' trait
- New 'archived_at' field
* Workflow settings: Sending e-mail to client with auto_send
* Workflow settings: Quotes
* Fix HTML markup
* Fix archive & sending
* Remove Archivable trait & migration file
* Change order of sending the events
* 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
* Subclass Notification class
* Subclass Notification class
* Working on invoice design
* Working on page headers and footers
* Fixes for headers and footers
* Fixes for invoices
* Version bump 0.0.2
* code cleanup
* Working on reversing an invoice
* Working on reversing an invoice
* Working on refunding invoice
* Reversing invoices
* Test for invoice reversals
* Invoice Reversal
* Fixes for add / archiving / deleting users
* Working on templates
* Fixes for templating
* Fixes for templating
* Add referral code to account creation
* Fixes for development environment
* Fixes for white label
* Include Laravel Horizon
* Add Account ID to user table AND ensure a user cannot create an invoice across companies
* restart horison after an update
* Fixes for app setup
* Minor fixes
* Fixes for client routes
* Fixes for tests
* minor fixes
* Refactor designs to remove whitespace
* enable dummy data for templating
* Insert faker data into templates
* Fixes for user deletion
* Documentation on User controller:
* Working on app setup
* Files for app setup
* Working on Setup
* Final fixes for setup controller
* Fixes for setup
* Fixes for first install
* Minor fixes
* Fixes for tests
* Working on PDF tables
* Fixes for null values in designs
* Refactoring entity variables for PDF
* Fixes for pdf variables
* Minor fixes for designs
* Working on variable replacement for tables
* Refactoring designs
* Refactoring designs
* Refactoring design implementation
* Working on refactoring designs
* Serve tailwind locally
* Design changes
* Minor fixes for user delete
* Working on notifications
* Refactor for notifications
* Fix for checking settings withe negative integers
* Set payment id to 0
* Move pdf download to client side routes
* fixes for company_user
* Fixes for company_user
* Remove backup column from schema
* Add slack webhooks to company user table
* Preview route
* remove json column from company gateway
* fixes for testS
* Fixes for typos
* remove jobs table
* Working on notifications
* Working on notifications
* Fix for pdf_variables
* Fixes for notification
* Fixes for viewing invoice with NO company custom_fields
* Fixes for company settings object creation
* Working on group settings
* Fixes for storing the correct currency_id on client creation
* Fix for invoicetransformer
* fix for store client
* Update PaymentAppliedValidAmount.php (#38)
* update company schema descriptions
* Update PaymentAppliedValidAmount.php
Co-authored-by: David Bomba <turbo124@gmail.com>
* Cast invoice designs to the Hashes
* Fixes for setting invoice/credit/design_ids to hashed
* Fixes for quote transformer
Co-authored-by: michael-hampton <michaelhamptondesign@yahoo.com>
* Fix for setting a currency!
* Additional logic to ensure invites are only created for the client_contact -> client
* Move credit number generation after the save to ensure we do not fail on the credit creation because of a number race condition
* fixes for migration
* 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
* Refactor for user
* payment notifications
* Fixes for contact request
* Fix validation for contacts
* Fixes for base repo
* Fixes for Invoice Repo
* hide password field on clientcontact
* Testing Company Ledger
* Fixes for company ledger
* Fixes for company ledger
* Company ledger testS
* Fixes for user / client / contacts transformers
* Fixes for tests
* Fixes for tokens
* Working on importing company gateways
* Fix for companyuser settings object
* Migrate client_gateway_tokens
* Working on Notificaitons
* Working on notifications
* Failsafe for user-company
* unlink files
* Set DB for jobs
* Always have a fallback for company_id
* Fixes for user model
* Formatting for MultiDB
* Working on Company Ledger Tests
* Fixes for contact request
* Set Invitations as a default include for invoices
* style cs
* Style CS
* Throw Record not found exception if invalid primary key hash is provided
* Improve error handling
* Create abstract implementation for designs
* working on custom designs
* Add Design Model
* invoice services
* Download Invoice by Invitation
* BaseController cleanup
* Working on invoice designs
* Working on invoice designs
* working on invoice designs
* working on invoice designs
* invoice designs
* Working on Invoice Designs
* Fixes for user settings object
* Working on invoice designs
* Fixes for encoded user settings
* Working on contact localized invoice pdfs
* working on invoice designs
* Fix for invoice update 500 error
* Working self-updater package
* Fixes for travis
* Working on invoice designs
* Working on invoice builder
* Tests for invoice design
* Working on invoice designs
* Minor fixes
* Minor fixes for randomdataseeder
* Include fix as describe by @michael-hampton here #3280
* Refactor createinvitations away from jobs
* Clean up
* Fixes for service() refactoring
* Fixes for services refactor
* Implement Services
* implement service pattern
* Service patterns
* Refactoring invoice paid
* refactoring invoice
* Refactor jobs
* Refactor - remove jobs
* Refactor jobs
* Refactoring jobs
* Refactoring away from jobs
* Refactoring jobs
* Add Credits to test data
* More tests for refunds
* Tests for refunds
* Improve test speeds
* Fixes for tests
* Adjust the way we update products
* Adjustments for payments
* Fixes for payments
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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