{% extends "shared/frontend/base.html" %} {% block title %}{{ case.titel }} - BMC Hub{% endblock %} {% block extra_css %} {% endblock %} {% block content %}
#{{ case.id }} {{ case.status|capitalize if case.status else 'Åben' }} {% set tkey = (case.template_key or case.type or 'ticket')|lower %} {% set type_icons = {'ticket': 'bi-ticket-perforated', 'pipeline': 'bi-graph-up-arrow', 'opgave': 'bi-puzzle', 'ordre': 'bi-receipt', 'projekt': 'bi-folder2-open', 'service': 'bi-tools'} %} {% set type_labels = {'ticket': 'Ticket', 'pipeline': 'Pipeline', 'opgave': 'Opgave', 'ordre': 'Ordre', 'projekt': 'Projekt', 'service': 'Service'} %} {% set type_colors = {'ticket': '#6366f1', 'pipeline': '#0ea5e9', 'opgave': '#f59e0b', 'ordre': '#10b981', 'projekt': '#8b5cf6', 'service': '#ef4444'} %} {% set tcolor = type_colors.get(tkey, '#0f4c75') %} {% set ticon = type_icons.get(tkey, 'bi-card-text') %} {% set tlabel = type_labels.get(tkey, tkey|capitalize) %} {{ tlabel }}
Næste todo Henter næste todo... -

{{ case.titel }}

{{ customer.name if customer else 'Ingen kunde valgt' }} | {{ (hovedkontakt.first_name ~ ' ' ~ hovedkontakt.last_name) if hovedkontakt else 'Ingen kontakt' }} | {{ customer.department if customer and customer.department else 'Ingen afdeling' }} | Oprettet: {{ case.created_at.strftime('%d. %b %Y') if case.created_at else '-' }}

Klassifikation
Tildeling
Tidslinje
{% if case.deferred_until_case_id and case.deferred_until_status %} Trigger #{{ case.deferred_until_case_id }} → {{ case.deferred_until_status|replace('__any_change__', 'Skift') }} {% endif %}
System Info
{{ case.titel }}
{{ case.beskrivelse or '' }}
{% if not case.beskrivelse %}

Ingen opgavebeskrivelse tilføjet endnu.

