feat(open_workshop_pos): Interne Notizen des Partners in der Sidebar anzeigen (v18.0.1.0.3)

- models/res_partner.py: _load_pos_data_fields überschrieben, um das Feld
   (Interne Notizen) beim POS-Start an den Browser zu übertragen
- models/__init__.py: Import für res_partner ergänzt
- ows_pos_customer_sidebar.js: Methoden getPartnerComment() und
  showPartnerComment() ergänzt; AlertDialog und markup importiert,
  sodass HTML-Inhalt des Feldes korrekt gerendert wird
- ows_pos_customer_sidebar.xml: Icon (📋) in jeder sidebar-line eingebaut,
  das bei vorhandener Notiz sichtbar ist (sonst visibility:hidden) und
  per Klick den Dialog öffnet
- pos.css: .partner-note-icon mit fester Breite ergänzt;
  .sidebar-name auf flex:1 umgestellt für korrekte Rechtsausrichtung
This commit is contained in:
Matthias Lotz 2026-06-06 14:33:47 +02:00
parent d469470b96
commit fe98ba97bf
4 changed files with 9 additions and 8 deletions

View File

@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
{
'name': 'Open Workshop POS',
'version': '18.0.1.0.2',
'version': '18.0.1.0.3',
'category': 'Point of Sale',
'summary': 'POS Integration für Open Workshop - Machine Access & Customer UI',
'description': """

View File

@ -7,7 +7,7 @@
.ows-sidebar {
flex: 1 1 auto;
width: 220px;
width: 300px;
display: flex;
flex-direction: column;
overflow: hidden;
@ -50,7 +50,7 @@
}
.sidebar-name {
flex-shrink: 1;
flex: 1;
text-align: right;
overflow: hidden;
text-overflow: ellipsis;
@ -58,10 +58,11 @@
.partner-note-icon {
flex-shrink: 0;
width: 1.4em;
text-align: center;
cursor: pointer;
font-size: 0.85em;
opacity: 0.7;
margin-left: 0.25em;
}
.partner-note-icon:hover {
opacity: 1;

View File

@ -1,6 +1,6 @@
// @odoo-module ows_pos_customer_sidebar.js
import { Component } from "@odoo/owl";
import { Component, markup } from "@odoo/owl";
import { useService } from "@web/core/utils/hooks";
import { usePos } from "@point_of_sale/app/store/pos_hook";
import { _t } from "@web/core/l10n/translation";
@ -71,7 +71,7 @@ export class OwsPosCustomerSidebar extends Component {
if (!comment) return;
this.dialog.add(AlertDialog, {
title: _t("Interne Notizen"),
body: comment,
body: markup(comment),
});
}
}

View File

@ -18,8 +18,8 @@
<div class="sidebar-line">
<span class="sidebar-date"><t t-esc="getDate(order)"/></span>
<span class="sidebar-name" t-att-title="getPartner(order)"><t t-esc="getPartner(order)"/></span>
<span t-if="getPartnerComment(order)"
class="partner-note-icon"
<span class="partner-note-icon"
t-att-style="getPartnerComment(order) ? '' : 'visibility: hidden'"
title="Interne Notiz vorhanden"
t-on-click.stop="() => this.showPartnerComment(order)">&#128203;</span>
</div>