Skip to Content
Menu
This question has been flagged
2 Replies
11958 Views
<record id="sale_order_seven_day_rule" model="ir.rule">
<field name="name">7 day Orders</field>
<field ref="sale.model_sale_order" name="model_id"/>
<field name="domain_force">[('create_date', '&lt;', (context_today() - datetime.timedelta(days=7)).strftime('%Y-%m-%d'))]</field>
<field name="groups" eval="[(4, ref('group_seven_day_user'))]"/>
</record>

this is not working
i want to show last 7 day records
Avatar
Discard
Best Answer

Hello Usman,

Instead of creating filter you are creating record rule. Record rule is for the security purpose. 

To filter data you can simply create one search view and add filter for the model in your xml file. 

<record id="sale_order_view_search_inherit_quotation" model="ir.ui.view">

            <field name="name">sale.order.search.inherit.quotation</field>

            <field name="model">sale.order</field>

            <field name="mode">primary</field>

            <field name="inherit_id" ref="sale.view_sales_order_filter"/>

            <field name="arch" type="xml">

                <xpath expr="//filter[@name='my_quotation']" position="after">

                    <filter name="last_7_days" string="Last 7 Days" domain="[('date_order','&gt;', (context_today() - datetime.timedelta(days=7)).strftime('%%Y-%%m-%%d') )]"/>

                </xpath>

            </field>

        </record>



Avatar
Discard
Author

thanks for your quick reply ...

can you tell me how i can assinge this filter to specific user group ..

i hav two group one can see all record one can see only 7 day record

how i can assinge this filter to one of group

You can not prevent users to see the records using filters, filter is just to use quick data filteration. To prevent users to showing records Record rule will be used, but make sure record rule will not allowed any user to see any other records then last 7 days who belongs to the speciific group.

In record rule, the domain is evaluated with two variables in context: user is the current user’s record and time is the time module. Check this link to perform operation

https://docs.python.org/2/library/time.html#module-time

Best Answer

datetime.datetime.now().strftime('%Y-%m-%d')

Avatar
Discard
Related Posts Replies Views Activity
1
Mar 25
606
0
Nov 24
899
0
Jun 24
963
1
Jun 24
1451
0
Oct 23
1615