[UPD] update logic tiket

This commit is contained in:
Madanil
2026-10-19 16:46:27 +07:00
parent ef5ba7f159
commit 62e545276f
8 changed files with 574 additions and 338 deletions

View File

@@ -5,7 +5,7 @@
<field name="name">freshservice.ticket.stage.log.tree</field>
<field name="model">freshservice.ticket.stage.log</field>
<field name="arch" type="xml">
<list string="Audit Trail &amp; Durasi Status"
<list string="Audit Trail &amp; Status Duration"
decoration-danger="responsibility == 'internal' and is_active"
decoration-warning="responsibility == 'customer' and is_active"
decoration-muted="not is_active or responsibility in ('on_hold','third_party','internal_discussion','scheduled_meeting','external_activity','resolved_idle')">
@@ -37,25 +37,37 @@
<form string="Detail Audit Trail">
<sheet>
<group>
<group>
<group string="Informasi Status &amp; Tanggung Jawab">
<field name="ticket_id" readonly="1"/>
<field name="stage_name" readonly="1"/>
<field name="responsibility" readonly="1"/>
<field name="effective_status" readonly="1"/>
<field name="responsibility" readonly="1" string="Effective Responsibility"/>
<field name="automatic_responsibility" readonly="1"/>
<field name="actor_name" readonly="1"/>
<field name="actor_type" readonly="1"/>
</group>
<group>
<group string="Durasi Kerja Operasional (08:30-17:30 WIB)">
<field name="start_date" readonly="1" string="Waktu Mulai (UTC)"/>
<field name="end_date" readonly="1" string="Waktu Selesai (UTC)"/>
<field name="working_duration_display" readonly="1" string="Jam Kerja (08:30-17:30 WIB)"/>
<field name="working_duration_display" readonly="1" string="Jam Kerja Efektif"/>
<field name="working_days_effective" readonly="1" string="Hari Kerja Efektif"/>
<field name="duration_display" readonly="1" string="Durasi Kalender"/>
<field name="duration_days" readonly="1"/>
<!-- Jam di-hide -->
<field name="duration_hours" invisible="1"/>
<field name="is_active" readonly="1"/>
</group>
</group>
<group string="Klasifikasi &amp; Manual Override (Aturan F)">
<group>
<field name="delay_cause"/>
<field name="needs_verification"/>
<field name="classification_basis"/>
</group>
<group>
<field name="override_responsibility"/>
<field name="override_source"/>
<field name="override_reviewer"/>
<field name="override_at"/>
</group>
</group>
<notebook>
<page string="Deskripsi Aktivitas">
<field name="activity_content" readonly="1"/>
@@ -71,7 +83,7 @@
<field name="name">freshservice.ticket.stage.log.search</field>
<field name="model">freshservice.ticket.stage.log</field>
<field name="arch" type="xml">
<search string="Cari Log Aktivitas">
<search string="Search Activity Logs">
<field name="ticket_id"/>
<field name="stage_name"/>
<field name="actor_name"/>
@@ -83,8 +95,8 @@
<filter name="filter_scheduled_meeting" string="Scheduled Meeting (Waiting Together)" domain="[('responsibility', '=', 'scheduled_meeting')]"/>
<filter name="filter_external_activity" string="External Activity (SLA Paused)" domain="[('responsibility', '=', 'external_activity')]"/>
<filter name="filter_resolved_idle" string="Resolved (Ticket Closed/Idle)" domain="[('responsibility', '=', 'resolved_idle')]"/>
<filter name="filter_sla_paused" string="Semua SLA Paused" domain="[('responsibility', 'in', ['on_hold','third_party','internal_discussion','scheduled_meeting','external_activity'])]"/>
<filter name="filter_active" string="Sedang Berjalan (Aktif)" domain="[('is_active', '=', True)]"/>
<filter name="filter_sla_paused" string="All SLA Paused" domain="[('responsibility', 'in', ['on_hold','third_party','internal_discussion','scheduled_meeting','external_activity'])]"/>
<filter name="filter_active" string="In Progress (Active)" domain="[('is_active', '=', True)]"/>
<separator/>
<group>
<filter name="group_by_ticket" string="Tiket" context="{'group_by': 'ticket_id'}"/>

View File

@@ -9,12 +9,12 @@
<header>
<button name="action_sync_from_freshservice"
type="object"
string="Tarik Data Freshservice"
string="Sync Freshservice Data"
class="btn-primary"
icon="fa-refresh"/>
<button name="action_open_bottleneck_wizard"
type="object"
string="Laporan Bottleneck (Excel)"
string="Bottleneck Report (Excel)"
class="btn-outline-success"
icon="fa-file-excel-o"/>
<field name="status" widget="statusbar" statusbar_visible="open,pending,resolved,closed"/>
@@ -23,7 +23,7 @@
<field name="is_detail_synced" invisible="1"/>
<div class="oe_title">
<label for="name" string="Judul / Masalah Tiket"/>
<label for="name" string="Ticket Subject / Issue"/>
<h1>
<field name="name" placeholder="Contoh: SAP Client error di finance..."/>
</h1>
@@ -180,7 +180,7 @@
<field name="name">freshservice.ticket.tree</field>
<field name="model">freshservice.ticket</field>
<field name="arch" type="xml">
<list string="Daftar Tiket Freshservice"
<list string="Freshservice Tickets"
decoration-danger="current_responsibility == 'internal'"
decoration-warning="current_responsibility == 'customer'"
decoration-muted="status in ('resolved', 'closed')">
@@ -299,17 +299,17 @@
<filter name="filter_unassigned" string="Belum Ditugaskan" domain="[('user_id', '=', False)]"/>
<separator/>
<filter name="filter_waiting_us" string="Waiting on Us (Internal)" domain="[('current_responsibility', '=', 'internal')]"/>
<filter name="filter_waiting_user" string="Waiting on Customer (User)" domain="[('current_responsibility', '=', 'customer')]"/>
<filter name="filter_waiting_user" string="Waiting on Requester (User)" domain="[('current_responsibility', '=', 'customer')]"/>
<separator/>
<filter name="filter_open_progress" string="Tiket Aktif (Belum Selesai)" domain="[('status', 'in', ['open', 'pending'])]"/>
<filter name="filter_resolved" string="Selesai (Resolved/Closed)" domain="[('status', 'in', ['resolved', 'closed'])]"/>
<filter name="filter_open_progress" string="Active Tickets (Not Completed)" domain="[('status', 'in', ['open', 'pending'])]"/>
<filter name="filter_resolved" string="Completed (Resolved/Closed)" domain="[('status', 'in', ['resolved', 'closed'])]"/>
<separator/>
<filter name="filter_mock" string="Data Mock" domain="[('is_mock_data', '=', True)]"/>
<filter name="filter_live" string="Data Live API" domain="[('is_mock_data', '=', False)]"/>
<group>
<filter name="group_by_status" string="Status" context="{'group_by': 'status'}"/>
<filter name="group_by_responsibility" string="Tanggung Jawab" context="{'group_by': 'current_responsibility'}"/>
<filter name="group_by_responder" string="Agen (IT)" context="{'group_by': 'responder_name'}"/>
<filter name="group_by_responder" string="Agent (IT)" context="{'group_by': 'responder_name'}"/>
<filter name="group_by_requester" string="Pemohon (User)" context="{'group_by': 'requester_name'}"/>
</group>
</search>