{% load currency_filters %}
{% load i18n %}

{% if product.is_group %}
    <h2 class="price_color">{% blocktrans with product.min_variant_price_incl_tax|currency as price %}From {{ price }}{% endblocktrans %}</h2>
{% else %}
    <h2 class="price_color">{{ product.stockrecord.price_incl_tax|currency }}</h2>
{% endif %}

{% if product.is_available_to_buy %}
    <p class="{{ product.stockrecord.availability_code }} availability ">
        <i class="icon-ok"></i> {{ product.stockrecord.availability|truncatewords:2 }}
    </p>
{% else %}
    <p class="availability outofstock">
        <i class="icon-remove"></i> {% trans "Not available" %}
    </p>
{% endif %}

{% load currency_filters %}
{% load i18n %}

{% if product.is_group %}
    <h2 class="price_color">{% blocktrans with product.min_variant_price_incl_tax|currency as price %}From {{ price }}{% endblocktrans %}</h2>
{% else %}
    <h2 class="price_color">{{ product.stockrecord.price_incl_tax|currency }}</h2>
{% endif %}

{% if product.is_available_to_buy %}
    {% if product.is_group %}
        <p class="instock availability ">
            <i class="icon-ok"></i> {% trans "Available" %}
        </p>
    {% else %}
        <p class="{{ product.stockrecord.availability_code }} availability ">
            <i class="icon-ok"></i> {{ product.stockrecord.availability|truncatewords:2 }}
        </p>
    {% endif %}
{% else %}
    <p class="availability outofstock">
        <i class="icon-remove"></i> {% trans "Not available" %}
    </p>
{% endif %}

Handle group products in stockrecord template partial
Handle group products in stockrecord template partial

Before this, group products were always shown as unavailable as they
didn't have a stockrecord - even though their variant products did.
