Overslaan naar inhoud
Menu
Je moet geregistreerd zijn om te kunnen communiceren met de community.
Deze vraag is gerapporteerd
3 Antwoorden
1156 Weergaven

I am having Odoo 17 instance where I want to keep only specific date range enabled for selection in Date time picker, I have tried _getDatepickerOptions() but it is not working, I have used _getFlatpickrOptions() but not working, can I get some example of document for the same?

Avatar
Annuleer
Beste antwoord

Hii,

Full Working Example in Odoo 17
Custom JavaScript Widget

/** @odoo-module **/


import { registry } from "@web/core/registry";

import { DateTimeField } from "@web/views/fields/datetime/datetime_field";


export class RestrictedDateTime extends DateTimeField {

    /**

     * Override flatpickr options to restrict the date range

     */

    _getFlatpickrOptions() {

        const options = super._getFlatpickrOptions();

        return {

            ...options,

            minDate: "2025-08-01",

            maxDate: "2025-08-31",

        };

    }

}


// Register the widget

registry.category("fields").add("restricted_datetime", RestrictedDateTime);


Assign the Widget in XML View

You need to use your new widget restricted_datetime on the datetime field:

<field name="your_datetime_field" widget="restricted_datetime"/>


i hope it is usefull

Avatar
Annuleer
Beste antwoord

Hi,


Try with the following code.


Python

from_period = fields.Date(string="From Date", required=True,
help="Choose the from date")
to_period = fields.Date(string="To Date", required=True,
help="Choose the to date")

XML

<label for="from_period" string="Period"/>
<div class="o_row">
<field name="from_period" widget="daterange" nolabel="1"
class="oe_inline"
options="{'related_end_date': 'to_period'}"/>
<i class="fa fa-long-arrow-right mx-2"
aria-label="Arrow icon" title="Arrow"/>
<field name="to_period" widget="daterange" nolabel="1"
class="oe_inline"
options="{'related_start_date': 'from_period'}"/>
</div>

Hope it helps

Avatar
Annuleer
Beste antwoord

Hi Kedar Dave, 

Use 

<field name="date_begin" widget="daterange" options="{'related_end_date': 'date_end'}"/>
<field name="date_end" widget="daterange" options="{'related_start_date': 'date_begin'}"/>

Hope this help.

Avatar
Annuleer
Gerelateerde posts Antwoorden Weergaven Activiteit
1
nov. 19
4036
0
okt. 16
3790
1
mrt. 15
6182
3
jun. 25
836
0
jun. 24
1967