event_sale_report_views.xml 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <odoo>
  3. <record id="event_sale_report_view_graph" model="ir.ui.view">
  4. <field name="name">event.sale.report.view.graph</field>
  5. <field name="model">event.sale.report</field>
  6. <field name="arch" type="xml">
  7. <graph string="Revenues" sample="1" type="line">
  8. <field name="sale_price" type="measure"/>
  9. <field name="event_registration_create_date" interval="day"/>
  10. <field name="event_ticket_price" type="measure" invisible="True"/>
  11. </graph>
  12. </field>
  13. </record>
  14. <record id="event_sale_report_view_form" model="ir.ui.view">
  15. <field name="name">event.sale.report.view.form</field>
  16. <field name="model">event.sale.report</field>
  17. <field name="arch" type="xml">
  18. <form string="Registration revenues" edit="false" create="false">
  19. <sheet>
  20. <group col="2">
  21. <group string="Event">
  22. <field name="event_type_id"/>
  23. <field name="event_id"/>
  24. <field name="event_date_begin"/>
  25. </group>
  26. <group string="Registration">
  27. <field name="event_registration_id"/>
  28. <field name="event_registration_name"/>
  29. <field name="event_registration_create_date"/>
  30. <field name="event_ticket_id"/>
  31. <field name="event_registration_state"/>
  32. </group>
  33. </group>
  34. <group col="2">
  35. <group string="Sale Order">
  36. <field name="sale_order_partner_id"/>
  37. <field name="sale_order_id"/>
  38. <field name="product_id"/>
  39. </group>
  40. <group string="Revenues">
  41. <field name="event_ticket_price"/>
  42. <field name="sale_price_untaxed"/>
  43. <field name="sale_price"/>
  44. </group>
  45. </group>
  46. </sheet>
  47. </form>
  48. </field>
  49. </record>
  50. <record id="event_sale_report_view_pivot" model="ir.ui.view">
  51. <field name="name">event.sale.report.view.pivot</field>
  52. <field name="model">event.sale.report</field>
  53. <field name="arch" type="xml">
  54. <pivot string="Revenues" sample="1">
  55. <field name="sale_price_untaxed" type="measure"/>
  56. <field name="sale_price" type="measure"/>
  57. <field name="event_id" type="row"/>
  58. <field name="product_id" type="row"/>
  59. <field name="event_ticket_price" invisible="True"/>
  60. </pivot>
  61. </field>
  62. </record>
  63. <record id="event_sale_report_view_tree" model="ir.ui.view">
  64. <field name="name">event.sale.report.view.tree</field>
  65. <field name="model">event.sale.report</field>
  66. <field name="arch" type="xml">
  67. <tree string="Revenues" edit="false" create="false">
  68. <field name="event_id"/>
  69. <field name="event_ticket_id"/>
  70. <field name="product_id" optional="hide"/>
  71. <field name="event_ticket_price"/>
  72. <field name="sale_price_untaxed" optional="hide"/>
  73. <field name="sale_price" optional="hide"/>
  74. <field name="event_registration_state" optional="hide"/>
  75. <field name="sale_order_partner_id"/>
  76. <field name="invoice_partner_id" optional="hide"/>
  77. <field name="event_registration_name" optional="hide"/>
  78. <field name="sale_order_state" widget="badge"
  79. decoration-success="sale_order_state == 'sale' or sale_order_state == 'done'"
  80. decoration-info="sale_order_state == 'draft' or sale_order_state == 'sent'"/>
  81. </tree>
  82. </field>
  83. </record>
  84. <record id="event_sale_report_view_search" model="ir.ui.view">
  85. <field name="name">event.sale.report.view.search</field>
  86. <field name="model">event.sale.report</field>
  87. <field name="arch" type="xml">
  88. <search string="Event Sales Analysis">
  89. <field name="event_id"/>
  90. <field name="event_registration_name" string="Participant"/>
  91. <field name="sale_order_partner_id" string="Booked by"/>
  92. <field name="company_id"/>
  93. <filter string="Non-free tickets" name="priced_tickets" domain="[('event_ticket_price', '!=', 0)]"/>
  94. <separator/>
  95. <filter string="Free" name="free" domain="[('payment_status', '=', 'free')]"/>
  96. <filter string="Pending payment" name="payment_pending" domain="[('payment_status', '=', 'to_pay')]"/>
  97. <filter string="Paid" name="is_paid" domain="[('payment_status', '=', 'paid')]"/>
  98. <separator/>
  99. <filter string="Registration Date" name="event_registration_create_date" date="event_registration_create_date" default_period="this_year"/>
  100. <separator/>
  101. <filter string="Upcoming/Running" name="upcoming" help="Upcoming events from today"
  102. domain="[('event_date_end', '&gt;=', datetime.datetime.combine(context_today(), datetime.time(0,0,0)))]"/>
  103. <filter string="Past Events" name="past" help="Events that have ended"
  104. domain="[('event_date_end', '&lt;', datetime.datetime.combine(context_today(), datetime.time(0,0,0)))]"/>
  105. <filter string="Event Start Date" name="event_date_start" date="event_date_begin" default_period="this_year"/>
  106. <filter string="Event End Date" name="event_date_end" date="event_date_end"/>
  107. <group expand="0" string="Group By">
  108. <filter string="Event Type" name="group_by_event_type_id" context="{'group_by': 'event_type_id' }"/>
  109. <filter string="Event" name="group_by_event_id" context="{'group_by': 'event_id' }"/>
  110. <separator/>
  111. <filter string="Product" name="group_by_product_id" context="{'group_by': 'product_id'}"/>
  112. <filter string="Ticket" name="group_by_ticket_id" context="{'group_by': 'event_ticket_id'}"/>
  113. <separator/>
  114. <filter string="Registration Status" name="group_by_registration_state"
  115. context="{'group_by': 'event_registration_state'}"/>
  116. <filter string="Sale Order Status" name="group_by_sale_order_state"
  117. context="{'group_by': 'sale_order_state'}"/>
  118. <filter string="Customer" name="group_by_customer" context="{'group_by': 'sale_order_partner_id'}"/>
  119. </group>
  120. </search>
  121. </field>
  122. </record>
  123. <record id="event_sale_report_action" model="ir.actions.act_window">
  124. <field name="name">Revenues</field>
  125. <field name="res_model">event.sale.report</field>
  126. <field name="view_mode">graph,pivot</field>
  127. <field name="context">{
  128. 'search_default_priced_tickets': 1,
  129. 'search_default_event_date_start': 1,
  130. 'pivot_measures': ['__count__', 'sale_price_untaxed', 'sale_price'],
  131. }</field>
  132. <field name="help" type="html">
  133. <p class="o_view_nocontent_smiling_face">
  134. No Event Revenues yet!
  135. </p><p>
  136. Come back once tickets have been sold to overview your sales income.
  137. </p>
  138. </field>
  139. </record>
  140. <menuitem name="Revenues"
  141. id="menu_action_show_revenues"
  142. action="event_sale_report_action"
  143. sequence="5"
  144. parent="event.menu_reporting_events"
  145. groups="event.group_event_user"/>
  146. </odoo>