Odoo Help

Welcome!

This community is for beginners and experts willing to share their Odoo knowledge. It's not a forum to discuss ideas, but a knowledge base of questions and their answers.

2

How to save a filter with today value from context

By
Antonio Gutierrez
on 1/13/14, 12:27 PM 4,065 views

Hi.

I have a filter name today with the next value:

<filter string="Today" domain="[('date','>=',((context_today())).strftime('%%Y-%%m-%%d 00:00:00')), ('date', '<=',((context_today())).strftime('%%Y-%%m-%%d 23:59:59'))]"/>

The date field is datetime and the filter work good. The filter return only values from today.

If i save the filter as default filter, openerp save the actual date and the filter not work tomorrow or other day because the date is saved instead of context_today().

Any method to save a filter with the context_today instead of his value?

Thanks. Best regards.

2

Anas Taji

--Anas Taji--
2203
| 6 7 8
Amman, Jordan
--Anas Taji--

Skype: anas.taji-sw

Email: anas.taji@smartway-jo.com

Anas Taji
On 5/18/14, 5:57 PM

Try it this way:

<filter string="Today" domain="[('date','&lt;=',time.strftime('%Y-%m-%d 23:59:59')),('date','&gt;=',time.strftime('%Y-%m-%d 00:00:00'))]"/>

walaa
on 9/7/14, 4:43 AM
1
Miku Laitinen
On 5/14/15, 10:25 AM

Don't use strftime with hard-coded times. It doesn't take different time zones into account. Instead, use this

<filter name="today" string="Today" 
domain="[('date','>=', datetime.datetime.combine(context_today(), datetime.time(0,0,0))),
('date','<=', datetime.datetime.combine(context_today(), datetime.time(23,59,59)))]" />

For example, I'm on UTC+3 now and when I set the min_date of a stock.picking to 2015-05-14 02:00, it's saved to the database as 2015-05-13 23:00. Using strftime in the domain will only work if the min_date is 2015-05-14 03:00 (=2015-05-14 00:00 UTC).

See this commit and this issue.

Thank you for sharing this. It has been very useful for me.

P.V.Anthony
on 4/23/16, 4:47 AM
1

You will need to go to menu Settings > Technical > User Interface > User-defined filters

There you will see your saved filters in which date already set as specific date.

You need to make the domain here more generic, i.e, 

['date_payment', '<=', time.strftime('%Y-%m-%d 23:59:59')]

0
Antonio Gutierrez
On 1/20/14, 8:27 AM

if any answers is given. This can be cataloged as bug.

Your Answer

Please try to give a substantial answer. If you wanted to comment on the question or answer, just use the commenting tool. Please remember that you can always revise your answers - no need to answer the same question twice. Also, please don't forget to vote - it really helps to select the best questions and answers!

About This Community

This community is for professionals and enthusiasts of our products and services. Read Guidelines

Question tools

5 follower(s)

Stats

Asked: 1/13/14, 12:27 PM
Seen: 4065 times
Last updated: 5/14/15, 10:25 AM