[ApplicationModule]
- Moved table cleanup from
DatabaseTestCase::tearDown()
to DatabaseTestCase::setUp()
. remp/crm#2111
- It’s better to clean tables before test is run; no need to rely on previous tests cleaning tables through
requiredRepositories()
.
- Changed
TRUNCATE
to DELETE
in DB cleanup before test is run. See commit message for details. remp/crm#2111
- Changed argument of
NowTrait::setNow()
to nullable. Setting it to null will remove preset DateTime. remp/crm#2111
- Added logging of internal errors during user deletion. remp/crm#2053
[GiftsModule]
- Added exception handling to prevent the termination of
gifts:activate_purchased_gift_coupons
command. remp/crm#2132
- Added
gift_starts_at
variable with the date of the gift activation to the emitted NotificationEvent
. remp/novydenik#844
[GopayModule]
- Added index for
transaction_reference
column. remp2020/crm-gopay-module#12
[MailModule]
- Fixed notice in mail jobs admin with zero unsubscribes. remp/crm#2147
- Added logging of
$mailJob
when JsonException is raised while decoding it from cache storage. remp/crm#2148
- Added new
EguliasEmailValidator
email validator - based on egulias/EmailValidator. remp/crm#2160
[PaymentsModule]
- Fixed link pointing to authorization
Payments:Dashboard:detailed
in Payments dashboard. remp/crm#1709
- The authorization rule we checked was incorrect and could lead to link being visible for people without access to the resource. Clicking the link would cause Forbidden error.
- Added
payment.address
placeholder for widgets to hold address forms displayed during payment process. remp/novydenik#833
- The placeholder was added so the payment address forms can be reused across multiple places - payment success, bank transfer info.
- Added
payments.frontend.banktransfer.bottom
placeholder for widgets into bank payment info page. remp/novydenik#833
- Added
BeforePaymentBeginEvent
event, allowing modifying payment prior processing by payment gateway. A similar event BeforeRecurrentPaymentChargeEvent
is added to recurrent charge. remp/crm#2136
- Added
PaymentReturnGatewayDataProviderInterface
data provider, giving ability to modify gateway that payment is checked against after its completion. remp/crm#2136
[ProductsModule]
- Added soft delete to products admin and respect
deleted_at
column in ProductsRepository
methods. remp/crm#2135
- Products already in cart session are removed when the session is accessed (
ShopPresenter::buildCartSession
).
- Allowed to change the status of order either in case of previous payment’s fail. remp/helpdesk#954
[RempCampaignModule]
- Remove
Api::setNow()
which duplicates NowTrait::setNow()
. Functionality is same. remp/crm#2111
[SalesFunnelModule]
- BREAKING: Renamed
frontend.payment.success.forms
to frontend.payment.success.bottom
to improve semantics of the placeholder. remp/novydenik#833
- If you register widgets to
frontend.payment.success.forms
, change it to frontend.payment.success.bottom
, or preferably payment.address
.
- Added new
frontend.payment.success.head
widget placeholder to SalesFunnel:success
. remp/crm#2022
[ScenariosModule]
- Added throw exception on scenario create/update if one of elements list itself as descendant. Cyclic element references are forbidden. remp/crm#2112
[SegmentsModule]
- Fixed unnecessary build of segment on segment detail when segment values is rendered or redrawn. remp/crm#2162
- Changed (raised) step of segment build on segment detail to avoid multiple executions of segment. remp/crm#2162
- This is still not ideal and will be removed completely in the future.
[SubscriptionsModule]
- Added index for
internal_status
to speed up maintenance query cleaning up the status when subscriptions ends. remp2020/crm-subscriptions-module#9
- Added new scenario’s criteria to check if subscription has been expired by admin. remp/helpdesk#940
- Added seeding of extension method
ExtendSameContentAccess
(extend_same_content_access
). remp/crm#2175
[UsersModule]
- Changed user access source update query from
INSERT .. ON DUPLICATE
to INSERT
+UPDATE
to prevent possible deadlocks. remp/crm#2079
- Changed storage location of SSO authentication values from session to cookie. remp/crm#2114
- Changed email validation handlers
/api/v1/users/set-email-validated
and /api/v1/users/email
to consider the unclaimed user as if it did not exist. remp/crm#2061
- Added validation for all users in
users:check-email
command. remp/crm#2160
- Changed
UsernameAuthenticator
to not allow the unclaimed user to log in. remp/crm#2062
- Added handling for malformed URLs in
SignInRedirectValidator
. remp/crm#2149
- Added
/api/v1/user/delete
API to delete user (authorized with user’s Bearer token). remp/crm#2053