{% set timeBudgetVisible = is_granted('time', entity) %} {% set durationTrans = entity.isMonthlyBudget() ? 'stats.durationMonth' : 'stats.workingTime' %} {% if timeBudgetVisible %} {% embed '@theme/embeds/card.html.twig' %} {% import "macros/progressbar.html.twig" as progress %} {% import "macros/widgets.html.twig" as widgets %} {% block box_title %} {{ 'timeBudget'|trans }} {% if entity.isMonthlyBudget() %}({{ 'budgetType_month'|trans }}){% endif %} {% endblock %} {% block box_body_class %}p-0{% endblock %} {% block box_attributes %}id="time_budget_box"{% endblock %} {% block box_body %}
{% if entity.timeBudget > 0 %} {% set totalPercentReached = 100 %} {% if entity.timeBudget > 0 %} {% set totalPercentReached = (stats.durationBillable / (entity.timeBudget / 100)) %} {% endif %} {% endif %}
{{ 'timeBudget'|trans }} {% if entity.timeBudget > 0 %} {{ entity.timeBudget|duration }} {% else %} - {% endif %}
{{ durationTrans|trans }} {{ stats.duration|duration }}
{{ 'billable'|trans }} {{ stats.durationBillable|duration }}
{% if totalPercentReached < 100 %} {{ 'stats.percentUsedLeft'|trans({'%percent%': totalPercentReached|number_format(2), '%left%': (entity.timeBudget - stats.durationBillable)|duration}) }} {% else %} {{ 'stats.percentUsed'|trans({'%percent%': totalPercentReached|number_format(2)}) }} {% endif %}
{% if entity.timeBudget > 0 %}
{{ progress.progressbar(entity.timeBudget, stats.durationBillable, durationTrans|trans, stats.durationBillable|duration ~ ' / ' ~ entity.timeBudget|duration) }}
{% endif %}
{{ progress.progressbar(stats.duration, stats.durationBillable, 'billable'|trans, stats.durationBillable|duration ~ ' / ' ~ stats.duration|duration, true) }}
{% endblock %} {% endembed %} {% endif %} {% if is_granted('budget', entity) %} {% embed '@theme/embeds/card.html.twig' %} {% import "macros/progressbar.html.twig" as progress %} {% import "macros/widgets.html.twig" as widgets %} {% block box_title %} {{ 'budget'|trans }} {% if entity.isMonthlyBudget() %}({{ 'budgetType_month'|trans }}){% endif %} {% endblock %} {% block box_body_class %}p-0{% endblock %} {% block box_attributes %}id="budget_box"{% endblock %} {% block box_body %}
{% if not entity.isMonthlyBudget() and timeBudgetVisible and stats.duration > 0 and stats.duration|chart_duration > 0.00 %} {% set revenueTotal = stats.rateBillable - stats.internalRate %} {% if stats.internalRate > 0 %} {% endif %} {% if stats.duration > 0 %} {% set realHourlyRate = stats.rateBillable / stats.duration|chart_duration %} {% if revenueTotal != 0.0 %} {% set revenueHourlyRate = revenueTotal / stats.duration|chart_duration %} {% endif %} {% endif %} {% endif %} {% if entity.budget > 0 %} {% set totalPercentReached = 100 %} {% if entity.budget > 0 %} {% set totalPercentReached = (stats.rateBillable / (entity.budget / 100)) %} {% endif %} {% endif %}
{{ 'budget'|trans }} {% if entity.budget > 0 %} {{ entity.budget|money(currency) }} {% else %} - {% endif %}
{{ 'revenue'|trans }} {{ stats.rateBillable|money(currency) }}
{{ 'costs'|trans }} {{ stats.internalRate|money(currency) }}
{{ 'profit'|trans }} ({{ 'revenue'|trans }} - {{ 'costs'|trans }}) {{ revenueTotal|money(currency) }}
{{ 'hourlyRate'|trans }} ({{ 'revenue'|trans }} / {{ durationTrans|trans }}) {{ realHourlyRate|money(currency) }}
{{ 'hourlyRate'|trans }} ({{ 'profit'|trans }} / {{ durationTrans|trans }}) {{ revenueHourlyRate|money(currency) }}
{% if totalPercentReached < 100 %} {{ 'stats.percentUsedLeft'|trans({'%percent%': totalPercentReached|number_format(2), '%left%': (entity.budget - stats.rateBillable)|money(currency)}) }} {% else %} {{ 'stats.percentUsed'|trans({'%percent%': totalPercentReached|number_format(2)}) }} {% endif %}
{% if entity.budget > 0 %}
{{ progress.progressbar(entity.budget, stats.rateBillable, 'revenue'|trans, stats.rateBillable|money(currency) ~ ' / ' ~ entity.budget|money(currency)) }}
{% endif %}
{{ progress.progressbar(stats.rateBillable, stats.internalRate, 'costs'|trans, stats.internalRate|money(currency) ~ ' / ' ~ stats.rateBillable|money(currency)) }}
{% endblock %} {% endembed %} {% endif %}