0.11

Bugfixes

  • [Accommodation] Detail page now correctly checks for discriminator
  • [Accommodation] Fixed query translation helpers in frontend
  • [Accommodation] Hide accommodation detail if numberOfPersons == 0
  • [Accommodation] Hide matrix if no api value is set
  • [Admin] admin.js now correctly handles tinymce popups / modals
  • [Admin] admin.js now correctly replaces url parameter percent character as ‘%’ and as ‘%25’
  • [Admin] fixed collection owner readable check in ManyToManyGroupedJoinEntityTransformer
  • [Admin] Fixed formView _token, no longer rendered in “form_rest”
  • [Admin] PageBatchCopyAction now correctly uses the channel reference instead of the discriminator to copy
  • [Block] TranslationBlock now correctly sets the translation_params
  • [Booking] Fix widget translations admin locale detection
  • [Booking] Widget data is now cleaned to fix the check if the values are “empty”
  • [CI] .env.override is now added to the deployer shared_files, so it will be available between deploys
  • [Classification] ClassificationAdminExtension now checks if icons support is enabled
  • [Classification] Terms edit parent menu fixed
  • [Core] ApiDataTransformer fixes wrong image URL’s now
  • [Core] fixed PageLayoutUpdater now correctly filters the PageType by the current theme
  • [Core] ManyToManyType no longer adds transformers when the option mapped = false
  • [Core] Remove timeslot routing from core
  • [Core] TradeTrackerController is now registered in container
  • [Email] BCC emails now correctly sent with EmailWithBcc helper
  • [Form] Fix export spreadsheet max sheet title length, to prevent error on length overflow
  • [Form] Fix recaptcha text disabled if no recaptcha is present
  • [Frontend] Page copy now correctly copies page metadata with the page
  • [ImageCollection] AbstractImageCollectionBlock now adds a unique reference to the block to seperate fancybox galleries
  • [ImageCollection] AbstractImageCollectionBlock now uses static:: method calls to allow extending the class
  • [ImageCollection] AbstractImageCollectionBlock now uses the first item as highlight, when manual highlighting is disabled in settings
  • [Media] Media image alt tags now correctly fall back
  • [Routing] Fix empty URL placeholder values not allowed
  • [Routing] RedirectRouter now correctly handles trailing slashes
  • [Routing] Remove inversed redirect when creating a new redirect, to prevent infinite loops
  • [Routing] WebsiteMatcher no longer conflicts with domain/alias matches
  • [SEO] Fix indexing check based on SEO_INDEX
  • [Settings] Fix invalid json value on admin settings manager save
  • [Theme] Site switcher now also adds a flag icon for the active item
  • [ThemeBuilder] PageUpdateProcessor now always updates the classes option, even if block is changed
  • [Timeslot] Fix menu permission check
  • [Translation] OverrideTranslator now falls back to current locale when no locale is provided
  • [General] Symfony Process component is now correctly configured with escaped parameters
  • [Admin] Admin context now correctly sets the current admin, instead of the parent admin. If you need the root admin use adminContext::getRootAdmin() instead
  • [Form] TreeType now correctly shows indentation again
  • [Form] Form types no longer rely on adminContext to fetch the current admin, but get an admin passed through the form options
  • [Auth] Delete user no longer deletes accociated groups from database
  • [Auth] Create user now correctly validates email adress for email type AND notblank
  • [Accommodation] Arrangement transformer now checks if the arrangement has an accommodation, before configuring a property “accommodation_id” (prevents fatal error)
  • [Core] Fix default admin tab url (CMSV-94)
  • [ImageCollection] Default media item attributes now show a textarea for the description field and text for the link label field (CMSV-93)
  • [Menu] Column $isHighlight now correctly sets default value false (column is not nullable) (BARKHOORN-40)
  • [Search] Blog/Page search providers now add a publishable constraint
  • [Translation] Add missing block translations
  • [Form] Error on submit due to pageContext attribute “use_redirect_locale” already exists. Now forced overridden.
  • [Recaptcha] Remove duplicate recaptcha text on form