Dobbeltklik for at tilføje
{% endif %}
Ctrl+Enter for at gemme · Esc for at annullere
Kommentarer
{{ comments|length if comments else 0 }}
0/0 vises
Kilde
{% if comments %} {% for comment in comments %} {% if comment.er_system_besked or comment.forfatter == 'System' %}
{% elif comment.er_intern %}
{% else %}
{% endif %}
{{ (comment.forfatter or 'Bruger')[:2]|upper }} {{ comment.forfatter }} {% if comment.er_system_besked or comment.forfatter == 'System' %} System {% elif comment.er_intern %} Intern {% else %} Ekstern {% endif %} {{ comment.created_at.strftime('%d/%m-%Y %H:%M') }}
{{ comment.indhold|replace('\n', '
')|safe }}
{% endfor %} {% else %}

Ingen kommentarer endnu.

{% endif %}
Ingen kommentarer matcher de valgte filtre.
Relationer
{% macro render_relation_rows(nodes, level=0) %} {% for node in nodes %} {{ level }} #{{ node.case.id }} {% if node.is_current %} {{ node.case.titel }} Aktuel {% else %} {{ node.case.titel }} {% endif %} {% set row_status = (node.case.status or '')|lower %} {{ node.case.status or '-' }} {{ node.case.template_key or node.case.type or 'ticket' }} {% set rel_raw = (node.relation_type or '')|trim %} {% set rel_key = rel_raw|lower %} {% if node.is_current %} Rodsag {% elif rel_key == 'afledt af' %} Kommer fra
(Afledt af)
{% elif rel_key == 'årsag til' %} Skaber følge-sag
(Årsag til)
{% elif rel_key == 'blokkerer' %} Blokerer {% else %} Koblet til
(Relateret til)
{% endif %} {% if node.is_repeated %} {% endif %}
{% if node.relation_id %} {% endif %}
{% if node.children %} {{ render_relation_rows(node.children, level + 1) }} {% endif %} {% endfor %} {% endmacro %} {% set has_relations = relation_tree and (relation_tree|length > 1 or (relation_tree|length == 1 and relation_tree[0].children)) %} {% if has_relations %}
{{ render_relation_rows(relation_tree) }}
Niv. Sag Titel Status Type Sammenhæng Handling
{% else %}

Ingen relaterede sager

{% endif %}
Filer & Dokumenter

Træk filer hertil for at uploade

Ingen filer fundet...
Tid & Fakturering
{% for entry in time_entries %} {% else %} {% endfor %}
Dato Beskrivelse Bruger Timer
{{ entry.worked_date }} {{ entry.description or '-' }} {{ entry.user_name }} {{ entry.original_hours }}
Ingen tid registreret endnu
{% if prepaid_cards %}
Aktive Klippekort
{% for card in prepaid_cards %}
Kort #{{ card.card_number or card.id }}
{{ '%.2f' % card.remaining_hours }} timer tilbage
{% endfor %}
{% endif %}
Lokationer
Henter lokationer...
TAGS
Indlaeser tags...
Forslag (brand/type)
Indlaeser forslag...
Kunder
{% if customers %}
Navn Rolle E-mail Slet
{% for customer in customers %}
{{ customer.role or '-' }} {{ customer.customer_email or '-' }}
{% endfor %} {% else %}

Ingen kunder

{% endif %}
Kontakter
{% if contacts %}
Navn Titel Kunde Slet
{% for contact in contacts %}
{{ contact.contact_name }}
{{ contact.title or '-' }} {{ contact.customer_name or '-' }}
{% endfor %} {% else %}

Ingen kontakter

{% endif %}
Hardware
Henter hardware...
Salgspipeline
Stage
{% set ns = namespace(selected_stage=None) %} {% for stage in pipeline_stages or [] %} {% if case.pipeline_stage_id == stage.id %} {% set ns.selected_stage = stage %} {% endif %} {% endfor %} {% if ns.selected_stage %} {{ ns.selected_stage.name }} {% else %} Ikke sat {% endif %}
Sandsynlighed
{{ case.pipeline_probability if case.pipeline_probability is not none else 0 }}%
Beløb
{% if case.pipeline_amount is not none %} {{ "{:,.2f}".format(case.pipeline_amount|float).replace(',', 'X').replace('.', ',').replace('X', '.') }} kr. {% else %} Ikke sat {% endif %}
Beskrivelse
{{ case.pipeline_description or 'Ingen beskrivelse' }}
Opkaldshistorik
{% if call_history and call_history|length > 0 %}
{% for call in call_history %} {% endfor %}
Dato Retning Nummer Bruger Varighed
{{ call.started_at.strftime('%d/%m/%Y %H:%M') if call.started_at else '-' }} {{ 'Udgående' if call.direction == 'outbound' else 'Indgående' }} {% if call.ekstern_nummer %}
{{ call.ekstern_nummer }}
{% else %} - {% endif %}
{{ call.full_name or call.username or '-' }} {% if call.duration_sec is not none %} {{ (call.duration_sec // 60)|int }}:{{ '%02d'|format((call.duration_sec % 60)|int) }} {% elif call.ended_at %} - {% else %} I gang {% endif %}
{% else %}
Ingen opkald linket til denne sag
{% endif %}
Todo-opgaver
Ingen opgaver endnu
Kunde-wiki
Henter wiki...
E-mail på sagen
Tip: Træk .msg/.eml fil hertil for at importere direkte på sagen.
{% if is_nextcloud %}
☁️ Nextcloud Integration
{% if nextcloud_instance %} Aktiv {% else %} Ingen instans {% endif %}
{% if nextcloud_instance %}
Admin Konto {{ nextcloud_instance.username }}
Handlinger
{% else %}
Kunden mangler Nextcloud konfiguration
{% endif %}
{% endif %}
Løsning
{% if not solution or request.query_params.get('edit_solution') %} {% endif %}
{% if solution %}
{{ solution.title }}
{{ solution.solution_type }}
{{ solution.result }}
{{ solution.description }}
{% else %}

Ingen løsning registreret endnu.

{% endif %}
Salgslinjer
-
Dato Beskrivelse Antal Enhed Enhedspris Linjesum Kilde-sag Status Handlinger
Indlæser salgslinjer...
Indkøbslinjer
-
Dato Beskrivelse Antal Enhed Enhedspris Linjesum Formål Kilde-sag Status Handlinger
Indlæser indkøbslinjer...
Salg (samlet)
Total salg -
Netto -
Indkøb (samlet)
Total køb -
Tid (samlet)
Timer (total) -
Timer (fakturerbar) -
Inkluderer alle under-sager
Tid (samlet)
Dato Timer Kilde-sag
Indlæser tid...
Leverandørflow Type
Ingen forslag endnu
Leverandørfakturaer
Faktura Beløb Status Actions
Indlæser...
Live tracking
Faktisk tid gemmes internt. Fakturerbar tid afrundes per blok (standard 30 min).
Timeline per medarbejder
Indlæser tidslinje...
Tids sammendrag
Indlæser sammendrag...
Abonnement
Ingen

Ingen abonnement oprettet endnu.

-
-
-
-
-
-
-
-
Produkt Beskrivelse Antal Enhedspris Linjesum
Ingen linjer
Total: 0,00 kr
Produkt Beskrivelse Antal Enhedspris Linjesum
0,00 kr
Total: 0,00 kr
Reminders
Indlæser reminders...
Kalenderaftaler
Denne sag
Indlæser aftaler...
Børnesager
Indlæser børnesager...
Indstillinger

Reminders følger brugerens standardindstillinger (email, Mattermost og popup), medmindre du vælger at overskrive dem på reminderen.

Tip: Brug "Status ændring" hvis reminderen skal trigges af status.
0
Åbn fanen for at indlæse historik...
{% if nextcloud_instance %}
{% endblock %}