diff --git a/script.js b/script.js
index 6aaae3a..0936426 100644
--- a/script.js
+++ b/script.js
@@ -1440,6 +1440,7 @@ async function showTicketDetail(id, companyId = '') {
+
@@ -1567,6 +1568,11 @@ async function showTicketDetail(id, companyId = '') {
} catch (e) { alert(e.message); }
});
+ // Luo tehtävä tiketistä
+ document.getElementById('btn-ticket-to-todo')?.addEventListener('click', () => {
+ createTodoFromTicket(ticket);
+ });
+
// Tags: add new tag on Enter
document.getElementById('ticket-tag-input').addEventListener('keydown', async (e) => {
if (e.key !== 'Enter') return;
@@ -3901,6 +3907,27 @@ let todosData = [];
let currentTodoId = null;
let currentTodoSubTab = 'tasks';
+function createTodoFromTicket(ticket) {
+ // Vaihda todo-välilehdelle ja avaa uusi tehtävälomake esitäytetyillä tiedoilla
+ switchToTab('todo');
+ switchTodoSubTab('tasks');
+ // Pieni viive jotta tab ehtii renderöityä
+ setTimeout(async () => {
+ await openTaskEdit(null);
+ const num = ticket.ticket_number ? `#${ticket.ticket_number} ` : '';
+ document.getElementById('task-form-title').value = num + (ticket.subject || '');
+ // Mapataan tiketin tyyppi tehtävän kategoriaan
+ const catMap = { tekniikka: 'tekniikka', laskutus: 'laskutus', vika: 'tekniikka', muu: 'muu' };
+ document.getElementById('task-form-category').value = catMap[ticket.type] || '';
+ // Mapataan prioriteetti
+ const prioMap = { urgent: 'kiireellinen', 'tärkeä': 'tarkea', normaali: 'normaali' };
+ document.getElementById('task-form-priority').value = prioMap[ticket.priority] || 'normaali';
+ // Kuvaus: lähettäjä + lyhyt viite
+ const desc = `Tiketti${num ? ' ' + num : ''}: ${ticket.subject || ''}\nLähettäjä: ${ticket.from_name || ''} <${ticket.from_email || ''}>`;
+ document.getElementById('task-form-desc').value = desc;
+ }, 100);
+}
+
const todoStatusLabels = { avoin:'Avoin', kaynnissa:'Käynnissä', odottaa:'Odottaa', valmis:'Valmis', ehdotettu:'Ehdotettu', harkinnassa:'Harkinnassa', toteutettu:'Toteutettu', hylatty:'Hylätty' };
const todoPriorityLabels = { normaali:'Normaali', tarkea:'Tärkeä', kiireellinen:'Kiireellinen' };
const todoCategoryLabels = { tekniikka:'Tekniikka', laskutus:'Laskutus', myynti:'Myynti', asennus:'Asennus', muu:'Muu' };