{% assign gtId = 'Global' | PageParameter:'GroupType' %}
{% assign previousWeekEnd  = 'Now' | DateAdd:-7 | SundayDate %}
{% assign previousWeekStart  = previousWeekEnd | DateAdd:-6 %}

{% if gtId > 0 %}
    {% sql grouptypeid:'{{ gtId }}' start:'{{ previousWeekStart }}' end:'{{ previousWeekEnd }}' %}
        DECLARE @GroupType int;
        
        SELECT COUNT(DISTINCT a.PersonAliasId) AS AttendanceTotal, gtr.IsLeader, gt.IconCssClass
          FROM Attendance a
        	JOIN AttendanceOccurrence ao ON (a.OccurrenceId = ao.Id)
        	JOIN [Group] g ON (ao.GroupId = g.Id)
	        JOIN GroupType gt ON (g.GroupTypeId = gt.Id)
        	JOIN PersonAlias pa ON (a.PersonAliasId = pa.Id)
        	JOIN GroupMember gm ON (gm.GroupId = g.Id AND gm.PersonId = pa.PersonId)
        	JOIN GroupTypeRole gtr ON (gm.GroupRoleId = gtr.Id)
         WHERE g.GroupTypeId = @grouptypeid
           AND ao.OccurrenceDate >= @start
           AND ao.OccurrenceDate <= @end
           AND a.DidAttend = 1
           AND gm.IsArchived = 0
           AND gm.GroupMemberStatus = 1
         GROUP BY gtr.IsLeader, gt.IconCssClass
         ORDER BY gtr.IsLeader;
    {% endsql %}
    
    {% assign resultsSize = results | Size %}
    {% if resultsSize > 0 %}
        {[kpis style:'card' columncount:'4']}
            {% for role in results %}
                {% if role.IsLeader == 1 %}
                    {% assign term = 'Leader' %}
                {% else %}
                    {% assign term = 'Member' %}
                {% endif %}
            [[ kpi icon:'{{ role.IconCssClass | Split:' ' | Index:1 }}' value:'{{ role.AttendanceTotal }}' label:'{{ term | Pluralize }} Attended' color:'blue-500']][[ endkpi ]]
            {% endfor %}
        {[endkpis]}
    {% endif %}
{% endif %}