Diff -- /var/www/vhosts/3dshawn.com/ptmatrix.3dshawn.com/TEMPLATES/tf_tasks_import.html

O Operator
Diff

/var/www/vhosts/3dshawn.com/ptmatrix.3dshawn.com/TEMPLATES/tf_tasks_import.html

added on local at 2026-07-01 12:35:10

Added
+72
lines
Removed
-0
lines
Context
0
unchanged
Blobs
from
to ce19e767f71c
Restore this content →
Unified diff
Naive LCS-based line diff. Additions in emerald, deletions in rose. Both sides decompressed live from BLOB_STORE.
1<div class="page-header">
2 <div>
3 <h1>Import tasks &mdash; $project_name</h1>
4 <p class="subtitle">Drop in a CSV exported from <strong>Asana</strong>, <strong>Monday.com</strong>, <strong>Jira</strong>, <strong>Trello</strong>, or any CSV with a <code>title</code> column. PTMatrix normalizes the column names + status/priority values automatically.</p>
5 </div>
6 <div class="flex-end">
7 <a href="/project.cgi?id=$project_id" class="btn btn-ghost">&larr; Back to project</a>
8 </div>
9</div>
10
11[if:$has_success]
12<div class="card mb-3" style="border-left:3px solid #22c55e;padding:18px">
13 <strong style="color:#22c55e">&#10003; Imported $imported task(s)</strong>
14 [if:$skipped] &middot; <span class="text-muted">$skipped skipped</span>[/if]
15 [if:$has_source] &middot; <span class="text-muted">detected format: <strong>$detected_source</strong></span>[/if]
16 <div style="margin-top:8px"><a href="/kanban.cgi?project=$project_id" class="btn btn-primary btn-sm">View on Kanban &rarr;</a> <a href="/project.cgi?id=$project_id" class="btn btn-ghost btn-sm">Project page &rarr;</a></div>
17</div>
18[/if]
19
20[if:$has_skips]
21<div class="card mb-3" style="border-left:3px solid var(--col-warn);padding:14px 18px">
22 <strong>Notes</strong>
23 <ul style="margin:8px 0 0;padding-left:20px">
24 [loop:@skip_reasons]<li style="font-size:13px;margin-bottom:4px">$loop1.msg</li>[/loop]
25 </ul>
26</div>
27[/if]
28
29<form method="POST" action="/tasks_import.cgi?project=$project_id" enctype="multipart/form-data" class="card" style="padding:20px">
30 <div class="field">
31 <label>CSV file</label>
32 <input class="input" type="file" name="csv" accept=".csv,text/csv" required>
33 <div class="text-muted" style="font-size:12px;margin-top:6px">Max 5 MB. UTF-8 encoded. First row is the header.</div>
34 </div>
35 <div style="display:flex;justify-content:flex-end;margin-top:14px">
36 <button type="submit" class="btn btn-primary">Upload &amp; import</button>
37 </div>
38</form>
39
40<div class="card mt-3" style="padding:18px 20px">
41 <h3 style="margin-top:0">Supported source formats</h3>
42 <p class="text-muted" style="font-size:13px;margin:0 0 10px">PTMatrix recognises column names from each tool's standard CSV export. You don't need to rename anything.</p>
43 <ul style="font-size:13px;margin:0;padding-left:22px;line-height:1.7">
44 <li><strong>Asana</strong> &mdash; <code>Name</code>, <code>Notes</code>, <code>Assignee Email</code>, <code>Due Date</code>, <code>Start Date</code>, <code>Tags</code>, <code>Section/Column</code></li>
45 <li><strong>Monday.com</strong> &mdash; <code>Item Name</code> (or <code>Name</code>), <code>Status</code> (Working on it &rarr; in_progress, Stuck &rarr; blocked, Done &rarr; done), <code>Owner</code></li>
46 <li><strong>Jira</strong> &mdash; <code>Summary</code>, <code>Description</code>, <code>Status</code> (To Do, In Progress, Done), <code>Priority</code> (Highest &rarr; urgent), <code>Issue Type</code>, <code>Labels</code>, <code>Story Points</code>, <code>Original Estimate</code></li>
47 <li><strong>Trello</strong> &mdash; <code>Card Name</code>, <code>List Name</code> (becomes status), <code>Labels</code></li>
48 <li><strong>Generic CSV</strong> &mdash; use PTMatrix's own column names below</li>
49 </ul>
50</div>
51
52<div class="card mt-3" style="padding:20px">
53 <h3 style="margin-top:0">Generic CSV format reference</h3>
54 <p class="text-muted" style="font-size:13px">Column order doesn't matter. Only <code>title</code> is required. Everything else is optional.</p>
55 <table class="table" style="margin-top:8px">
56 <thead><tr><th>Column</th><th>What it does</th><th>Example</th></tr></thead>
57 <tbody>
58 <tr><td><code>title</code> <span style="color:#ef4444">*</span></td><td>Task title</td><td>Fix login redirect</td></tr>
59 <tr><td><code>description</code></td><td>Multi-line OK (wrap in quotes)</td><td>"Steps:\n1. Visit /login\n2. ..."</td></tr>
60 <tr><td><code>status</code></td><td>open / in_progress / blocked / review / done / cancelled</td><td>open</td></tr>
61 <tr><td><code>priority</code></td><td>low / medium / high / urgent / critical</td><td>high</td></tr>
62 <tr><td><code>type</code></td><td>Matched (case-insensitive) against your task types</td><td>Bug</td></tr>
63 <tr><td><code>assignee_email</code></td><td>Must match an active user in your company</td><td>jane@acme.com</td></tr>
64 <tr><td><code>due_date</code></td><td>YYYY-MM-DD</td><td>2026-07-15</td></tr>
65 <tr><td><code>start_date</code></td><td>YYYY-MM-DD</td><td>2026-07-01</td></tr>
66 <tr><td><code>estimated_hours</code></td><td>Decimal allowed</td><td>4.5</td></tr>
67 <tr><td><code>story_points</code></td><td>Integer</td><td>5</td></tr>
68 <tr><td><code>labels</code></td><td>Comma or semicolon separated; created if missing</td><td>backend; auth</td></tr>
69 </tbody>
70 </table>
71 <p class="text-muted" style="font-size:12px;margin-top:14px">Tip: <a href="/tasks_export.cgi?project=$project_id">Export current tasks</a> to see the format, edit in Excel/Sheets, and re-import.</p>
72</div>