No new movements to add.
@endforelse @if (count($rows))No matches for “”.
| Target | Due Date | Actuals | |||
|---|---|---|---|---|---|
| Task | Task Type | Date Accomplished | Status | ||
| {{ $module }} {{ count($rows) }} @unless ($showAll) @endunless | |||||
|
@if ($unit['role'] === 'parent')
🔗 {{ $unit['childCount'] }}
@endif
@if ($t->jira_key)
jira_key)) }"
@mouseleave="open = false">
@if ($jiraBase)
{{ $t->jira_key }}
@else
{{ $t->jira_key }}
@endif
@php $hist = $history[$t->jira_key] ?? null; @endphp
Status movement · {{ $t->jira_key }}
@if ($hist === null)
Loading…
@elseif (empty($hist))
No status history available.
@else
|
|||||
{{ count($staged) }} staged — click Save to add {{ count($staged) === 1 ? 'it' : 'them' }} to Weekly Tasks.
@endifNo dashboard uploaded for {{ $quarter }} yet — showing all stories for the quarter. Import one in Settings → Import Dashboard to prioritise project targets.
@endunlessNo matching Jira stories.
@else| Story | Project | Type | Status |
|---|---|---|---|
|
@if ($it['is_target'])TARGET@elseif ($it['prio'])★@endif
@if ($it['is_reported'])REPORTED@endif
@if ($it['is_automation'])AUTOMATION@endif
{{ $it['title'] }} {{ $it['key'] }}
@php
$ownerName = ($it['owner_email'] ?? null) ? ($names[$it['owner_email']] ?? $it['owner_email']) : null;
$sameOwner = $ownerName && $it['creator'] && $ownerName === $it['creator'];
@endphp
@if ($it['creator'] || $ownerName)
@if ($it['creator'])Reporter: {{ $it['creator'] }}@endif
@if ($ownerName && ! $sameOwner)@if ($it['creator']) · @endif Owner: {{ $ownerName }}@endif
@endif
|
{{ $it['project'] }} | @if ($it['status']) |
{!! $notifBody !!}
This is a reminder — no changes were made automatically. Update the task below yourself.
{{ count($syncNew) }} Kanboard ticket{{ count($syncNew) === 1 ? '' : 's' }} not yet in Weekly Tasks (created or moved this week). Reflect adds {{ count($syncNew) === 1 ? 'it' : 'them' }}.
| New ticket | @if ($showAll)Member | @endifModule | Kanboard column |
|---|---|---|---|
| {{ $it['title'] }} {{ ($it['reason'] ?? 'new') === 'moved' ? 'moved' : 'new' }} | @if ($showAll){{ $names[$it['owner']] ?? $it['owner'] }} | @endif{{ $it['module'] }} | {{ $it['column'] ?: '—' }} |
Every Kanboard-linked task already matches Kanboard. 🎉
@elseif (! empty($syncUpdates)){{ count($syncUpdates) }} task{{ count($syncUpdates) === 1 ? '' : 's' }} changed in Kanboard. Review the changes, then Reflect to update Weekly Tasks.
| Task | Week | @if ($showAll)Member | @endifChanges from Kanboard |
|---|---|---|---|
| {{ $d['title'] }} | {{ $d['week'] ? \Illuminate\Support\Carbon::parse($d['week'])->format('M j') : '—' }} | @if ($showAll){{ $names[$d['owner']] ?? $d['owner'] }} | @endif@foreach ($d['changes'] as $c){{ $c }}@endforeach |
Nothing new to apply — you're up to date for this week. 🎉
@elseReview the {{ $kbTotal }} change{{ $kbTotal === 1 ? '' : 's' }} from Kanboard, then Accept to apply them to Weekly Tasks.
@if (count($kbNew))| Ticket | Module | @if ($showAll)Member | @endifCreated |
|---|---|---|---|
| {{ $it['title'] }} #{{ $it['source_id'] }} | {{ $it['module'] }} | @if ($showAll){{ $names[$it['owner']] ?? $it['owner'] }} | @endif{{ $it['created'] ? \Illuminate\Support\Carbon::parse($it['created'])->format('M j') : '—' }} |
| Task | @if ($showAll)Member | @endifWeekly status | Kanboard status | |
|---|---|---|---|---|
| {{ $it['title'] }} | @if ($showAll){{ $names[$it['owner']] ?? $it['owner'] }} | @endif{{ $it['current_label'] }} | → | {{ $it['kanboard_label'] }} |
No new tasks to push {{ $scopeWord }}@if ($elsewhere->isNotEmpty()) — but {{ $elsewhere->map(fn ($e) => $e['n'].' in “'.$e['label'].'”')->implode(' and ') }} still {{ $elsewhere->sum('n') === 1 ? 'has' : 'have' }} no Kanboard ticket. @else — everything here is already in Kanboard. 🎉 @endif
@elseif (! $pushProject)Pick the target Kanboard project to continue.
@else @php $weeks = collect($pushRows)->unique('week')->values(); $mods = collect($pushRows)->pluck('category')->filter()->unique()->values(); @endphpClick rows to include/exclude · status maps to the matching column.
| Task | @if ($showAll)Owner | @endifWeek | Module | Status | |
|---|---|---|---|---|---|
| {{ $r['title'] }} @unless ($r['owner_linked'])⚠ unassigned@endunless | @if ($showAll){{ $names[$r['owner']] ?? $r['owner'] }} | @endif{{ \Illuminate\Support\Carbon::parse($r['week'])->format('M j') }} | {{ $r['module'] }} | {{ ucfirst(str_replace('_',' ',$r['status'])) }} |
Click rows to include/exclude. Your Weekly edits overwrite the linked Kanboard ticket (title, status→column, due, type→tag, owner). Category is left as-is.
| Task | @if ($showAll)Owner | @endifChanges to push | |
|---|---|---|---|
| {{ $e['title'] }} | @if ($showAll){{ $names[$e['owner']] ?? $e['owner'] }} | @endif@foreach ($e['changes'] as $c){{ $c }}@endforeach |
Closing automatically in s…
Are you sure you want to move this task to next week? It will be relocated to the following week, and when you push to Kanboard its ticket moves to next week's swimlane.