{# module type: PAYMENT #}
{% set productVariantsToDisplay = [] %}
{% set productPacksToDisplay = [] %}
{# Select product variants from landing #}
{% for landingProductVariant in module.subscriptions %}
{% for productVariant in productVariants %}
{% if productVariant.id == landingProductVariant.subscription %}
{% set productVariantsToDisplay = productVariantsToDisplay|merge([{
'productVariant': productVariant,
'landingProductVariant': landingProductVariant
}]) %}
{% endif %}
{% endfor %}
{% endfor %}
{# Select packages from landing if defined #}
{% if module.packages is defined %}
{% for landingProductPack in module.packages %}
{% for productPack in productPacks %}
{% if productPack.id == landingProductPack.package %}
{% set productPacksToDisplay = productPacksToDisplay|merge([{
'productPack': productPack,
'landingProductPack': landingProductPack
}]) %}
{% endif %}
{% endfor %}
{% endfor %}
{% endif %}
{# Calculate column sizes based on items count #}
{% set maxContactMdColumn = 3 %}
{% set maxProduktBoxMdColumn = 4 %}
{% set count = productVariantsToDisplay|length + productPacksToDisplay|length %}
{% set itemsCount = count == 0 ? 1 : count %}
{% set contactMdColumn = maxContactMdColumn %}
{% set baseProduktBoxMdColumn = ((12 - contactMdColumn) / itemsCount)|round(0, 'floor') %}
{% set produktBoxMdColumn = baseProduktBoxMdColumn > maxProduktBoxMdColumn ? maxProduktBoxMdColumn : baseProduktBoxMdColumn %}
{% set totalUsedColumns = produktBoxMdColumn * itemsCount + contactMdColumn %}
{% if totalUsedColumns > 12 %}
{% set overflow = totalUsedColumns - 12 %}
{% set adjustment = (overflow / itemsCount)|round(0, 'ceil') %}
{% set produktBoxMdColumn = produktBoxMdColumn - adjustment %}
{% endif %}
{# #### #}
<section id="subscription">
<div class="container course-container pt20">
<div class="mw800 text-center">
<h3 class="font2 c1"><strong>Dołącz do uczestników kursu</strong></h3>
<div class="fs20 mb30"><strong>{{ course.name }}</strong></div>
</div>
<div class="text-center mb40">
<div class="row aligned-row" style="justify-content: center">
{# Loop through product variants to display #}
{% for productVariantToDisplay in productVariantsToDisplay %}
{% set installmentAmount = '' %}
{% set couponParam = app.request.query.get('apicoupon') %}
{% set discountCode = null %}
{# Determine if installment payment applies #}
{% if productVariantToDisplay['productVariant'] is not empty and productVariantToDisplay['productVariant'].installmentAmount > 1 and productVariantToDisplay['productVariant'].paymentType.slug == 'partial-payment' %}
{% set installmentAmount = productVariantToDisplay['productVariant'].installmentAmount ~ 'x' %}
{% endif %}
{% if couponParam is not empty %}
{% set apiCouponEntity = getCouponEntity(couponParam) %}
{% if isCouponSuitable(apiCouponEntity, productVariantToDisplay['productVariant']) %}
{% set discountCode = apiCouponEntity %}
{% endif %}
{% endif %}
{% if discountCode == null %}
{% for productVariantToDisplay in productVariantsToDisplay %}
{% if productVariantToDisplay['landingProductVariant'] is not empty %}
{% for subscriptionCoupon in productVariantToDisplay['productVariant'].coupon %}
{% if couponParam is not empty %}
{% if subscriptionCoupon.code == couponParam and discountCode is empty %}
{% set discountCode = subscriptionCoupon %}
{% endif %}
{% elseif productVariantToDisplay['landingProductVariant'].discountCode is not empty %}
{% if subscriptionCoupon.id == productVariantToDisplay['landingProductVariant'].discountCode and discountCode is empty %}
{% set discountCode = subscriptionCoupon %}
{% endif %}
{% endif %}
{% endfor %}
{% endif %}
{% endfor %}
{% endif %}
<div class="col-xs-12 col-lg-{{ produktBoxMdColumn }} mb40">
<div class="produkt-box mb20">
<div class="produkt-box-top fs17">
<strong>{{ productVariantToDisplay['landingProductVariant'].boxTitle ?? 'Kurs Online' }}</strong>
</div>
<div class="produkt-inside fs17">
<div class="mb10 pt10">
<strong>{{ productVariantToDisplay['landingProductVariant'].bulletTitle ?? 'Co otrzymasz w cenie kursu:' }}</strong>
</div>
<div class="mb20">
<ul class="included-list text-left">
{% for bulletPoint in productVariantToDisplay['landingProductVariant'].bullets %}
<li>{{ bulletPoint.title }}</li>
{% endfor %}
</ul>
</div>
<div class="mb20">
{% if productVariantToDisplay['productVariant'] is not empty and productVariantToDisplay['productVariant'].isRecurringSubscription != 1 %}
{% if installmentAmount == '' %}
{{ 'uniqskills.landing.fullPayment'|trans }}
{% else %}
{{ 'uniqskills.landing.installmentPayment'|trans }}
{% endif %}
{% endif %}
</div>
{% include 'uniqskills/catalogue/landing_US2024/_partials/price/_variant_price_widget.html.twig' with {
landingVariant: productVariantToDisplay['landingProductVariant'],
widgetType: 'payment',
} %}
{# Button to buy #}
<div class="mb10">
<button class="cta addToCart"
data-carturl="{{ path('fmUniqskillsCartIndex') }}"
data-addurl="{{ path('fmProductCartFrontendAdd') }}"
data-notfound="{{ path('fmUniqskillsOrderError',
{'_locale': app.session.get('userLocale', 'pl'), 'slugCourse': course.slug}) }}"
data-productVariantNoComplete="{{ productVariantToDisplay['productVariant'].productVariantNoComplete }}{{ getAdditionalVariants(productVariantToDisplay['productVariant']) }}"
{% if discountCode is not null and discountCode.isActive and discountCode.dateTo|date("U") > "now"|date("U") %}
data-coupon="{{ discountCode.code }}"
{% endif %}
data-locale="{{ app.request.locale }}"
data-id="wersja1-button"
data-redirecttocart="true"
data-type="button"
type="button"
onClick="{{ fbPixelTrack('AddToCart', productVariantToDisplay['productVariant'].id)|raw }}
{{ gaDataLayerUS('add_to_cart', productVariantToDisplay['productVariant'].id)|raw }}
sendMixPanelEvent('{{ constant('App\\Utils\\Uniqskills\\MixPanel\\MixPanelEvent::ADD_TO_CART') }}', {
'product_variant_id': {{ productVariantToDisplay['productVariant'].id }},
'product_variant_no': '{{ productVariantToDisplay['productVariant'].productVariantNoComplete }}',
'product_variant_trade_name': '{{ productVariantToDisplay['productVariant'].tradeName }}'
})
{{ ga4('add_to_cart', productVariantToDisplay['productVariant'].id)|raw }}
"
>
{% if productVariantToDisplay['productVariant'].isRecurringSubscription %}
{{ 'uniqskills.landing.subscribe'|trans }}
{% elseif productVariantToDisplay['productVariant'].priceNet == 0 %}
{{ 'uniqskills.landing.orderAccess'|trans }}
{% else %}
{{ 'uniqskills.landing.signInNow'|trans }}
{% endif %}
</button>
</div>
{# END OF: Button to buy #}
</div>
</div>
<div class="">
{% if module.showIconBlik == true %}
<img src="/uniqskills/US_2024/images/blik.png" alt="" class="img-fluid"/>
{% endif %}
{% if module.showIconPayU == true %}
<img src="/uniqskills/US_2024/images/payu.png" alt="" class="img-fluid"/>
{% endif %}
</div>
</div>
{% endfor %}
{# Loop through product packs to display #}
{% for productPackToDisplay in productPacksToDisplay %}
<div class="col-xs-12 col-lg-{{ produktBoxMdColumn }} mb40">
<div class="produkt-box mb20">
<div class="produkt-box-top fs17">
<strong>{{ productPackToDisplay['landingProductPack'].packageTitle ?? 'Kurs Online' }}</strong>
</div>
<div class="produkt-inside fs17">
<div class="mb10 pt10">
<strong>{{ productPackToDisplay['landingProductPack'].packageBulletTitle ?? 'Co otrzymasz w cenie kursu:' }}</strong>
</div>
<div class="mb20">
<ul class="included-list text-left">
{% for coursePackItem in productPackToDisplay['productPack'].courseProductPackItem %}
{% for point in coursePackItem.bulletPoints %}
<li>{{ point|raw }}</li>
{% endfor %}
{% endfor %}
</ul>
</div>
<div class="mb20">
{{ 'uniqskills.landing.fullPayment'|trans }}
</div>
{% if productPackToDisplay['productPack'].type == 'cycle' %}
{% set firstProductPackItem = productPackToDisplay['productPack'].productPackItem|first %}
{% set packPriceGross = firstProductPackItem.productVariant.getFullPrice('gross') %}
{% set packPriceGrossBeforeDiscoun = packPriceGross %}
{% else %}
{% set packPriceGross = productPackToDisplay['productPack'].totalPriceGross %}
{% set packPriceGrossBeforeDiscount = productPackToDisplay['productPack'].totalPriceBeforeDiscountGross %}
{% endif %}
<div class="fs16 mb10">Cena:
{% if packPriceGrossBeforeDiscount != packPriceGross %}
<s>
{{ packPriceGrossBeforeDiscount }} zł
</s>
{% endif %}
</div>
<div class="produkt-price mb10">
{{ packPriceGross }} zł
</div>
<div class="mb10">
<button class="cta addToCart"
data-carturl="{{ path('fmUniqskillsCartIndex') }}"
data-addurl="{{ path('fmProductCartFrontendAdd') }}"
data-notfound="{{ path('fmUniqskillsOrderError',
{'_locale': app.session.get('userLocale', 'pl'), 'slugCourse': course.slug}) }}"
data-productpackid="{{ productPackToDisplay['productPack'].id }}"
{% if productPackToDisplay['productPack'].type == 'cycle' %}
data-cycle="1"
{% endif %}
data-locale="{{ app.request.locale }}"
data-id="wersja1-button"
data-redirecttocart="true"
data-type="button"
type="button"
onclick="{{ gaDataLayerUS('add_to_cart', productPackToDisplay['productPack'].id, {'isProductPack': 1}) }}
{{ ga4('add_to_cart', productPackToDisplay['productPack'].id, {'isProductPack': 1}) }}
"
>
{% if productPackToDisplay['productPack'].type == 'cycle' %}
{{ 'uniqskills.landing.nl.joinNow'|trans }}
{% else %}
{{ 'uniqskills.landing.signInNow'|trans }}
{% endif %}
</button>
</div>
</div>
</div>
<div class="">
{% if module.showIconBlik == true %}
<img src="/uniqskills/US_2024/images/blik.png" alt="" class="img-fluid"/>
{% endif %}
{% if module.showIconPayU == true %}
<img src="/uniqskills/US_2024/images/payu.png" alt="" class="img-fluid"/>
{% endif %}
</div>
</div>
{% endfor %}
{% include 'uniqskills/catalogue/landing_US2024/_partials/_contact.html.twig' %}
</div>
</div>
</div>
</section>