Asiakaspalvelu: lisää "Vain omat" -suodatin tiketteihin

Suodattaa tiketit joissa assigned_to vastaa kirjautunutta käyttäjää.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-12 15:03:06 +02:00
parent df2d6d2d83
commit ef25748f03
2 changed files with 10 additions and 0 deletions

View File

@@ -1096,6 +1096,9 @@
<option value="created">Luotu</option>
</select>
<input type="text" id="ticket-tag-filter" placeholder="#tagi" style="padding:9px 12px;border:2px solid #e0e0e0;border-radius:8px;font-size:0.88rem;max-width:120px;">
<label style="display:flex;align-items:center;gap:0.4rem;font-size:0.85rem;color:#777;cursor:pointer;white-space:nowrap;">
<input type="checkbox" id="ticket-show-mine"> Vain omat
</label>
<label style="display:flex;align-items:center;gap:0.4rem;font-size:0.85rem;color:#777;cursor:pointer;white-space:nowrap;">
<input type="checkbox" id="ticket-show-closed"> Suljetut
</label>

View File

@@ -1363,6 +1363,7 @@ function renderTickets() {
const statusFilter = document.getElementById('ticket-status-filter').value;
const typeFilter = document.getElementById('ticket-type-filter').value;
const showClosed = document.getElementById('ticket-show-closed').checked;
const showMine = document.getElementById('ticket-show-mine').checked;
let filtered = tickets;
// Piilota piilotettujen postilaatikoiden tiketit
@@ -1384,6 +1385,11 @@ function renderTickets() {
filtered = filtered.filter(t => (t.type || 'muu') === typeFilter);
}
// Vain omat (assigned_to === nykyinen käyttäjä)
if (showMine && currentUser) {
filtered = filtered.filter(t => t.assigned_to === currentUser.username);
}
// Tag filter
const tagFilter = (document.getElementById('ticket-tag-filter').value || '').trim().toLowerCase().replace(/^#/, '');
if (tagFilter) {
@@ -1480,6 +1486,7 @@ document.getElementById('ticket-type-filter').addEventListener('change', () => r
document.getElementById('ticket-tag-filter').addEventListener('input', () => renderTickets());
document.getElementById('ticket-sort').addEventListener('change', () => renderTickets());
document.getElementById('ticket-show-closed').addEventListener('change', () => renderTickets());
document.getElementById('ticket-show-mine').addEventListener('change', () => renderTickets());
document.getElementById('bulk-select-all').addEventListener('change', function() {
const checkboxes = document.querySelectorAll('.ticket-checkbox');
checkboxes.forEach(cb => {