All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog.
- Added support to allow the scout driver to be defined per model.
- Added
addLines
method to theCartManager
that allows for multiple items to be added to the cart.
- If a fieldtype class no longer exists, the editing pages will now remove it and prevent the associated errors.
savedCart
relationship has been added to theCart
model.- Incorrect price when currency has zero decimal places.
- The
last_four
column has been changed to aVARCHAR
(#282). - When adding a purchasable to the cart, a potential difference in key order for meta is taken into account. #271
- The method
released
on Payment Drivers has been renamed toauthorize
GetCandy\Base\DataTransferObjects\PaymentRelease
has been renamed toGetCandy\Base\DataTransferObjects\PaymentAuthorize
- Added
createOrder($forget = true)
method to theCartSession
facade. - Added
active
scope to theCart
model for carts that do not have an order associated. - Added ability to tap into filterable, searchable and sortable fields in Scout.
- Added convenient method to access pricing from product variants.
- Added
config/getcandy/urls.php
config. - You can now specify a URL generator when creating records that use the
HasUrls
trait. - You can specify whether URLs are required throughout the system.
- The database connection can now be specified for GetCandy's models in
getcandy/database.php
. By @ryanmitchell - Added
getcandy:search:index
command to reindex models based on options passed. By @lucasvmds - Added ability to format prices using different locales via the php NumberFormatter.
- Added new
clear()
function to the CartManager.
- When a user logs in, the
CartSessionAuthListener
will now check for an active cart, rather than just grabbing the latest. (#186) Dropdown
,ListField
andNumber
field types now implement theJsonSerializable
interface.- When deleting a record that has URLs, if it wasn't soft deleted, there is now a clean up routine to remove any existing URLs
- When running the
getcandy:meilisearch:setup
it will now wait for a period whilst the index is created before continuing. By @lucasvmds translate
method will now consider non array values passed and use the$locale
parameter correctly #251. By @armezit
- When generating media conversions, the original file format is now kept. By @lucasvmds
- Quantity column on
cart_lines
andorder_lines
table is now of typeunsignedInteger
.
- Added support for Laravel 9
- Added new
TaxBreakdown
andTaxBreakdownAmount
Data Transfer Objects. (#173) - Added
setCartLine
method to the system tax driver. (#173) - GetCandy will now automatically prefer multiple default addresses for shipping and billing. By @nicolalazzaro
- The
taxBreakdown
method on the tax driver now uses Data Transfer Objects. (#173) - The
CalculateLine
action will now take in to account whether a unit price has already been set. By @ryanmitchell
- GetCandy will now register it's bindings in the
boot
method of the service providers. By @edcoreweb - The Cart actions to calculate the totals will now use the
Taxes
facade correctly.
- If an attribute value is null it will be returned instead of the
{"en": null}
encoded string. (#130) - When loading an exiting product with channel availability, the scheduling modal should no longer display without prompt.
Product
andProductOption
models will now take the Scout prefix config setting on the indexes.- The
Text
fieldtype tolerance now accepts numeric values instead of just forcing strings. - Translating an attribute via
->translateAttribute('name')
will now handle non translatable fields for consistency. - When using the
getcandy:meilisearch:setup
only indexes available within the app should be affected. - When installing GetCandy the correct configuration or rich text fields should now be applied. By (@KKSzymanowski)
- Added
Taxes
facade to ensure theTaxManager
can be easily extended. (#129) collections
relationship has been added to theProduct
model. By (@poppabear8883)- GetCandy's models now support have added macro support. By (@edcoreweb)
- Instead of assuming
$user->id
we know use$user->getKey()
. By (@ryanmitchell) - Big maintenance update to the Docblocks across the codebase to help with IDE support. By (@KKSzymanowski)
- Added missing
HasTranslations
trait toProductVariant
model.
- When adding addresses via the
CartManager
we update any existing addresses rather than removing and re adding. - When generating handles for models, we have moved to a forced
snake
case. i.e.some_handle
. By @itcyborg
- Added
scopeDefault
to theUrl
model. - Added a new
defaultUrl
relationship to models using theHasUrls
trait. - Added new
PricingManager
class to deal with price fetching on purchasable objects. - Allow hub path to be configurable in
system
config. By (@ryanmitchell)
- When translating an attribute, if we can't find a translation, we default to whatever the FieldType gives back instead of erroring.
TranslatedText
fieldtype now implementsJsonSerializable
interface (#50).- Core tests now use the correct
User
model stub when running. By @joelwmale - When creating a product, prices were being added twice. This should be resolved.
- When adding a cart line, meta fields were causing lines to be duplicated, this should be resolved.
- Models that have channels now implement
start_at
andend_at
columns. This replaces the previouspublished_at
column. - Laravel UI modal components removed.
- Description attribute is no longer
required
or asystem
attribute on install.
- Added a new
default
column to thetax_classes
table. - Added
customer_id
to orders so an order has a 1:1 relation to a customer. (#73). - Created the
AttributeManifest
class so dev's can add their own attributable classes. - Created the
FieldTypeManifest
class so dev's can add custom FieldTypes to the store. - Added
$table->userForeignKey()
macro for migrations that create foreign keys which reference a user id.
- Added check on customers for when using MySQL search driver to prevent undefined columns #40.
- Changed
https
tohttp
on country import due to issues with local environment CA installations.
- Fixes Issue 24 where URL relationship is
elements
when it should beelement
. - Fixed an issue where
now()->year
would return an int on single digit months, but we need to have a leading zero.
- Customers
meta
column now uses Laravel'scasts
property and is cast to an object.
- Made customers searchable via Scout.
- Added addresses relationship to the customer model.
- Fixed and issue where the meilisearch set up wasn't creating the indexes it needed if they didn't exist.
- Default currency has
enabled
set to true.
- Install command no longer publishes hub assets
- Added a default
CollectionGroup
.
Initial release.