239 lines
14 KiB
XML
239 lines
14 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<odoo>
|
|
<template id="settings_page_template" name="Dine360 Settings Page">
|
|
<t t-call="dine360_dashboard.dashboard_layout">
|
|
<t t-set="active_page" t-value="'settings'"/>
|
|
|
|
<!-- Page Title & Header -->
|
|
<section class="o_page_header">
|
|
<div>
|
|
<h1 class="o_heading_title">Settings</h1>
|
|
<p class="o_heading_subtitle">Configure platform branding, operational rules, notifications, and delivery integrations</p>
|
|
</div>
|
|
<div class="o_header_controls">
|
|
<div class="o_status_tag">
|
|
<span class="o_green_dot"/>
|
|
<span>Configuration Active</span>
|
|
</div>
|
|
<a href="/web#action=base.res_config_setting_act_window" class="o_btn_white_small py-2 px-3">
|
|
<i class="fa fa-sliders me-1"/> Odoo ERP Settings
|
|
</a>
|
|
</div>
|
|
</section>
|
|
|
|
<!-- Settings Form -->
|
|
<form id="formSaveSettings" class="mb-5">
|
|
<div class="o_settings_grid">
|
|
<!-- Category 1: Platform & Branding -->
|
|
<div class="o_settings_card">
|
|
<div class="o_settings_card_top">
|
|
<div class="o_settings_icon">
|
|
<i class="fa fa-paint-brush"/>
|
|
</div>
|
|
<div>
|
|
<h4 class="o_settings_title">Platform & Branding</h4>
|
|
<p class="o_settings_desc">Global platform identity and brand assets</p>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="o_form_group">
|
|
<label class="o_form_label">Platform Title</label>
|
|
<input type="text" name="platform_title" value="Dine360 Restaurant Platform" class="o_form_control"/>
|
|
</div>
|
|
|
|
<div class="row">
|
|
<div class="col-md-6 o_form_group">
|
|
<label class="o_form_label">Subdomain Suffix</label>
|
|
<input type="text" name="subdomain_suffix" value=".dine360.com" class="o_form_control font-monospace"/>
|
|
</div>
|
|
<div class="col-md-6 o_form_group">
|
|
<label class="o_form_label">Currency Symbol</label>
|
|
<input type="text" name="currency_symbol" value="₹" class="o_form_control"/>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="o_form_group">
|
|
<label class="o_form_label">Support & Admin Email</label>
|
|
<input type="email" name="support_email" value="admin@dine360.com" class="o_form_control"/>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Category 2: Reservation Rules -->
|
|
<div class="o_settings_card">
|
|
<div class="o_settings_card_top">
|
|
<div class="o_settings_icon" style="background:#dbeafe; color:#2563eb;">
|
|
<i class="fa fa-calendar-check-o"/>
|
|
</div>
|
|
<div>
|
|
<h4 class="o_settings_title">Reservation Operations</h4>
|
|
<p class="o_settings_desc">Booking windows, seating durations, and rules</p>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row">
|
|
<div class="col-md-6 o_form_group">
|
|
<label class="o_form_label">Default Dining Duration (Mins)</label>
|
|
<input type="number" name="default_duration" value="90" class="o_form_control"/>
|
|
</div>
|
|
<div class="col-md-6 o_form_group">
|
|
<label class="o_form_label">Max Online Party Size</label>
|
|
<input type="number" name="max_party_size" value="12" class="o_form_control"/>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="o_form_group mt-3">
|
|
<div class="form-check form-switch d-flex align-items-center gap-2">
|
|
<input class="form-check-input" type="checkbox" id="autoConfirmRes" name="auto_confirm_reservation" checked="checked" style="width:2.4em; height:1.2em;"/>
|
|
<label class="form-check-label fw-bold text-dark small" for="autoConfirmRes">
|
|
Auto-confirm guest reservations if table is available
|
|
</label>
|
|
</div>
|
|
<small class="text-muted d-block mt-1">If unchecked, reservations arrive as Draft requiring manager approval.</small>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Category 3: WhatsApp Notifications -->
|
|
<div class="o_settings_card">
|
|
<div class="o_settings_card_top">
|
|
<div class="o_settings_icon" style="background:#dcfce7; color:#16a34a;">
|
|
<i class="fa fa-whatsapp"/>
|
|
</div>
|
|
<div>
|
|
<h4 class="o_settings_title">WhatsApp Notification Gateway</h4>
|
|
<p class="o_settings_desc">Automated guest SMS & WhatsApp confirmations</p>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="o_form_group">
|
|
<div class="form-check form-switch d-flex align-items-center gap-2 mb-3">
|
|
<input class="form-check-input" type="checkbox" id="enableWhatsapp" name="enable_whatsapp" checked="checked" style="width:2.4em; height:1.2em;"/>
|
|
<label class="form-check-label fw-bold text-dark small" for="enableWhatsapp">
|
|
Enable WhatsApp Booking Confirmations
|
|
</label>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="o_form_group">
|
|
<label class="o_form_label">Guest Confirmation Message Template</label>
|
|
<textarea name="whatsapp_template" rows="3" class="o_form_control">Hello {customer_name}, your table reservation at {restaurant_name} for {time} is confirmed! Reference: {booking_ref}. We look forward to serving you!</textarea>
|
|
<small class="text-muted">Placeholders: {customer_name}, {restaurant_name}, {time}, {booking_ref}</small>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Category 4: Uber Direct Delivery -->
|
|
<div class="o_settings_card">
|
|
<div class="o_settings_card_top">
|
|
<div class="o_settings_icon" style="background:#f1f5f9; color:#0f172a;">
|
|
<i class="fa fa-motorcycle"/>
|
|
</div>
|
|
<div>
|
|
<h4 class="o_settings_title">Uber Direct & Delivery</h4>
|
|
<p class="o_settings_desc">On-demand courier dispatch parameters</p>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row">
|
|
<div class="col-md-6 o_form_group">
|
|
<label class="o_form_label">Uber Environment</label>
|
|
<select name="uber_mode" class="o_form_control">
|
|
<option value="sandbox">Sandbox (Testing Mode)</option>
|
|
<option value="production">Production (Live Couriers)</option>
|
|
</select>
|
|
</div>
|
|
<div class="col-md-6 o_form_group">
|
|
<label class="o_form_label">Max Delivery Radius (km)</label>
|
|
<input type="number" name="max_delivery_radius" value="10" class="o_form_control"/>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="o_form_group">
|
|
<div class="form-check form-switch d-flex align-items-center gap-2 mt-2">
|
|
<input class="form-check-input" type="checkbox" id="autoDispatchUber" name="auto_dispatch_uber" checked="checked" style="width:2.4em; height:1.2em;"/>
|
|
<label class="form-check-label fw-bold text-dark small" for="autoDispatchUber">
|
|
Auto-dispatch Uber courier when kitchen marks order Ready
|
|
</label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Category 5: Automated Backups -->
|
|
<div class="o_settings_card">
|
|
<div class="o_settings_card_top">
|
|
<div class="o_settings_icon" style="background:#fef3c7; color:#d97706;">
|
|
<i class="fa fa-database"/>
|
|
</div>
|
|
<div>
|
|
<h4 class="o_settings_title">Database Backups & Maintenance</h4>
|
|
<p class="o_settings_desc">Automated snapshots and retention policy</p>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row">
|
|
<div class="col-md-6 o_form_group">
|
|
<label class="o_form_label">Daily Scheduled Time</label>
|
|
<input type="time" name="backup_time" value="03:00" class="o_form_control"/>
|
|
</div>
|
|
<div class="col-md-6 o_form_group">
|
|
<label class="o_form_label">Retention (Days)</label>
|
|
<input type="number" name="backup_retention" value="7" class="o_form_control"/>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="o_form_group">
|
|
<label class="o_form_label">Backup Storage Directory</label>
|
|
<input type="text" name="backup_dir" value="/var/lib/odoo/backups" readonly="readonly" class="o_form_control font-monospace bg-light"/>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Category 6: KOT & Printers -->
|
|
<div class="o_settings_card">
|
|
<div class="o_settings_card_top">
|
|
<div class="o_settings_icon" style="background:#f3e8ff; color:#9333ea;">
|
|
<i class="fa fa-print"/>
|
|
</div>
|
|
<div>
|
|
<h4 class="o_settings_title">Receipt & KOT Printing</h4>
|
|
<p class="o_settings_desc">Thermal hardware printer integration</p>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row">
|
|
<div class="col-md-6 o_form_group">
|
|
<label class="o_form_label">Thermal Paper Width</label>
|
|
<select name="paper_width" class="o_form_control">
|
|
<option value="80">80mm (Standard POS)</option>
|
|
<option value="58">58mm (Compact Receipt)</option>
|
|
</select>
|
|
</div>
|
|
<div class="col-md-6 o_form_group">
|
|
<label class="o_form_label">Printer Driver</label>
|
|
<select name="printer_driver" class="o_form_control">
|
|
<option value="qz">QZ Tray Network Service</option>
|
|
<option value="epson">Epson ESC/POS Direct</option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="o_form_group">
|
|
<div class="form-check form-switch d-flex align-items-center gap-2 mt-2">
|
|
<input class="form-check-input" type="checkbox" id="autoPrintKot" name="auto_print_kot" checked="checked" style="width:2.4em; height:1.2em;"/>
|
|
<label class="form-check-label fw-bold text-dark small" for="autoPrintKot">
|
|
Auto-print KOT slip upon kitchen order send
|
|
</label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Sticky Save Bar -->
|
|
<div class="d-flex align-items-center justify-content-end gap-3 p-3 bg-white border rounded-3 shadow-sm">
|
|
<button type="reset" class="btn btn-light px-4">Discard Changes</button>
|
|
<button type="submit" class="o_btn_red_action px-4 py-2">
|
|
<i class="fa fa-save me-1"/> Save Settings
|
|
</button>
|
|
</div>
|
|
</form>
|
|
</t>
|
|
</template>
|
|
</odoo>
|