[IMP] Improve the search view of event registration analysis
bzr revid: ara@tinyerp.com-20101013094428-gqr6pzajpg85xnwq
This commit is contained in:
parent
0ea617db0e
commit
fa4ceb7b4c
|
@ -34,7 +34,7 @@ class report_event_registration(osv.osv):
|
|||
'month': fields.selection([('01','January'), ('02','February'), ('03','March'), ('04','April'),
|
||||
('05','May'), ('06','June'), ('07','July'), ('08','August'), ('09','September'),
|
||||
('10','October'), ('11','November'), ('12','December')], 'Month',readonly=True),
|
||||
'day': fields.char('Day', size=128, readonly=True),
|
||||
'day': fields.char('Date', size=128, readonly=True),
|
||||
'event_id': fields.many2one('event.event', 'Event Related', required=True),
|
||||
'draft_state': fields.integer(' # No of draft Registration.', size=20),
|
||||
'confirm_state': fields.integer(' # No of Confirm Registration', size=20),
|
||||
|
@ -44,6 +44,11 @@ class report_event_registration(osv.osv):
|
|||
'state': fields.selection([('draft', 'Draft'), ('confirm', 'Confirmed'), ('done', 'Done'), ('cancel', 'Cancelled')], 'State', readonly=True, required=True),
|
||||
'user_id': fields.many2one('res.users', 'Responsible', readonly=True),
|
||||
'speaker_id': fields.many2one('res.partner', 'Speaker', readonly=True),
|
||||
'company_id': fields.many2one('res.company', 'Company', readonly=True),
|
||||
'product_id': fields.many2one('product.product', 'Product', readonly=True),
|
||||
"invoice_id": fields.many2one("account.invoice", "Invoice", readonly=True),
|
||||
'total': fields.float('Total'),
|
||||
'section_id': fields.related('event_id', 'section_id', type='many2one', relation='crm.case.section', string='Sale Team', store=True, readonly=True),
|
||||
}
|
||||
_order = 'date desc'
|
||||
def init(self, cr):
|
||||
|
@ -59,6 +64,9 @@ class report_event_registration(osv.osv):
|
|||
c.event_id AS event_id,
|
||||
e.date_begin AS date,
|
||||
e.user_id AS user_id,
|
||||
e.section_id AS section_id,
|
||||
e.company_id AS company_id,
|
||||
e.product_id AS product_id,
|
||||
e.main_speaker_id AS speaker_id,
|
||||
to_char(e.date_begin, 'YYYY') AS year,
|
||||
to_char(e.date_begin, 'MM') AS month,
|
||||
|
@ -67,6 +75,8 @@ class report_event_registration(osv.osv):
|
|||
t.id AS type,
|
||||
(SELECT SUM(c.nb_register) FROM event_registration c WHERE c.event_id=e.id AND t.id=e.type AND state IN ('draft')) AS draft_state,
|
||||
(SELECT SUM(c.nb_register) FROM event_registration c WHERE c.event_id=e.id AND t.id=e.type AND state IN ('open')) AS confirm_state,
|
||||
(SELECT SUM(c.invoice_id) FROM event_registration c WHERE c.event_id=e.id AND t.id=e.type) AS invoice_id,
|
||||
(SELECT SUM(c.unit_price * c.nb_register) FROM event_registration c WHERE c.event_id=e.id AND t.id=e.type) AS total,
|
||||
e.register_max AS register_max,
|
||||
e.state AS state
|
||||
FROM
|
||||
|
@ -79,7 +89,7 @@ class report_event_registration(osv.osv):
|
|||
to_char(e.date_begin, 'YYYY'),
|
||||
to_char(e.date_begin, 'MM'),
|
||||
t.id, e.id, e.date_begin, e.main_speaker_id,
|
||||
e.register_max, e.type, e.state, c.event_id, e.user_id,
|
||||
e.register_max, e.type, e.state, c.event_id, e.user_id,e.company_id,e.product_id,e.section_id,
|
||||
to_char(e.date_begin, 'YYYY-MM-DD')
|
||||
)""")
|
||||
|
||||
|
|
|
@ -18,9 +18,14 @@
|
|||
<field name="state" invisible="1"/>
|
||||
<field name="type" invisible="1"/>
|
||||
<field name="nbevent"/>
|
||||
<field name="draft_state"/>
|
||||
<field name="draft_state" invisible="context.get('no_of_draft_visible', False)"/>
|
||||
<field name="confirm_state"/>
|
||||
<field name="register_max"/>
|
||||
<field name="register_max" invisible="context.get('max_reg_event_visible', True)"/>
|
||||
<field name="company_id" invisible="1"/>
|
||||
<field name="product_id" invisible="1"/>
|
||||
<field name="invoice_id" invisible="1"/>
|
||||
<field name="section_id" invisible="1"/>
|
||||
<field name="total" invisible="context.get('total_visible', True)" sum="Total"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
@ -42,13 +47,13 @@
|
|||
<!-- Event on Registration search view -->
|
||||
|
||||
<record model="ir.ui.view" id="view_report_event_registration_search">
|
||||
<field name="name">.search</field>
|
||||
<field name="name">report.event.registration.search</field>
|
||||
<field name="model">report.event.registration</field>
|
||||
<field name="type">search</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Event on Registration">
|
||||
<group col="8" colspan="4">
|
||||
<filter icon="terp-go-year" string="Last 365 Days"
|
||||
<filter icon="terp-go-year" string="Last 365 Days" name="365day"
|
||||
domain="[('date','<=', time.strftime('%%Y-%%m-%%d')),('date','>',(datetime.date.today()-datetime.timedelta(days=365)).strftime('%%Y-%%m-%%d'))]"
|
||||
help="Tasks performed in last 365 days"/>
|
||||
<filter icon="terp-go-month" string="Last 30 Days"
|
||||
|
@ -60,52 +65,63 @@
|
|||
separator="1"
|
||||
domain="[('date','<=', time.strftime('%%Y-%%m-%%d')), ('date','>',(datetime.date.today()-datetime.timedelta(days=7)).strftime('%%Y-%%m-%%d'))]"
|
||||
help="Tasks during last 7 days"/>
|
||||
|
||||
<separator orientation="vertical"/>
|
||||
<filter icon="terp-document-new"
|
||||
string="Draft"
|
||||
domain="[('state','=','draft')]"/>
|
||||
<filter icon="terp-camera_test"
|
||||
string="Confirm"
|
||||
domain="[('state', '=', 'confirm')]"/>
|
||||
<filter string="Invoiced"
|
||||
name="invoiced"
|
||||
icon="terp-dolar"
|
||||
domain="[('invoice_id','!=','')]"
|
||||
help = "Invoices" context="{'total_visible':0}"/>
|
||||
<filter icon="terp-check"
|
||||
string="Current Event" name="draft"
|
||||
domain="[('state','in',('draft', 'confirm'))]" help="Events in draft or confirmed state"/>
|
||||
<filter icon="terp-camera_test"
|
||||
string="Confirmed Registrations"
|
||||
domain="[('state','=','confirm')]" context="{'no_of_draft_visible':1}" help="Events in confirmed state"/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="event_id" widget="selection"/>
|
||||
<field name="type" widget="selection"/>
|
||||
<field name="user_id" widget="selection">
|
||||
<filter icon="terp-personal"
|
||||
string="My Events"
|
||||
help="My Events"
|
||||
domain="[('user_id','=',uid)]"/>
|
||||
</field>
|
||||
<field name="date"/>
|
||||
<field name="event_id" string="Event"/>
|
||||
<field name="user_id" widget="selection">
|
||||
<filter icon="terp-personal"
|
||||
string="My Events"
|
||||
help="My Events"
|
||||
domain="[('user_id','=',uid)]"/>
|
||||
</field>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="0" string="Group By..." colspan="4" col="12">
|
||||
<filter string="Event" name="event" icon="terp-crm" context="{'group_by':'event_id'}"/>
|
||||
|
||||
<group expand="1" string="Group By..." colspan="4" col="12">
|
||||
<filter string="Event" name="event" icon="terp-crm" context="{'group_by':'event_id', 'max_reg_event_visible':0}"/>
|
||||
<filter string="Sale Team" icon="terp-personal" context="{'group_by': 'section_id'}"/>
|
||||
<filter string="Product" icon="terp-product" context="{'group_by': 'product_id'}"/>
|
||||
<filter string="Company" icon="terp-go-home" domain="[]" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
|
||||
<filter string="Event Type" icon="terp-crm" context="{'group_by':'type'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="State" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/>
|
||||
<filter string="State" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}" help="Registration State"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Speaker" name="user" icon="terp-personal+" context="{'group_by': 'speaker_id'}"/>
|
||||
<separator orientation="vertical" />
|
||||
<filter string="Day" icon="terp-go-month"
|
||||
<filter string="Date" icon="terp-go-month"
|
||||
domain="[]" context="{'group_by':'day'}"/>
|
||||
<filter string="Month" icon="terp-go-month"
|
||||
domain="[]" context="{'group_by':'month'}"/>
|
||||
<filter string="Year" icon="terp-go-year"
|
||||
domain="[]" context="{'group_by':'year'}"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="0" string="Extended Filters..." groups="base.group_extended">
|
||||
<field name="type" widget="selection"/>
|
||||
<field name="date"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.actions.act_window" id="action_report_event_registration">
|
||||
<field name="name">Events On Registrations</field>
|
||||
<field name="name">Registration Analysis</field>
|
||||
<field name="res_model">report.event.registration</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,graph</field>
|
||||
<field name="search_view_id" ref="view_report_event_registration_search"/>
|
||||
<field name="context">{"search_default_user":1,"search_default_month":1,'group_by_no_leaf':1,'group_by':[]}</field>
|
||||
<field name="context">{"search_default_invoiced":1, "search_default_event":1,"search_default_365day":1,'group_by_no_leaf':1,'group_by':[]}</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.actions.act_window.view" id="action_report_event_registration_tree">
|
||||
|
|
Loading…
Reference in New Issue