[AdminModule]
- Changed that
AuditLogAdminPresenter
(URL /admin/audit-log-admin/
) now requires at least one filter condition to display records. remp/crm#2186
- Changed the registration of widgets - module now uses improved
LazyWidgetManager
and all widgets extend BaseLazyWidget
class. remp/crm#2075
- Fixed universal search collision with other
select2
searches present on the same page. remp/crm#2663
[ApiModule]
- Added support for JSON body logging (to complement POST and GET params). remp2020/crm-api-module#1
- IMPORTANT: Please be aware, that your
api_logs
table and Hermes log text file might grow much faster. Consider rotation and periodical cleanup of this table/file.
- In general, we recommend to rotate the table manually and store the old logs outside of the database. You can get inspired in this gist. If you export the data before the migration, you’ll make the migration much faster.
- Changed type of
api_logs
columns to utf8mb4_unicode_ci
to avoid errors caused by funky raw bodies we now log. remp/crm#2655
- IMPORTANT: This migration could take a long time, depending on the size of your
api_logs
table. It took us 2 hours to migrate ~7GiB table. Due to the mentioned, we don’t migrate the data to the new table and keep old API logs in the separate table.
- If you still decide you also want to migrate the data, set the ENV variable
CRM_ALLOW_API_LOGS_DATA_MIGRATION
to 1
. The migration is non-blocking.
- Added blacklist/whitelist configuration for API logger. remp2020/crm-api-module#1
- Fixed missing translations in the flash messages and forms. remp/crm#2636
[AppleAppstoreModule]
- Added support to enforce gateway mode during online verification via payload. remp/dn-mofa#474
- Changed the registration of widgets - module now uses improved
LazyWidgetManager
and all widgets extend BaseLazyWidget
class. remp/crm#2075
[ApplicationModule]
- BREAKING: Changed
ApplicationConfig->initAutoload()
to not load configs from cache if cache expiration is set to zero. remp/crm#2605
- Added
LazyWidgetManager
to replace ineffective WidgetManager
. remp/crm#2075
- Update your modules which register widgets by now deprecated
WidgetManager
and use LazyWidgetManager
instead.
- Update your widgets which extends now deprecated
BaseWidget
and use BaseLazyWidget
instead.
[ClvModule]
- Changed the registration of widgets - module now uses improved
LazyWidgetManager
and all widgets extend BaseLazyWidget
class. remp/crm#2075
[FamilyModule]
- Changed
RequestsAdmin::default
template. remp/crm#2599
- Added link back to user from form page.
- Added info that payment items are with VAT and we don’t support VAT change for these items at the moment.
- Updated template to be responsive.
- Fixed payment creation process in
RequestFormFactory::formSucceed
. It now copies also subscription type item’s meta into new payment item’s meta. remp/crm#2599
- Changed the registration of widgets - module now uses improved
LazyWidgetManager
and all widgets extend BaseLazyWidget
class. remp/crm#2075
[GiftsModule]
- Changed the registration of widgets - module now uses improved
LazyWidgetManager
and all widgets extend BaseLazyWidget
class. remp/crm#2075
[GoPayModule]
- Fixed notify URL API link generation. remp/crm#2645
[GooglePlayBillingModule]
- Changed the registration of widgets - module now uses improved
LazyWidgetManager
and all widgets extend BaseLazyWidget
class. remp/crm#2075
- Added
offer_periods
column to google_play_billing_subscription_types
to support multiple trial periods of subscription type before switching to base plan. remp/crm#2635
[InvoicesModule]
- Changed the registration of widgets - module now uses improved
LazyWidgetManager
and all widgets extend BaseLazyWidget
class. remp/crm#2075
- Fixed “empty string” fields in addresses, making them nulls. remp/crm#2513
[IssuesModule]
- Added option
--delete-remote-after
into command issues:ftp-import
(SyncFtpIssuesCommand
). If used, remote files are deleted after download finished. remp/helpdesk#1434
- Changed the registration of widgets - module now uses improved
LazyWidgetManager
and all widgets extend BaseLazyWidget
class. remp/crm#2075
- Fixed issues API links generation. remp/crm#2645
[OnboardingModule]
- Changed the registration of widgets - module now uses improved
LazyWidgetManager
and all widgets extend BaseLazyWidget
class. remp/crm#2075
[PaymentsModule]
- Added support for configurable test host in gateways. remp/crm#2489
- Updated
tomaj/omnipay-tatra
library to v4.2.
- Added message for users without auto-renew payments to inform about the possibility of change. remp/crm#2585
- Changed composer dependency from
miroc/omnipay-paypal-reference
to rootpd/omnipay-paypal-reference
.
- Changed the registration of widgets - module now uses improved
LazyWidgetManager
and all widgets extend BaseLazyWidget
class. remp/crm#2075
- Fixed handling of custom amount when adding manual payment (route
/payments/payments-admin/new
). remp/helpdesk#1541
- Fixed access to payments presenter actions, added explicit validation of currently logged user. remp/crm#2630
- Fixed
CsobOneClick->charge()
to stop recurrent payment if resultCode: "150", resultMessage: orig payment not authorized, oneclick card expired
is returned from API. remp/crm#2627
- Fixed possible error when creating new payment with custom items if name of the item or vat was empty. remp/crm#2640
- Added cart items to PayPal checkout page. remp/crm#2651
- Fixed
PaymentsRepository->copyPayment()
- mark new payment as failed if we are unable to copy payment items (eg. missing subscription type item). remp/crm#2659
- Fixed validating
subscription_start_at
and subscription_end_at
as date in edit payment form, only if start/end of subscription is set to manual. remp/helpdesk#1624
[PrintModule]
- Changed the registration of widgets - module now uses improved
LazyWidgetManager
and all widgets extend BaseLazyWidget
class. remp/crm#2075
[PrivatbankarModule]
- Changed the registration of widgets - module now uses improved
LazyWidgetManager
and all widgets extend BaseLazyWidget
class. remp/crm#2075
[ProductsModule]
- BREAKING: Changed signature of
PostalFeeMessageConditionInterface
. remp/crm#2637
- The method
getReachedMessage
now requires two parameters, cart $products
and postal fee condition $value
.
- New method
getNotReachedMessage
which is intended to be displayed for users, who haven’t reached the condition yet. Method accepts the same set of parameters.
- Fixed search products by
author
query condition. remp/crm#1872
- Added
SortShopProductsFormValidationDataProviderInterface
used in SortShopProductsFormFactory
to provide a way to define custom sorting (eg. alternate products of two categories). remp/crm#2464
- Changed the registration of widgets - module now uses improved
LazyWidgetManager
and all widgets extend BaseLazyWidget
class. remp/crm#2075
- Fixed mistyped
YesNoHelper
latte filter call in TagsAdmin/default.latte
file. Should be yesNo
instead of YesNo
. remp/helpdesk#1536
- Fixed missing translations in the flash messages. remp/crm#2636
- Added ability to set form defaults for
ProductsFormFactory
. remp/crm#2648
[RempMailerModule]
- Changed the registration of widgets - module now uses improved
LazyWidgetManager
and all widgets extend BaseLazyWidget
class. remp/crm#2075
[RempPythiaModule]
- Changed the registration of widgets - module now uses improved
LazyWidgetManager
and all widgets extend BaseLazyWidget
class. remp/crm#2075
[SalesFunnelModule]
- IMPORTANT: Added unique index to
sales_funnel.url_key
table column. remp/crm#2665
- Fixed redirection of inactive sales funnels for full url (
http://crm.press/sales-funnel/sales-funnel-frontend/show?funnel=FUNNEL_CODE
). remp/crm#2580
- Redirection of short URL (
http://crm.press/FUNNEL_CODE
) was implemented within remp/crm#847 but accessing full URL ended with a “funnel inactive” error.
- Added events
SalesFunnelCreatedEvent
and SalesFunnelUpdatedEvent
. remp/crm#2483
- Added handler
SalesFunnelChangedEventsHandler
for both events to store short funnel URL (url_key
) if caching is enabled. It will now cache short URLs of funnels also after seeding. No need to manually save sales funnel. remp/crm#2483
- Moved update of funnel’s
last_conversion
date when incrementing total_conversions
into common method increment()
. remp/crm#2483
- Changed the registration of widgets - module now uses improved
LazyWidgetManager
and all widgets extend BaseLazyWidget
class. remp/crm#2075
- Added note to sales funnels. remp/crm#2604
[ScenariosModule]
- Added soft delete and restore to scenarios. remp/crm#2531
- Changed
Engine
to process only jobs of enabled scenarios that were created after scenario restore (if restored).
- Added deletion of unprocessable jobs. These are jobs of deleted scenarios or jobs created before scenario restore.
[SegmentsModule]
- Fixed
SegmentsTrait->seedSegment()
trying to seed segment second time. It failed to find already seeded segment if it was soft-deleted. Previously used SegmentsRepository->findByCode()
checks only active segments. remp/crm#886
- Changed the registration of widgets - module now uses improved
LazyWidgetManager
and all widgets extend BaseLazyWidget
class. remp/crm#2075
- Fixed missing translations in the flash messages. remp/crm#2636
[SubscriptionsModule]
- IMPORTANT: Added unique index to
subscription_types.code
table column. remp/crm#2665
- Changed the registration of widgets - module now uses improved
LazyWidgetManager
and all widgets extend BaseLazyWidget
class. remp/crm#2075
- Fixed
SubscriptionTypesAdmin::show
template to load subscription-types-meta.value
into form without any change to value. If raw value was JSON, jQuery would load it from data-value
attribute as JSON object instead of string. Using base64 to overcome this issue. remp/crm#2620
[UpgradesModule]
- Changed the registration of widgets - module now uses improved
LazyWidgetManager
and all widgets extend BaseLazyWidget
class. remp/crm#2075
- Changed evaluation of upgrade conditions to generate lower number of DB queries. remp/crm#2584
[SubscriptionsModule]
- Added filter to the listing of subscription types in admin. remp/crm#2598
[UsersModule]
- BREAKING: Changed return value of
UserData#getUserToken
function from false
to null
in case of no associated user data for token. remp/crm#2621
- DEPRECATED: Deprecated class
SignInRedirectValidator
. remp/crm#2113
- Class is replaced by more generic
RedirectValidator
in application-module.
- The class will be removed in the future, make sure to replace any references to
SignInRedirectValidator
with RedirectValidator
- Added option to anonymize single user from admin without disabling anonymization conditions for all users. remp/crm#2102
- Some users want to be removed and they don’t care that subscription is active or shop payment was made yesterday. Helpdesk should be able to anonymize user (after email / phone confirmation) without changing general settings used by system subroutines.
- Reason of forced anonymization of active user is required.
- Added option to force delete user data (into
DeleteUserData->deleteData()
) in case user’s removal is blocked by providers. This is helpful in case of user’s request to be removed despite of active subscription. remp/crm#2102
- Fixed scenario when address wasn’t updated if the change was minor and non-strict comparison evaluated it as non-change. remp/crm#2513
- Added
user_meta
to login API endpoints (/api/v1/users/login
, /api/v1/users/google-token-sign-in
, /api/v1/users/apple-token-sign-in
). remp/crm#2590
- Added parameter
source
to GooglePresenter
and ApplePresenter
presenters, having the same meaning as current n_source
parameter. Both are now accepted, source
having a priority. remp/crm#2594
- Fixed incorrect component name
pnp
to paginator
in AbusiveUsersAdmin::default
template. Missed while refactoring paginator to PreviousNextPaginator
. remp/crm#2512
- Changed the registration of widgets - module now uses improved
LazyWidgetManager
and all widgets extend BaseLazyWidget
class. remp/crm#2075
- Fixed possibility of Varnish “Unexpected content-range header” error for FileResponse-based downloads. remp/helpdesk#1523
- Changed that
UserDataLocaleResolver
now loads locale from UserData
- it fixes problem with locale synchronization relying on session data only. remp/crm#2621
- Fixed “empty string” fields in addresses, making them nulls. remp/crm#2513
- Fixed synchronization problems with Google/Apple SignIn state (saving state to Redis instead of cookies). remp/crm#2114
- Fixed “empty string” fields in addresses, making them nulls. remp/crm#2513