{% macro createTrainmapMedAndUp(localization, numberOfOpenMilestones, numberOfMilestones, includeStartNode) -%} {% for i in range(numberOfOpenMilestones) %}
{% if numberOfOpenMilestones != numberOfMilestones or i != (numberOfOpenMilestones-1) %}
{% endif %} {% endfor %} {% for i in range(numberOfMilestones - numberOfOpenMilestones) %}
{% if i != ((numberOfMilestones - numberOfOpenMilestones) - 1) %}
{% endif %} {% endfor %} {% if includeStartNode %} {% if numberOfMilestones == numberOfOpenMilestones %}
{% else %}
{% endif %} {% endif %} {%- endmacro %} {% macro createTrainmapSmall(localization, numberOfOpenMilestones, numberOfMilestones, includeStartNode) -%} {% for i in range(numberOfOpenMilestones) %}
{% if numberOfOpenMilestones != numberOfMilestones or i != (numberOfOpenMilestones-1) %}
{% endif %} {% endfor %} {% for i in range(numberOfMilestones - numberOfOpenMilestones) %}
{% if i != ((numberOfMilestones - numberOfOpenMilestones) - 1) %}
{% endif %} {% endfor %} {% if includeStartNode %} {% if numberOfMilestones == numberOfOpenMilestones %}
{% else %}
{% endif %} {% endif %} {%- endmacro %} {% macro printMilestoneIndevAndNoTasks(localization, milestone, color) -%}
{% if milestone["VersionName"] == milestone["Title"] %} {{ milestone["Title"] }} {% else %} {{ milestone["VersionName"] }} - {{ milestone["Title"] }} {% endif %}
event{{ localization["due_by"] }} {{ milestone["DueDate"] }}
event0% {{ localization["done"] }}
{%- endmacro %} {% macro printMilestoneDoneAndNoTasks(localization, milestone, color, isFirstMilestone) -%}
{% if milestone["VersionName"] == milestone["Title"] %} {{ milestone["Title"] }} {% else %} {{ milestone["VersionName"] }} - {{ milestone["Title"] }} {% endif %}
{% if isFirstMilestone|length == 0 %}
{% else %}
{% endif %}
event{{ localization["due_by"] }} {{ milestone["DueDate"] }}
event{{ localization["done_at"] }} {{ milestone["CompletionDate"] }}
{%- endmacro %} {% macro printMilestoneIndevWithTasks(localization, milestone, color) -%} {% set numberOfTasks = milestone["tasks"]|length %} {% set percentage = ((numberOfTasks - milestone["numberOfOpenTasks"]) / numberOfTasks*100)|round|int %}
{% if milestone["VersionName"] == milestone["Title"] %} {{ milestone["Title"] }} {% else %} {{ milestone["VersionName"] }} - {{ milestone["Title"] }} {% endif %}
event{{ localization["due_by"] }} {{ milestone["DueDate"] }}
event{{ percentage }}% {{ localization["done"] }}
    {% for task in milestone["tasks"] %} {% if task["subtasks"]|length > 0 %} {{ printSubTasksDone(localization, task) }} {% else %}
  • {% if task["Status"] == 0 %}
    build{{ task["Title"] }}
    {% else %}
    check{{ task["Title"] }}
    {% endif %}

    {{ task["Description"] }}

  • {% endif %} {% endfor %}
{%- endmacro %} {% macro printSubTasksDone(localization, task) -%} {% set numberOfSubTasks = task["subtasks"]|length %}
  • {% if task["numberOfOpenSubTasks"] > 0 %}
    build{{ task["Title"] }}
    {{ numberOfSubTasks - task["numberOfOpenSubTasks"] }}/{{ numberOfSubTasks }}
    {% else %}
    check{{ task["Title"] }}
    {{ numberOfSubTasks - task["numberOfOpenSubTasks"] }}/{{ numberOfSubTasks }}
    {% endif %}
      {% for subtask in task["subtasks"] %}
    • {% if subtask["Status"] == 0 %}
      {{ loop.index }}build{{ subtask["Title"] }}
      {% else %}
      {{ loop.index }}check{{ subtask["Title"] }}
      {% endif %}

      {{ subtask["Description"] }}

    • {% endfor %}
  • {%- endmacro %} {% macro printMilestoneDoneWithTasks(localization, milestone, color, isFirstMilestone) -%}
    {% if milestone["VersionName"] == milestone["Title"] %} {{ milestone["Title"] }} {% else %} {{ milestone["VersionName"] }} - {{ milestone["Title"] }} {% endif %}
    {% if isFirstMilestone|length == 0 %}
    {% else %}
    {% endif %}
    event{{ localization["due_by"] }} {{ milestone["DueDate"] }}
    event{{ localization["done_at"] }} {{ milestone["CompletionDate"] }}
      {% for task in milestone["tasks"] %} {% set numberOfSubTasks = task["subtasks"]|length %} {% if numberOfSubTasks > 0 %} {{ printSubTasksDone(localization, task) }} {% else %}
    • check{{ task["Title"] }}

      {{ task["Description"] }}

    • {% endif %} {% endfor %}
    {%- endmacro %} {% macro showRoadmap(roadmap, localization) -%}

    {{ roadmap["Projectname"] }}

    {{ createTrainmapMedAndUp(localization, roadmap["numberOfOpenMilestones"], roadmap["milestones"]|length, roadmap["StartDate"] != "-") }}
    {{ createTrainmapSmall(localization, roadmap["numberOfOpenMilestones"], roadmap["milestones"]|length, roadmap["StartDate"] != "-") }}
    {% set isFirstMilestone = [] %} {% for milestone in roadmap["milestones"] %} {% if milestone["Status"] == 0 %} {% set color = 'blue lighten-2' %} {% if milestone["tasks"]|length > 0 %} {{ printMilestoneIndevWithTasks(localization, milestone, color) }} {% else %} {{ printMilestoneIndevAndNoTasks(localization, milestone, color) }} {% endif %} {% else %} {% if isFirstMilestone|length == 0 %} {% set color = 'amber lighten-2' %} {% else %} {% set color = 'grey lighten-2' %} {% endif %} {% if milestone["tasks"]|length > 0 %} {{ printMilestoneDoneWithTasks(localization, milestone, color, isFirstMilestone) }} {% else %} {{ printMilestoneDoneAndNoTasks(localization, milestone, color, isFirstMilestone) }} {% endif %} {% if isFirstMilestone|length == 0 %} {% if isFirstMilestone.append(1) %}{% endif %} {% endif %} {% endif %} {% endfor %} {% if roadmap["StartDate"] != "-" %} {{ printStartNode(localization, roadmap["StartDate"]) }} {% endif %}
    {%- endmacro %} {% macro printStartNode(localization, startDate) -%}
    {{ localization["start"] }} - {{ startDate }}
    {%- endmacro %}