Webasyst {$wa->appName()}
{$wa->accountName()|truncate:64}

{$milestone->getName()|escape}

{$milestone->getDescription()|escape}

{* TODO: fix getClosedPercent() == 0 issue
[`Progress`]: {$milestone->getClosedPercent()}%
*}
{foreach $tasks as $task}
{if !empty($task.project.icon_html)} {$task.project.icon_html} {/if} {$task.project.name|escape|truncate:42}
{* AUTHOR OF THE LAST ASSIGNMENT *} {$_assignment_creator = $task.assignment_creator} {* CURRENT ASSIGNED CONTACT *} {$_assigned_contact = $task.assigned_contact}
{$_assignment_creator.name|escape}
{if $task.status_id == -1}

[`Closed`]

{$task.update_datetime|wa_datetime:'humandatetime'}

{else} {$_assigned_contact.name|escape}

{$_assigned_contact.name|escape}

{$task.update_datetime|wa_datetime:'humandatetime'}

{/if}
{* MILESTONE & DEADLINE *}
{$_milestone = ''} {$_due_date = ''} {$_due_hint = ''} {$_due_class = ''} {$_milestone = $milestone->getName()|escape} {if $milestone->getDueDate()} {$_due_date = wa_date('humandate', $milestone->getDueDate()->getTimestamp(), waDateTime::getDefaultTimezone())|escape} {/if}

{if $_milestone} {$_milestone|truncate:32} {elseif $_due_date} {$_due_date} {else} [`No due date`] {/if}

{if $_due_date}

{if $_milestone} {$_due_date} {/if}

{/if} {if $_milestone && !$_due_date}

[`No due date`]

{/if}

{* STATUS *} {if !empty($task.status.name)} {if $task.project.archive_datetime} [`Archived`] {else} {tasksHelper::statusNameHTML($task.status.id)} {/if} {/if}

{$task['name']|escape}

{tasksTask::formatText($task.text)}
{$_all_attachments = $task.all_attachments|default:[]} {* ATTACHMENTS *} {if $task.images || $task.files}
{if $task.images}
{foreach $task.images as $image}
{$image.name|escape}
{/foreach}
{/if} {if $task.files}
{foreach $task.files as $file} {/foreach}
{/if}
{/if}

[`History & Comments`] {count($task.log)}

{foreach $task.log as $l}
{*$log_attachments = $task->getLogAttachments($l.id)*} {$log_attachments = ['files' => [], 'images' => []]} {$log_attachments_count = count($log_attachments.files) + count($log_attachments.images)}
{if !empty({$l.contact.photo_url})} {$l.contact.name|escape} {else} {/if}
{$l.create_datetime|wa_datetime:"humandatetime"}
{if $l.status_changed} {if isset($l.before_status_id) && $l.before_status_id != $l.after_status_id} {tasksHelper::statusNameHTML($l.before_status_id)}  →  {/if} {tasksHelper::statusNameHTML($l.after_status_id)} {/if} {$l.contact.name|escape|default:_w('(no name)')} {if $l.action == 'edit' || $l.action == 'comment' || $l.action == 'forward'|| $l.action == 'return'} {$l.action_name} {/if} {if $l.assignment_changed} {if $l.assigned_contact_id} {if !empty($l.assigned_contact.name)}{/if} {$l.assigned_contact.name|escape} {else} [`Assignment removed`] {/if} {/if}
{if !empty($l.text)}
{tasksTask::formatText($l.text)}
{/if} {*if $log_attachments.files || $log_attachments.images}
{if $log_attachments.images}
{foreach $log_attachments.images as $image}
{$image.name|escape}
{/foreach}
{/if} {if $log_attachments.files}
{foreach $log_attachments.files as $file} {/foreach}
{/if}
{/if*}
{/foreach}
{/foreach}
Webasyst