bmc_hub/app/modules/planner/templates/desk.html
Christian 1fb5b4a191 Add comprehensive tests for email and drift functionalities
- Introduced tests for drift operations UI and backend to ensure proper handling of ignore rules and UI elements.
- Added tests for email identity API to validate email linking and identity retrieval without updates.
- Implemented tests for email purchase link service to verify correct handling of purchase mail links and conflict scenarios.
- Created tests for email reply automation to ensure proper routing and processing of replies based on classification.
- Developed tests for email sender creation to validate suggestions and handling of existing contacts and companies.
- Added tests for email sender identity to ensure correct matching of contacts and domains.
- Implemented tests for work desk functionalities to validate task management, meeting registrations, and timer functionalities.
2026-11-03 01:16:12 +01:00

31 lines
5.0 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{% extends "shared/frontend/base.html" %}
{% block title %}Mit arbejdsbord · BMC Hub{% endblock %}
{% block extra_css %}<link rel="stylesheet" href="/static/css/work-desk.css?v=20261101-1">{% endblock %}
{% block content %}
<main id="workDesk" data-user-id="{{ current_user.id }}">
<header class="desk-heading"><div><span class="desk-eyebrow">Min kø · Arbejdsbord</span><h1>Min arbejdsdag</h1><p id="deskDate" class="text-muted mb-0"></p></div><div class="desk-actions"><button class="btn btn-primary" id="deskTime">Registrér tid</button><button class="btn btn-outline-primary" id="deskMeeting">Internt møde</button><button class="btn btn-outline-secondary" id="deskContinue" disabled>Fortsæt sidste arbejde</button><button class="btn btn-outline-secondary" id="deskRefresh" aria-label="Opdatér arbejdsbord"><i class="bi bi-arrow-clockwise" aria-hidden="true"></i></button></div></header>
<nav class="desk-tabs nav nav-tabs" aria-label="Planlægning">
<a class="nav-link active" aria-current="page" href="/planning?view=queue"><i class="bi bi-person-workspace" aria-hidden="true"></i> Mit arbejde <span>Min dag og min kø</span></a>
<a class="nav-link" href="/planning?view=tasks"><i class="bi bi-list-task" aria-hidden="true"></i> Opgaver <span>Fordel og planlæg</span></a>
<a class="nav-link" href="/planning?view=team"><i class="bi bi-people" aria-hidden="true"></i> Team og kapacitet <span>Se belastning og ledig tid</span></a>
</nav>
<div id="deskError" class="alert alert-danger" role="alert" hidden></div>
<div id="deskStatus" class="desk-status" role="status" aria-live="polite"><span></span><button class="btn btn-sm btn-outline-secondary" id="deskUndo" hidden>Fortryd</button></div>
<section class="desk-stats" aria-label="Dagens overblik"><div><span>Opgaver i dag</span><strong id="deskCount">–</strong></div><div><span>Forventet resterende arbejde</span><strong id="deskEstimate">–</strong></div><div><span>Allokeret i dag</span><strong id="deskAllocated">–</strong></div><div><span>Mangler planlægning</span><strong id="deskMissing">–</strong></div></section>
<section id="deskPressure" class="alert alert-warning desk-pressure" role="alert" hidden></section>
<section id="deskInbox" class="desk-inbox" hidden><div class="desk-section-heading"><h2>Nye tildelinger <span id="deskInboxCount" class="badge text-bg-primary"></span></h2><button class="btn btn-sm btn-outline-secondary" id="deskSeen">Markér som set</button></div><div id="deskInboxItems"></div></section>
<div class="desk-layout">
<section class="desk-table-panel"><header class="desk-section-heading"><div><h2>Dagens opgaver</h2><p id="deskOrderLabel" class="text-muted small mb-0">Anbefalet rækkefølge</p></div><div class="desk-actions"><button class="btn btn-sm btn-outline-primary" id="deskRecommend">Brug anbefalet rækkefølge</button><a class="btn btn-sm btn-outline-secondary" href="/planning?view=tasks&source=queue">Alle opgaver</a></div></header>
<label class="visually-hidden" for="deskSearch">Søg i dagens opgaver</label><input id="deskSearch" type="search" class="form-control form-control-sm desk-search" placeholder="Find sag, kunde eller kontaktperson…">
<div class="desk-table-scroll"><table class="table desk-table"><thead><tr><th scope="col"><span class="visually-hidden">Rækkefølge</span></th><th scope="col">Opgave og kunde</th><th scope="col">Kontaktperson</th><th scope="col">Deadline / start</th><th scope="col">Estimat</th><th scope="col">Allokeret</th><th scope="col">Handlinger</th></tr></thead><tbody id="deskTasks"><tr><td colspan="7">Henter dine opgaver…</td></tr></tbody></table></div>
<p class="small text-muted px-3">Træk i grebet for at ændre rækkefølgen. Træk “Planlæg” til kalenderen for at reservere tid. Estimatet gælder din del af arbejdet.</p>
<p id="deskSelection" class="desk-selection" aria-live="polite">Vælg en opgave eller en aftale for at se sammenhængen.</p>
</section>
<aside class="desk-calendar-panel"><header><h2>Min kalender</h2><span class="small text-muted">Træk aftaler for at flytte dem. Træk nederst for at ændre varigheden.</span></header><p id="deskWorkHours" class="small text-muted px-3 mb-2"></p><div id="deskCalendar"></div><div class="desk-calendar-key"><span>● Allokeret</span><span>◷ Registreret arbejde</span></div><div id="deskMeetings"></div></aside>
</div>
<nav class="desk-links" aria-label="Flere planlægningsvisninger"><a href="/planning?view=work">Fuld kalender</a><a href="/planning/absence">Fravær og rapport</a></nav>
<dialog id="deskDialog"><form id="deskForm"><h2 id="deskDialogTitle"></h2><div id="deskFields"></div><p id="deskFormError" class="text-danger" role="alert"></p><div class="desk-actions justify-content-end mt-3"><button type="button" class="btn btn-outline-secondary" id="deskClose">Annullér</button><button type="submit" class="btn btn-primary" id="deskSave">Gem</button></div></form></dialog>
</main>
{% endblock %}
{% block extra_js %}<script src="https://cdn.jsdelivr.net/npm/fullcalendar@6.1.11/index.global.min.js"></script><script src="/static/js/work-desk.js?v=20261101-2"></script>{% endblock %}