fix(fusion_helpdesk_central): findings + summary actually span full width
Previous fix (col=1 on the group) didn't work — Odoo still rendered the group's string as a left-column label inside the form sheet's flow, so the textarea got pushed into a narrow right column. The summary field looked entirely missing because its content split between the button row (on the right) and the textarea (collapsed nowhere visible). Right idiom (lifted from Odoo's own mail.compose.message wizard): WIDE textareas live directly at the form level, not inside <group>. Section titles use <separator string="…"> which renders as a horizontal divider with the label above. The textarea then takes the full sheet width naturally. Same pattern applied to bulk mode for consistency. Also moved Personal Note into the top compact group with Owner / Owner Email since it's a one-line input that belongs with the header info, not pretending to be a wide section. Bumps fusion_helpdesk_central to 19.0.2.3.2.
This commit is contained in:
@@ -3,7 +3,7 @@
|
|||||||
# License OPL-1
|
# License OPL-1
|
||||||
{
|
{
|
||||||
'name': 'Fusion Helpdesk Central — Client API Keys',
|
'name': 'Fusion Helpdesk Central — Client API Keys',
|
||||||
'version': '19.0.2.3.1',
|
'version': '19.0.2.3.2',
|
||||||
'category': 'Productivity',
|
'category': 'Productivity',
|
||||||
'summary': 'Admin UI on the central Odoo for issuing per-client API '
|
'summary': 'Admin UI on the central Odoo for issuing per-client API '
|
||||||
'keys used by fusion_helpdesk client deployments.',
|
'keys used by fusion_helpdesk client deployments.',
|
||||||
|
|||||||
@@ -18,11 +18,16 @@
|
|||||||
<field name="mode" invisible="1"/>
|
<field name="mode" invisible="1"/>
|
||||||
<field name="ticket_id" invisible="1"/>
|
<field name="ticket_id" invisible="1"/>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Compact "who + note" header in a normal 2-col group.
|
||||||
|
Owner is read-only display, Personal Note is short.
|
||||||
|
-->
|
||||||
<group>
|
<group>
|
||||||
<group>
|
<field name="owner_name_display" string="Owner" readonly="1"/>
|
||||||
<field name="owner_name_display" string="Owner"/>
|
<field name="owner_email_display" string="Owner Email"
|
||||||
<field name="owner_email_display" string="Owner Email" widget="email"/>
|
widget="email" readonly="1"/>
|
||||||
</group>
|
<field name="personal_note"
|
||||||
|
placeholder="One-line note that appears above the summary in the email…"/>
|
||||||
</group>
|
</group>
|
||||||
|
|
||||||
<div class="alert alert-warning" role="alert"
|
<div class="alert alert-warning" role="alert"
|
||||||
@@ -34,63 +39,60 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Single mode. The user fills findings first, clicks
|
Wide textareas live DIRECTLY at the form level (not inside
|
||||||
Generate Summary, reviews the AI output, edits if needed,
|
a <group>) so they take the full sheet width — the same
|
||||||
then Sends. We deliberately don't auto-fire OpenAI on
|
pattern Odoo's mail.compose.message wizard uses for the
|
||||||
open — the AI needs the engineer's analysis to be useful.
|
`body` HTML editor. Section titles use <separator>, which
|
||||||
|
renders as a horizontal divider with a label above the
|
||||||
|
next field. This is the only Odoo 19 idiom that reliably
|
||||||
|
gives a full-width textarea inside a wizard dialog.
|
||||||
-->
|
-->
|
||||||
<group invisible="mode != 'single'">
|
<separator string="1. Your Findings"
|
||||||
<field name="personal_note"
|
invisible="mode != 'single'"/>
|
||||||
placeholder="One-line note that appears above the summary in the email…"/>
|
<field name="findings"
|
||||||
</group>
|
invisible="mode != 'single'"
|
||||||
<!--
|
nolabel="1"
|
||||||
`col="1"` on these single-column groups makes the
|
widget="text"
|
||||||
enclosed field span the full group width. The default
|
placeholder="What did your investigation surface? Scope, limitations, recommended approach, effort, risks — anything the owner needs to know that the original reporter wouldn't have."/>
|
||||||
`col="2"` reserves a label column even with nolabel=1,
|
|
||||||
which is what was squeezing the textareas into half
|
<separator string="2. Summary to Send"
|
||||||
width before. Findings + summary are wide-form inputs
|
invisible="mode != 'single'"/>
|
||||||
that deserve all the real estate the dialog has.
|
<div class="d-flex align-items-center mb-2"
|
||||||
-->
|
invisible="mode != 'single'">
|
||||||
<group invisible="mode != 'single'" string="1. Your Findings" col="1">
|
<button name="action_generate_summary" type="object"
|
||||||
<field name="findings" nolabel="1"
|
string="Generate Summary from Findings"
|
||||||
widget="text"
|
icon="fa-magic"
|
||||||
placeholder="What did your investigation surface? Scope, limitations, recommended approach, effort, risks — anything the owner needs to know that the original reporter wouldn't have."/>
|
class="btn-secondary"/>
|
||||||
</group>
|
<span class="text-muted ms-2">
|
||||||
<group invisible="mode != 'single'" string="2. Summary to Send" col="1">
|
← click after writing your findings, then review & edit below
|
||||||
<div class="d-flex align-items-center">
|
</span>
|
||||||
<button name="action_generate_summary" type="object"
|
</div>
|
||||||
string="Generate Summary from Findings"
|
<field name="ai_summary"
|
||||||
icon="fa-magic"
|
invisible="mode != 'single'"
|
||||||
class="btn-secondary"/>
|
nolabel="1"
|
||||||
<span class="text-muted ms-2">
|
widget="text"
|
||||||
← click after writing your findings, then review & edit below
|
placeholder="Click Generate Summary above, or write the brief yourself. The owner reads this first."/>
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
<field name="ai_summary" nolabel="1"
|
|
||||||
widget="text"
|
|
||||||
placeholder="Click Generate Summary above, or write the brief yourself. The owner reads this first."/>
|
|
||||||
</group>
|
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Bulk mode: same two-step flow per ticket. Findings +
|
Bulk mode: same two-step flow, per-line. The list view
|
||||||
Summary editable inline; a single Generate All button
|
is wide by default because list views fill the form
|
||||||
fans out OpenAI in parallel using each line's findings.
|
sheet — no special layout work needed.
|
||||||
-->
|
-->
|
||||||
<group invisible="mode != 'bulk'">
|
<separator string="Per-Ticket Findings & Summaries"
|
||||||
<field name="personal_note"
|
invisible="mode != 'bulk'"/>
|
||||||
placeholder="One-line note that appears once at the top of the combined email…"/>
|
<div class="d-flex align-items-center mb-2"
|
||||||
</group>
|
|
||||||
<div class="o_row" colspan="2"
|
|
||||||
invisible="mode != 'bulk'">
|
invisible="mode != 'bulk'">
|
||||||
<button name="action_generate_all_summaries" type="object"
|
<button name="action_generate_all_summaries" type="object"
|
||||||
string="Generate All Summaries"
|
string="Generate All Summaries"
|
||||||
icon="fa-magic"
|
icon="fa-magic"
|
||||||
class="btn-secondary"/>
|
class="btn-secondary"/>
|
||||||
<span class="o_form_label text-muted ms-2">
|
<span class="text-muted ms-2">
|
||||||
← fill in findings per row first, then click to regenerate all summaries in parallel
|
← fill in findings per row first, then click to regenerate all summaries in parallel
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<field name="line_ids" invisible="mode != 'bulk'" nolabel="1">
|
<field name="line_ids"
|
||||||
|
invisible="mode != 'bulk'"
|
||||||
|
nolabel="1">
|
||||||
<list editable="bottom" create="0" delete="0">
|
<list editable="bottom" create="0" delete="0">
|
||||||
<field name="ticket_id" readonly="1"/>
|
<field name="ticket_id" readonly="1"/>
|
||||||
<field name="ticket_name" readonly="1"/>
|
<field name="ticket_name" readonly="1"/>
|
||||||
|
|||||||
Reference in New Issue
Block a user