summaryrefslogtreecommitdiff
path: root/indoteknik_custom/views/apache_solr_queue.xml
blob: 4c145b9f8dd959f709fd1df36ea26cd8b22fefad (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
<odoo>
    <record id="view_apache_solr_queue" model="ir.ui.view">
        <field name="name">apache.solr.queue.tree</field>
        <field name="model">apache.solr.queue</field>
        <field name="arch" type="xml">
            <tree editable="top" default_order="create_date desc">
                <button type="object" name="open_target_record" string="" icon="fa-external-link" />
                <field name="id" readonly="1" />
                <field name="display_name" readonly="1" />
                <field name="res_model" readonly="1" />
                <field name="res_id" readonly="1" />
                <field name="function_name" readonly="1" />
                <field 
                    name="execute_status" 
                    widget="badge" 
                    readonly="1"
                    decoration-danger="execute_status == 'failed'" 
                    decoration-success="execute_status == 'success'"
                    decoration-primary="execute_status == 'not_found'"
                />
                <field name="execute_date" readonly="1" />
                <field name="create_date" readonly="1" />
            </tree>
        </field>
    </record>

    <record id="apache_solr_queue_view_search" model="ir.ui.view">
        <field name="name">apache.solr.queue.search</field>
        <field name="model">apache.solr.queue</field>
        <field name="mode">primary</field>
        <field name="arch" type="xml">
            <search string="Search Queue">
                <field name="res_model"/>
                <field name="res_id"/>
                <field name="function_name"/>
                <field name="display_name" filter_domain="[('display_name', 'ilike', self)]"/>
                <filter string="Active Queue" name="active_queue" domain="[('execute_status', '=', False)]"/>    
            </search>
        </field>
    </record>

    <record id="action_apache_solr_queue" model="ir.actions.act_window">
        <field name="name">Solr Queue</field>
        <field name="res_model">apache.solr.queue</field>
        <field name="search_view_id" ref="apache_solr_queue_view_search"/>
        <field name="context">{'search_default_active_queue': 1}</field>
        <field name="view_mode">tree</field>
    </record>

    <menuitem 
        id="menu_apache_solr_queue" 
        name="Solr Queue"
        parent="base.menu_users" 
        sequence="32"
        action="action_apache_solr_queue"
    />

    <record id="ir_actions_server_apache_solr_queue_execute" model="ir.actions.server">
        <field name="name">Execute</field>
        <field name="model_id" ref="indoteknik_custom.model_apache_solr_queue"/>
        <field name="binding_model_id" ref="indoteknik_custom.model_apache_solr_queue"/>
        <field name="state">code</field>
        <field name="code">records.execute_queue()</field>
    </record>

    <data noupdate="1">
        <record id="cron_apache_solr_queue_delete" model="ir.cron">
            <field name="name">Solr Queue: Delete Weekly</field>
            <field name="interval_number">14</field>
            <field name="interval_type">minutes</field>
            <field name="numbercall">-1</field>
            <field name="doall" eval="False"/>
            <field name="model_id" ref="model_apache_solr_queue"/>
            <field name="code">model.delete_weekly_solr()</field>
            <field name="state">code</field>
            <field name="priority">65</field>
            <field name="active">True</field>
        </record>
    </data>

    <data noupdate="1">
        <record id="cron_apache_solr_queue_process" model="ir.cron">
            <field name="name">Solr Queue: Process</field>
            <field name="interval_number">6</field>
            <field name="interval_type">minutes</field>
            <field name="numbercall">-1</field>
            <field name="doall" eval="False"/>
            <field name="model_id" ref="model_apache_solr_queue"/>
            <field name="code">model.process_queue_item(limit=100)</field>
            <field name="state">code</field>
            <field name="priority">55</field>
            <field name="active">True</field>
        </record>
    </data>
</odoo>