OCA reporting engine fork for dev and update.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

214 lines
7.7 KiB

  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <odoo>
  3. <record id="demo_dashboard" model="kpi.dashboard">
  4. <field name="name">Dashboard</field>
  5. <field name="number_of_columns">4</field>
  6. <field name="widget_dimension_y">50</field>
  7. <field name="widget_dimension_x">250</field>
  8. <field name="background_color">#020202</field>
  9. <field name="compute_on_fly_refresh">30</field>
  10. </record>
  11. <record id="widget_number_01" model="kpi.kpi">
  12. <field name="name">Number 01</field>
  13. <field name="prefix">$</field>
  14. <field name="computation_method">code</field>
  15. <field name="widget">number</field>
  16. <field name="code">
  17. result = {"value": 10000,"previous": 12000}
  18. </field>
  19. </record>
  20. <record id="widget_number_02" model="kpi.kpi">
  21. <field name="name">Number 02</field>
  22. <field name="suffix"></field>
  23. <field name="computation_method">code</field>
  24. <field name="widget">number</field>
  25. <field name="code">
  26. result = {"value": 12000,"previous": 10000}
  27. </field>
  28. </record>
  29. <function model="kpi.kpi" name="compute"
  30. eval="[[ref('widget_number_01'), ref('widget_number_02')]]"/>
  31. <record id="widget_meter_01" model="kpi.kpi">
  32. <field name="name">Meter 01</field>
  33. <field name="suffix"></field>
  34. <field name="computation_method">code</field>
  35. <field name="widget">meter</field>
  36. <field name="code">
  37. result = {"min": 0, "max": 100, "value": 90}
  38. </field>
  39. </record>
  40. <record id="widget_meter_02" model="kpi.kpi">
  41. <field name="name">Meter 02</field>
  42. <field name="prefix">$</field>
  43. <field name="computation_method">code</field>
  44. <field name="widget">meter</field>
  45. <field name="code">
  46. result = {"min": 0, "max": 100, "value": 40}
  47. </field>
  48. </record>
  49. <function model="kpi.kpi" name="compute"
  50. eval="[[ref('widget_meter_01'), ref('widget_meter_02')]]"/>
  51. <record id="widget_graph" model="kpi.kpi">
  52. <field name="name">Graph</field>
  53. <field name="computation_method">code</field>
  54. <field name="widget">graph</field>
  55. <field name="code">
  56. result = {"graphs": [
  57. {
  58. "values": [
  59. {"x": i, "y": i * 1000}
  60. for i in range(1, 12)
  61. ],
  62. "title": "Current Year",
  63. "key": "current",
  64. "area": True,
  65. "color": "ffffff",
  66. },
  67. {
  68. "values": [
  69. {"x": i, "y": 1000 * (12-i)}
  70. for i in range(1, 12)
  71. ],
  72. "title": "Previous Year",
  73. "key": "previous",
  74. "area": True,
  75. "color": "000000",
  76. },
  77. ]}
  78. </field>
  79. </record>
  80. <function model="kpi.kpi" name="compute"
  81. eval="[[ref('widget_graph')]]"/>
  82. <record id="widget_integer" model="kpi.kpi">
  83. <field name="name">Integer counter</field>
  84. <field name="computation_method">code</field>
  85. <field name="widget">integer</field>
  86. <field name="compute_on_fly" eval="True"/>
  87. <field name="code">
  88. result = {"value": self.env.context.get('counter', 990)}
  89. </field>
  90. </record>
  91. <record id="widget_counter" model="kpi.kpi">
  92. <field name="name">Counter</field>
  93. <field name="computation_method">code</field>
  94. <field name="widget">counter</field>
  95. <field name="compute_on_fly" eval="True"/>
  96. <field name="code">
  97. result = {"value": self.env.context.get('counter', 990)}
  98. </field>
  99. </record>
  100. <record id="dashboard_widget_text" model="kpi.dashboard.item">
  101. <field name="name">Dashboard title</field>
  102. <field name="dashboard_id" ref="demo_dashboard"/>
  103. <field name="column">1</field>
  104. <field name="row">1</field>
  105. <field name="size_x">4</field>
  106. <field name="color">#707070</field>
  107. <field name="font_color">#000000</field>
  108. </record>
  109. <record id="dashboard_widget_number_01" model="kpi.dashboard.item">
  110. <field name="name">Number 01</field>
  111. <field name="dashboard_id" ref="demo_dashboard"/>
  112. <field name="kpi_id" ref="widget_number_01"/>
  113. <field name="column">1</field>
  114. <field name="row">2</field>
  115. <field name="size_y">4</field>
  116. <field name="color">#47bbb3</field>
  117. <field name="font_color">#ffffff</field>
  118. </record>
  119. <record id="dashboard_widget_number_02" model="kpi.dashboard.item">
  120. <field name="name">Number 02</field>
  121. <field name="dashboard_id" ref="demo_dashboard"/>
  122. <field name="kpi_id" ref="widget_number_02"/>
  123. <field name="column">1</field>
  124. <field name="row">6</field>
  125. <field name="size_y">4</field>
  126. <field name="color">#ec663c</field>
  127. <field name="font_color">#ffffff</field>
  128. </record>
  129. <record id="dashboard_widget_meter_01" model="kpi.dashboard.item">
  130. <field name="name">Meter 01</field>
  131. <field name="dashboard_id" ref="demo_dashboard"/>
  132. <field name="kpi_id" ref="widget_meter_01"/>
  133. <field name="column">2</field>
  134. <field name="row">2</field>
  135. <field name="size_y">4</field>
  136. <field name="color">#9c4274</field>
  137. <field name="font_color">#ffffff</field>
  138. </record>
  139. <record id="dashboard_widget_meter_02" model="kpi.dashboard.item">
  140. <field name="name">Meter 02</field>
  141. <field name="dashboard_id" ref="demo_dashboard"/>
  142. <field name="kpi_id" ref="widget_meter_02"/>
  143. <field name="column">2</field>
  144. <field name="row">6</field>
  145. <field name="size_y">4</field>
  146. <field name="color">#12b0c5</field>
  147. <field name="font_color">#ffffff</field>
  148. </record>
  149. <record id="dashboard_widget_add_counter" model="kpi.dashboard.item">
  150. <field name="name">+1 to Counter</field>
  151. <field name="dashboard_id" ref="demo_dashboard"/>
  152. <field name="column">3</field>
  153. <field name="row">10</field>
  154. <field name="size_y">1</field>
  155. <field name="size_x">2</field>
  156. <field name="color">#B41F1F</field>
  157. <field name="font_color">#EEBF77</field>
  158. <field name="modify_context" eval="True"/>
  159. <field name="modify_context_expression">{'counter': (context.counter or 990) + 1}</field>
  160. <field name="modify_color" eval="True"/>
  161. <field name="modify_color_expression">check_if(((context.counter or 990) + 1) % 2, '#ff0000', '#00ff00')</field>
  162. </record>
  163. <record id="dashboard_widget_counter" model="kpi.dashboard.item">
  164. <field name="name">Counter</field>
  165. <field name="dashboard_id" ref="demo_dashboard"/>
  166. <field name="kpi_id" ref="widget_counter"/>
  167. <field name="column">3</field>
  168. <field name="row">11</field>
  169. <field name="size_y">3</field>
  170. <field name="color">#4B0082</field>
  171. <field name="font_color">#ffffff</field>
  172. </record>
  173. <record id="dashboard_widget_integer" model="kpi.dashboard.item">
  174. <field name="name">Integer</field>
  175. <field name="dashboard_id" ref="demo_dashboard"/>
  176. <field name="kpi_id" ref="widget_integer"/>
  177. <field name="column">4</field>
  178. <field name="row">11</field>
  179. <field name="size_y">3</field>
  180. <field name="color">#ffffff</field>
  181. <field name="font_color">#4B0082</field>
  182. </record>
  183. <record id="dashboard_widget_graph" model="kpi.dashboard.item">
  184. <field name="name">Graph</field>
  185. <field name="dashboard_id" ref="demo_dashboard"/>
  186. <field name="kpi_id" ref="widget_graph"/>
  187. <field name="column">3</field>
  188. <field name="row">2</field>
  189. <field name="size_x">2</field>
  190. <field name="size_y">8</field>
  191. <field name="color">#ff9618</field>
  192. <field name="font_color">#ffffff</field>
  193. </record>
  194. </odoo>