feat: add Pending status for delivery/technician tasks

- New 'pending' status allows tasks to be created without a schedule,
  acting as a queue for unscheduled work that gets assigned later
- Pending group appears in the Delivery Map sidebar with amber color
- Other modules can create tasks in pending state for scheduling
- scheduled_date no longer required (null for pending tasks)
- New Pending Tasks menu item under Field Service
- Pending filter added to search view

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
gsinghpal
2026-02-24 04:21:05 -05:00
parent 84c009416e
commit 0e1aebe60b
26 changed files with 2735 additions and 9 deletions

View File

@@ -0,0 +1,84 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<!-- Inline payment form template for Poynt -->
<template id="inline_form">
<t t-set="inline_form_values"
t-value="provider_sudo._poynt_get_inline_form_values(
amount,
currency,
partner_id,
mode == 'validation',
payment_method_sudo=pm_sudo,
)"
/>
<div name="o_poynt_payment_container"
class="o_poynt_payment_form"
t-att-data-poynt-inline-form-values="inline_form_values">
<!-- Card number input -->
<div class="mb-3">
<label class="form-label" for="poynt_card_number">Card Number</label>
<input type="text" class="form-control"
id="poynt_card_number"
name="card_number"
placeholder="4111 1111 1111 1111"
maxlength="19"
autocomplete="cc-number"
required="required"/>
</div>
<!-- Expiry and CVV row -->
<div class="row mb-3">
<div class="col-6">
<label class="form-label" for="poynt_expiry">Expiry Date</label>
<input type="text" class="form-control"
id="poynt_expiry"
name="expiry"
placeholder="MM/YY"
maxlength="5"
autocomplete="cc-exp"
required="required"/>
</div>
<div class="col-6">
<label class="form-label" for="poynt_cvv">CVV</label>
<input type="password" class="form-control"
id="poynt_cvv"
name="cvv"
placeholder="123"
maxlength="4"
autocomplete="cc-csc"
required="required"/>
</div>
</div>
<!-- Cardholder name -->
<div class="mb-3">
<label class="form-label" for="poynt_cardholder">Cardholder Name</label>
<input type="text" class="form-control"
id="poynt_cardholder"
name="cardholder_name"
placeholder="John Doe"
autocomplete="cc-name"/>
</div>
<!-- Terminal payment option -->
<div class="mb-3 o_poynt_terminal_section" style="display:none;">
<hr/>
<div class="form-check">
<input type="checkbox" class="form-check-input"
id="poynt_use_terminal" name="use_terminal"/>
<label class="form-check-label" for="poynt_use_terminal">
Pay at Terminal
</label>
</div>
<div id="poynt_terminal_select_wrapper" style="display:none;" class="mt-2">
<label class="form-label" for="poynt_terminal_select">Select Terminal</label>
<select class="form-select" id="poynt_terminal_select" name="terminal_id">
</select>
</div>
</div>
</div>
</template>
</odoo>