New features

  • [Accommodation] Added search provider to search within accommodation and arrangement items
  • [Accommodation] Arrangement custom dates
  • [Assortiment] Item downloads in frontend
  • [Block] AbstractBlock now has a transformSubrequestBlockOptions to cleanup config options
  • [Block] New layout “gallery-grid” added
  • [Booking] Maxxton provider
  • [Booking] Paginated reservation overview to prevent memory limit errors
  • [Classification] Terms are now translatable
  • [Core] Fixtures command now supports sqlite databases (used in e2e tests)
  • [FAQ] Added category block
  • [FAQ] Added checkbox to hide answer in overview page
  • [FAQ] Added search provider to search within FAQ items
  • [Form] Added conditions (terms and agreement) type
  • [Form] Added file upload type
  • [Form] Title and Text fields to add information to a contact form
  • [Form] Admin can configure reply-to field on admin form email action
  • [ImageCollection] Added mobile image support (+ js-mobile-detect frontend)
  • [ImageCollection] Image collection attributes
  • [MenuBlock] Icon support
  • [Theme] Cleanup command
  • [Timeslot] Now supports discriminator setup
  • [Config] Classification admin can now manually be mapped in module config and will be merged with automatic config (makes it possible to map a custom admin on a classification resource. E.g. StayTypeVocabularyAdmin)
  • [Frontend] Menu : highlight menu items (module option "menu_highlight_enabled" added to enable this feature)
  • [Twig] New date_format filter method, which uses service W3media\Bundle\Core\Util\DateFormatter
  • [Review] New bundle which can be used to review pages, items or the entire website
  • [Redirect] Page with redirect still works after unpublishing the page now. Regular page won't be accessible when not published
  • [PDF] KNP Snappy bundle dependency + default env values without .env (defined in Kernel::setup)
  • [Redirect] Page with redirect still works after unpublishing the page now. Regular page won’t be accessible when not published
  • [PDF] KNP Snappy bundle dependency + default env values without .env (defined in Kernel::setup)
  • [Block] New TommyMatrixBlock in accommodation bundle to replace app level matrix blocks.
  • [Configuration] Media files download + Database download added
  • [Frontend] Channel + Page configuration : background image/color properties | body background image + body class rendering setup
  • [Block] BackToOverviewLinkBlock added (javascript:history:back() href setup)
  • [Site] Locale redirect, you can now configure w3media_site.locale.redirect_locale to perform automatic accept-language redirection to the preferred channel.
  • [Block] Youtube block for youtube videos
  • [Form] Contact form now adds a body class “form-sent” when the form is sent (for custom styling on app level when form is submitted)

Improvements

  • [Accommodation] AccommodationDetailBlock now adds query arguments to the returnUrl
  • [Accommodation] Arrangement image override
  • [Admin] Remove functionality to only render the first tab in some situations
  • [Admin] Website + Channel auth checks for admin fields configuration
  • [Assortment]: Discount prices frontend
  • [Block] AbstractBlock now adds a global “current_url” variable to the viewContext (absolute URL)
  • [Block] TitleBlock now throws a IncompleteBlockException when the title is empty
  • [Block] TranslationBlock now correctly sets theme config classes in viewContext
  • [Booking] Cities are now pushed in batches
  • [Booking] Gateway use_location_characteristics_switcher, use_image_slider checks and matrix_show_more_options checks
  • [Booking]: Added tommy matrix options for 8-13 nights
  • [CI] Env overriding is now possible for values for NPM_TOKEN, SATIS_USERNAME and SATIS_PASSWORD (through a new optional env file .env.deploy)
  • [CI] Improved .gitlab-ci.yml for framework jobs
  • [CI] Improved deployment to allow deploying from localhost (or with ansible)
  • [Classification] Vocabulary term sorting
  • [Config] Config processor improved (moving / updating blocks)
  • [Core] Added unique database indexes for website and alias
  • [Core] Cleanup code todo’s
  • [Core] Cookie environment-based configuration now correctly checks for APP_DEBUG value
  • [Core] Doctrine migritation bundle now supports ContainerAware migrations in the new DoctrineMigrations version
  • [Core] ResponseMinifySubscriber fixed with new wyrihaximus/html-compress library
  • [Core] Updating a channel no longer triggers the MigratorSubscriber
  • [Core]: Fixed default values for Doctrine boolean types
  • [Core] Recaptcha badge is now hidden and a small text is added to the contact form
  • [FAQ]: Answer is now a Wysiwyg field
  • [Frontend] PageCopyManager recursive container cloning
  • [ImageCollection] AbstractImageCollectionBlock use_item_as_link option
  • [ImageCollection] Entities refactored into interfaces/models
  • [Routing] Changed assortiment slug seperator from _ to -
  • [SEO] Alt tags for icons in site switcher
  • [Service] Item category field is no longer required
  • [ThemeBuilder] ContentBlock config option added for layout
  • [Theme] page.html.twig : body_extra_attributes block added
  • [SEO] meta title/description + og tags title/shortDescription : value : strip tags
  • [SEO] meta title/description + og tags title/shortDescription : item title / short description fallback
  • [DateGridView] association sorting setup
  • [QueryHelper] applyDiscriminatorConstraint: check if resource has discriminator en
  • [Footer] resource discriminator usage functionality

Dependencies

  • [Core] Forced gedmo/doctrine-extensions < 3.0 for now