0 as value for filter. remp/crm#3418\Crm\ApiModule\Models\Response\JsonResponse. Use \Tomaj\NetteApi\Response\JsonApiResponse instead.\Crm\ApiModule\Models\Response\XmlResponse. Use \Tomaj\NetteApi\Response\XmlApiResponse instead.\Crm\ApiModule\Models\Response\RedirectResponse. Use \Tomaj\NetteApi\Response\RedirectResponse or \Nette\Application\Responses\RedirectResponse instead.\Crm\ApiModule\Models\Params\ParamInterface. Use \Tomaj\NetteApi\Params\ParamInterface instead (if needed; ApiModule doesn’t use it).getHttpCode() and setHttpCode() from \Crm\ApiModule\Models\Response\ApiResponseInterface. Use getCode() and setCode() instead.getCategory(), getApiCall() and getApiPath() from \Crm\ApiModule\Models\Router\ApiIdentifier. Use getPackage(), getApiAction() and getUrl() instead.
category of ApiIdentifier renamed to package.hasError() from \Crm\ApiModule\Models\Params\ParamsProcessor. Use isError() to check if any error is present and getErrors() to get all errors raised while validating input API parameters.
isError() was removed also; use parent method isError(). It was present just for comment with explanation not needed anymore.\Crm\ApiModule\Models\Params\ParamsProcessor. Use \Tomaj\NetteApi\Params\ParamsProcessor instead.
hasError()), this change should be simple switch of classes in import.nette/mail library for in-CRM mail management to v4. remp/crm#3425
malkusch/lock library handling mutex implementation. remp/crm#3419
MalkuschLockV3 rector rules to do the upgrade.phpoffice/spreadsheet library to v4.0 (previously v1.*). remp/crm#3420
\Crm\ApplicationModule\Models\Widget\BaseWidget. Use Crm\ApplicationModule\Models\Widget\BaseLazyWidget instead.\Crm\ApplicationModule\Models\Widget\WidgetManager. Use Crm\ApplicationModule\Models\Widget\LazyWidgetManager instead.\Crm\ApplicationModule\Models\Widget\WidgetManagerInterface. Use \Crm\ApplicationModule\Models\Widget\LazyWidgetManagerInterface instead.registerWidgets() from \Crm\ApplicationModule\Application\ApplicationModuleInterface. Use registerLazyWidgets() instead.ApplicationManager.\Crm\ApplicationModule\Models\Graphs\Scale\ScaleInterface::getDatabaseData(). remp/crm#3459
\Crm\ApplicationModule\Models\Graphs\GraphDataItem::getData() which worked with this deprecated (now removed) method ScaleInterface::getDatabaseData().ScaleInterface::getDatabaseRangeData() and GraphDataItem::getSeriesData() instead.robmorgan/phinx on version 0.16.5 as later versions will throw exception for deprecated util function used in the command for test database schema export.getInt and getBool methods to EnvironmentConfig so that it’s possible to load typed environment values in configs.StaticMemoryStorage for tests, so that Nette can persist data in a way that survives DI container refresh.\DateTimeImmutable alongside with \DateTime. remp/crm#3431netteForms.js) to the latest version. remp/novydenik#1331\Crm\FamilyModule\Repositories\FamilyRequestsRepository::userAlreadyHasSubscriptionFrom(). remp/crm#3459
userAlreadyHasSubscriptionFromMasterWithSubscriptionType from same repository instead.products:activate_purchased_gift_coupons. Use gifts:activate_purchased_gift_coupons instead. remp/crm#3448address to street everywhere. remp/crm#2368
addresses.address to addresses.street.GiftFormFactory. helpdesk#3477address to street everywhere. remp/crm#2368
addresses.address to addresses.street.geoip/geoip library from v2 to v3. remp/crm#3423
Crm\PaymentsModule\Models\ParsedMailLog\StateEnum renamed to ParsedMailLogStateEnum.Crm\PaymentsModule\Models\RecurrentPayment\StateEnum renamed to RecurrentPaymentStateEnum.PaymentsRepository. remp/crm#3453
\Crm\PaymentsModule\Models\Payment\PaymentStatusEnum instead.RecurrentPaymentsRepository. remp/crm#3453
\Crm\PaymentsModule\Models\RecurrentPayment\RecurrentPaymentStateEnum instead.ParsedMailLogsRepository. remp/crm#3453
\Crm\PaymentsModule\Models\ParsedMailLog\ParsedMailLogStateEnum instead.\Crm\PaymentsModule\Repositories\RecurrentPaymentsRepository::addV1(). remp/crm#3459
add() from same repository instead. Check version for details https://github.com/remp2020/crm-payments-module/releases/tag/3.5.0authorized to RecurrentPaymentsRepository::activeFirstChargeBetween method. remp/helpdesk#3543
authorized payments with recurrent payment to scenario’s Before recurrent payment charge trigger.address to street everywhere. remp/crm#2368
addresses.address to addresses.street.0 as value for filter. remp/crm#3418default_route value from application config instead of hard coding no payments route in user detail. remp/crm#3251RefundableInterface for payment gateways that support direct refunds with their APIs. remp/crm#3399pending state to recurrent payments detail.address to street everywhere. remp/crm#2368
addresses.address to addresses.street.print_subscriptions.address to print_subscriptions.street. remp/crm#2368products.code column. remp/crm#2802
registerRoutes() of your own module:
foreach ($productsToRedirect as $productId => $productCode) {
$oldUrl = "{$shopHost}/show/{$productId}/{$productCode['old']}";
$newUrl = "{$shopHost}/show/{$productId}/{$productCode['new']}";
$router->prepend(new Route($oldUrl, function () use ($newUrl) {
return new RedirectResponse($newUrl, IResponse::S301_MovedPermanently);
}));
}
address to street everywhere. remp/crm#2368
addresses.address to addresses.street.products.code from product’s title. remp/crm#2802
Products:ProductsAdmin:generateProductCode.ProductsFormFactory in your own module:
{control productsForm} to {include '@productsForm.latte'} (can be found in ProductsModule/src/templates/ProductsAdmin) or copy javascript from this template to your template that renders this form.ProductsAdminPresenter#handleGenerateProductCode()).products.shop.show.buy to product detail. remp/novydenik#1328modified_at when updating product (ProductsRepository->update()). remp/crm#2802CheckoutFormTrait trait which provides utility methods for amending rules and stacking toggle conditions. remp/novydenik#1331MailSubscriptionsUserDataProvider data provider which handles fetching users mail subscriptions. remp/respekt#359SalesFunnelFrontendPresenter::renderDefault. README remp/crm#3251SalesFunnelFrontend::show method instead of SalesFunnelFrontend:default. remp/crm#3251address to street everywhere. remp/crm#2368
addresses.address to addresses.street.group_id param from request and/or response of few segments APIs. Use group_code instead. remp/crm#3449
/api/v1/segments/detail (CreateOrUpdateSegmentHandler)./api/v1/segments/list (SegmentsListApiHandler)./api/v1/segments/show (ShowSegmentHandler)./api/v1/user-segments/list (ListApiHandler).0 as value for filter. remp/crm#3418SubscriptionsPresenter::renderNew. README remp/crm#3251address to street everywhere. remp/crm#2368
addresses.address to addresses.street.\Crm\SubscriptionsModule\Models\Subscription\SubscriptionTypeHelper::getPairs(). remp/crm#3459
\Crm\PaymentsModule\Forms\Controls\SubscriptionTypesSelectItemsBuilder::buildWithDescription() instead.default_route value from application config instead of hard coding no subscriptions route in user detail. remp/crm#3251vat_default to 23 in ConfigSeeder. remp/crm#3438subscriptions_meta table. remp/respekt#395addresses.address to addresses.street and address_change_requests.address to address_change_requests.street. remp/crm#2368
address -> street) for APIs /v1/users/change-address-request and v1/users/address.address -> street) of API /v1/users/addresses.StatusEnum that was missing context in class name. remp/crm#3453
Crm\UsersModule\Models\AddressChangeRequest\StatusEnum renamed to AddressChangeRequestStatusEnum.AddressChangeRequestsRepository. remp/crm#3453
\Crm\UsersModule\Models\AddressChangeRequest\AddressChangeRequestStatusEnum instead.\Crm\UsersModule\Events\UserCreatedEvent. remp/crm#3459
\Crm\UsersModule\Events\UserRegisteredEvent instead.Crm\UsersModule\Models\Auth\SignInRedirectValidator. remp/crm#3459
Crm\ApplicationModule\Router\RedirectValidator instead.signInRedirectValidator, just rename it to redirectValidator.
```diff
\Crm\UsersModule\Models\Auth\Sso\GoogleSignIn::signInUsingIdToken(). remp/crm#3459
getUserUsingIdToken() from same class.\Crm\UsersModule\Models\Auth\Sso\AppleSignIn::signInUsingIdToken() to getUserUsingIdToken(). remp/crm#3459
UserStatsUserDataProvider to handle deletion of user_stats records when user is anonymized. remp/crm#3332
user_stats of already anonymized users are deleted by migration (DeleteUserStatsOfAnonymizedUsers). Migration is non-blocking but it could take longer than other data migrations - depending on the size of your user_stats table and number of anonymized users. Consider to run it at off-peak times.UserCreatedAtCriteria. remp/crm#32650 as value for filter. remp/crm#3418LoginAttemptsUserDataProvider.download. remp/crm#3441