تخطي للذهاب إلى المحتوى
القائمة
لقد تم الإبلاغ عن هذا السؤال
2 الردود
12265 أدوات العرض
<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
الصورة الرمزية
إهمال
أفضل إجابة

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>



الصورة الرمزية
إهمال
الكاتب

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

أفضل إجابة

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

الصورة الرمزية
إهمال
المنشورات ذات الصلة الردود أدوات العرض النشاط
1
مارس 25
1369
0
نوفمبر 24
1552
0
يونيو 24
1601
1
يونيو 24
2113
0
أكتوبر 23
2146