[IMP] Adding sponsorship to events
authorFabien Pinckaers <fp@tinyerp.com>
Thu, 28 Nov 2013 22:05:46 +0000 (23:05 +0100)
committerFabien Pinckaers <fp@tinyerp.com>
Thu, 28 Nov 2013 22:05:46 +0000 (23:05 +0100)
bzr revid: fp@tinyerp.com-20131128220546-3kr49k0cmv24qs49

addons/website_event_track/data/event_data.xml
addons/website_event_track/models/event.py
addons/website_event_track/views/event_backend.xml
addons/website_event_track/views/website_event.xml

index fe68151..3170da6 100644 (file)
@@ -2,6 +2,17 @@
 <openerp>
     <data noupdate="1">
 
+        <record id="event_sponsor_type1" model="event.sponsor.type">
+            <field name="name">Bronze</field>
+        </record>
+        <record id="event_sponsor_type2" model="event.sponsor.type">
+            <field name="name">Silver</field>
+        </record>
+        <record id="event_sponsor_type3" model="event.sponsor.type">
+            <field name="name">Gold</field>
+        </record>
+
+
         <record id="event_track_stage1" model="event.track.stage">
             <field name="name">Proposals</field>
         </record>
index 1d2903e..2e7b243 100644 (file)
@@ -102,7 +102,6 @@ class event_track(osv.osv):
 #
 # Events
 #
-
 class event_event(osv.osv):
     _inherit = "event.event"
 
@@ -116,6 +115,7 @@ class event_event(osv.osv):
     _columns = {
         'tag_ids': fields.many2many('event.tag', string='Tags'),
         'track_ids': fields.one2many('event.track', 'event_id', 'Tracks'),
+        'sponsor_ids': fields.one2many('event.sponsor', 'event_id', 'Sponsorships'),
         'blog_id': fields.many2one('blog.category', 'Event Blog'),
         'show_track_proposal': fields.boolean('Talks Proposals'),
         'show_tracks': fields.boolean('Multiple Tracks'),
@@ -137,4 +137,28 @@ class event_event(osv.osv):
             result.append( (_('News'), '/blog/cat/'+str(event.blog_ig.id)))
         if event.show_track_proposal:
             result.append( (_('Talk Proposals'), '/event/%s/track_proposal/' % event.id))
-        return result
\ No newline at end of file
+        return result
+
+#
+# Sponsors
+# 
+
+class event_sponsors_type(osv.osv):
+    _name = "event.sponsor.type"
+    _order = "sequence"
+    _columns = {
+        "name": fields.char('Sponsor Type', required=True),
+        "sequence": fields.integer('Sequence')
+    }
+
+class event_sponsors_type(osv.osv):
+    _name = "event.sponsor"
+    _order = "sequence"
+    _columns = {
+        'event_id': fields.many2one('event.event', 'Event', required=True),
+        'sponsor_type_id': fields.many2one('event.sponsor.type', 'Sponsoring Type', required=True),
+        'partner_id': fields.many2one('res.partner', 'Sponsor/Customer', required=True),
+        'sequence': fields.related('sponsor_type_id', 'sequence', string='Sequence', store=True),
+    }
+
+
index a3ef121..ff9af7a 100644 (file)
             action="action_event_track_stage" parent="event.event_configuration"
             groups="base.group_no_one"/>
 
+        <!-- EVENTS/CONFIGURATION/EVENT Sponsor Types -->
+        <record model="ir.ui.view" id="view_event_sponsor_type_form">
+            <field name="name">Sponsor Types</field>
+            <field name="model">event.sponsor.type</field>
+            <field name="arch" type="xml">
+                <form string="Event Sponsor Types" version="7.0">
+                    <field name="sequence" widget="handle"/>
+                    <field name="name"/>
+                </form>
+            </field>
+        </record>
+        <record model="ir.ui.view" id="view_event_sponsor_type_tree">
+            <field name="name">Sponsor Types</field>
+            <field name="model">event.sponsor.type</field>
+            <field name="arch" type="xml">
+                <tree string="Event Sponsor Type">
+                    <field name="sequence"/>
+                    <field name="name"/>
+                </tree>
+            </field>
+        </record>
+        <record model="ir.actions.act_window" id="action_event_sponsor_type">
+            <field name="name">Sponsor Types</field>
+            <field name="res_model">event.sponsor.type</field>
+        </record>
+        <menuitem id="menu_event_sponsor_type" action="action_event_sponsor_type" parent="event.event_configuration" groups="base.group_no_one"/>
+
         <!-- EVENTS/CONFIGURATION/EVENT Tags -->
         <record model="ir.ui.view" id="view_event_track_tag_form">
             <field name="name">Track Tags</field>
             <field name="name">Track Tags</field>
             <field name="res_model">event.track.tag</field>
         </record>
-        <menuitem name="Tracks Tags" id="menu_event_track_tag" action="action_event_track_tag" parent="event.event_configuration" groups="base.group_no_one"/>
+        <menuitem id="menu_event_track_tag" action="action_event_track_tag" parent="event.event_configuration" groups="base.group_no_one"/>
 
 
         <!-- EVENTS/CONFIGURATION/EVENT Tags -->
                     <page string="Tracks">
                         <field name="track_ids" context="{'default_event_id': active_id}"/>
                     </page>
+                    <page string="Sponsorships">
+                        <field name="sponsor_ids" context="{'default_event_id': active_id}">
+                            <tree editable="bottom">
+                                <field name="partner_id"/>
+                                <field name="sponsor_type_id"/>
+                            </tree>
+                            <form string="Sponsoring">
+                                <field name="partner_id"/>
+                                <field name="sponsor_type_id"/>
+                            </form>
+                        </field>
+                    </page>
                 </xpath>
                 <xpath expr="//div[@class='oe_right oe_button_box']" position="inside">
                     <button name="%(website_event_track.act_event_list_tracks)d" type="action" string="Tracks"/>
index 82d2556..703c957 100644 (file)
         </t>
     </template>
 
+    <template name="Sponsors" id="event_sponsor" inherit_option_id="website_event.layout" inherit_id="website_event.layout">
+        <xpath expr="//div[@id='wrap']" position="inside">
+            <div class="container mt32 mb16" t-if="event.sponsor_ids">
+                <section data-snippet-id="title">
+                    <h2 class="text-center">Our Sponsors</h2>
+                </section>
+                <div class="row">
+                    <div class="col-md-3 text-center" t-foreach="event.sponsor_ids" t-as="sponsor">
+                        <span t-field="sponsor.partner_id.image_small" style="max-height: 500px" t-field-options='{"widget": "image", "class": "img img-responsive"}'/>
+                        <span t-field="sponsor.sponsor_type_id"/>
+                    </div>
+                </div>
+            </div>
+        </xpath>
+    </template>
+
     <template id="tracks">
         <t t-call="website_event.event_details">
             <div class="col-md-3 css_noprint">