odoo/doc/howto/howto_website/move-to-openerp-objects

301 lines
11 KiB
Plaintext

# HG changeset patch
# Parent ade038cd6dfd855f1d423cffb3d4e242404c28f0
diff --git a/__init__.py b/__init__.py
--- a/__init__.py
+++ b/__init__.py
@@ -1,4 +1,3 @@
# -*- coding: utf-8 -*-
import controllers
import models
-
diff --git a/__openerp__.py b/__openerp__.py
--- a/__openerp__.py
+++ b/__openerp__.py
@@ -17,10 +17,8 @@
# any module necessary for this one to work correctly
'depends': ['website', 'website_event'],
'data': [
- 'security/ir.model.access.csv',
'views/templates.xml',
'data/records.xml',
- 'data/views.xml',
],
'demo': [
'demo/teaching_assistants.xml',
diff --git a/controllers/academy.py b/controllers/academy.py
--- a/controllers/academy.py
+++ b/controllers/academy.py
@@ -6,18 +6,29 @@ from openerp.addons.web.controllers impo
class academy(main.Home):
@http.route('/', auth='public', website=True)
def index(self):
+ registry = http.request.registry
cr, uid, context = http.request.cr, http.request.uid, http.request.context
- Lectures = http.request.registry['academy.lectures']
- tas = http.request.registry['academy.tas'].search_read(
- http.request.cr, http.request.uid, context=http.request.context)
+
+ Data = registry['ir.model.data']
+ _, ta_group_id = Data.get_object_reference(cr, uid, 'academy', 'tas')
+ tas = registry['res.users'].search_read(
+ http.request.cr, http.request.uid,
+ [('groups_id', '=', [ta_group_id])],
+ context=http.request.context)
+
+ Lectures = registry['event.event']
+ _, lecture_type_id = Data.get_object_reference(cr, uid, 'academy', 'lecture_type')
lectures = Lectures.browse(
- cr, uid, Lectures.search(cr, uid, [], context=context), context=context)
+ cr, uid,
+ Lectures.search(cr, uid, [('type', '=', lecture_type_id),], context=context),
+ context=context)
+
return http.request.website.render('academy.index', {
'tas': tas,
'lectures': lectures,
})
- @http.route('/tas/<model("academy.tas"):ta>/', auth='public', website=True)
+ @http.route('/tas/<model("res.users"):ta>/', auth='public', website=True)
def ta(self, ta):
return http.request.website.render('academy.ta', {
'ta': ta,
diff --git a/data/views.xml b/data/views.xml
deleted file mode 100644
--- a/data/views.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<openerp>
- <data>
- <record id="list_academy_lecture" model="ir.ui.view">
- <field name="model">academy.lectures</field>
- <field name="arch" type="xml">
- <tree string="Lectures">
- <field name="name"/>
- <field name="date"/>
- </tree>
- </field>
- </record>
-
- <record id="action_academy_lecture" model="ir.actions.act_window">
- <field name="name">Academy lectures</field>
- <field name="res_model">academy.lectures</field>
- </record>
-
- <menuitem sequence="0" id="menu_academy" name="Academy"/>
- <menuitem id="menu_academy_content" parent="menu_academy"
- name="Academy Content"/>
- <menuitem id="menu_academy_content_lectures"
- parent="menu_academy_content"
- action="action_academy_lecture"/>
- </data>
-</openerp>
diff --git a/demo/lectures.xml b/demo/lectures.xml
--- a/demo/lectures.xml
+++ b/demo/lectures.xml
@@ -1,24 +1,47 @@
<openerp>
<data>
- <record model="academy.lectures" id="lecture1">
+ <delete model="event.registration" search="[]"/>
+ <delete model="event.event" search="[]"/>
+ <delete model="event.type" search="[]"/>
+
+ <record model="event.type" id="lecture_type">
+ <field name="name">Lecture</field>
+ </record>
+
+ <record model="event.event" id="lecture1">
<field name="name">Lecture 1</field>
- <field name="date">2014-01-06</field>
+ <field name="date_begin">2015-01-06 10:00:00</field>
+ <field name="date_end">2015-01-06 12:00:00</field>
+ <field name="type" ref="lecture_type"/>
+ <field name="website_published" eval="True"/>
</record>
- <record model="academy.lectures" id="lecture2">
+ <record model="event.event" id="lecture2">
<field name="name">Lecture 2</field>
- <field name="date">2014-01-08</field>
+ <field name="date_begin">2015-01-08 10:00:00</field>
+ <field name="date_end">2015-01-08 12:00:00</field>
+ <field name="type" ref="lecture_type"/>
+ <field name="website_published" eval="True"/>
</record>
- <record model="academy.lectures" id="lecture3">
+ <record model="event.event" id="lecture3">
<field name="name">Lecture 3</field>
- <field name="date">2014-01-10</field>
+ <field name="date_begin">2015-01-10 10:00:00</field>
+ <field name="date_end">2015-01-10 12:00:00</field>
+ <field name="type" ref="lecture_type"/>
+ <field name="website_published" eval="True"/>
</record>
- <record model="academy.lectures" id="lecture4">
+ <record model="event.event" id="lecture4">
<field name="name">Lecture 4</field>
- <field name="date">2014-01-13</field>
+ <field name="date_begin">2015-01-13 10:00:00</field>
+ <field name="date_end">2015-01-13 12:00:00</field>
+ <field name="type" ref="lecture_type"/>
+ <field name="website_published" eval="True"/>
</record>
- <record model="academy.lectures" id="lecture5">
+ <record model="event.event" id="lecture5">
<field name="name">Lecture 5</field>
- <field name="date">2014-01-15</field>
+ <field name="date_begin">2015-01-15 10:00:00</field>
+ <field name="date_end">2015-01-15 12:00:00</field>
+ <field name="type" ref="lecture_type"/>
+ <field name="website_published" eval="True"/>
</record>
</data>
</openerp>
diff --git a/demo/teaching_assistants.xml b/demo/teaching_assistants.xml
--- a/demo/teaching_assistants.xml
+++ b/demo/teaching_assistants.xml
@@ -1,19 +1,54 @@
<openerp>
<data>
- <record id="padilla" model="academy.tas">
+ <record id="padilla_p" model="res.partner">
<field name="name">Diana Padilla</field>
</record>
- <record id="carroll" model="academy.tas">
+ <record id="padilla" model="res.users">
+ <field name="login">padilla</field>
+ <field name="partner_id" ref="padilla_p"/>
+ </record>
+
+ <record id="carroll_p" model="res.partner">
<field name="name">Jody Carroll</field>
</record>
- <record id="vaughn" model="academy.tas">
+ <record id="carroll" model="res.users">
+ <field name="login">carroll</field>
+ <field name="partner_id" ref="carroll_p"/>
+ </record>
+
+ <record id="vaughn_p" model="res.partner">
<field name="name">Lester Vaughn</field>
</record>
- <record id="jimenez" model="academy.tas">
+ <record id="vaughn" model="res.users">
+ <field name="login">vaughn</field>
+ <field name="partner_id" ref="vaughn_p"/>
+ </record>
+
+ <record id="jimenez_p" model="res.partner">
<field name="name">Paul Jimenez</field>
</record>
- <record id="harris" model="academy.tas">
+ <record id="jimenez" model="res.users">
+ <field name="login">jimenez</field>
+ <field name="partner_id" ref="jimenez_p"/>
+ </record>
+
+ <record id="harris_p" model="res.partner">
<field name="name">Tanya Harris</field>
</record>
+ <record id="harris" model="res.users">
+ <field name="login">harris</field>
+ <field name="partner_id" ref="harris_p"/>
+ </record>
+
+ <record id="tas" model="res.groups">
+ <field name="name">Teaching Assistants</field>
+ <field name="users" eval="[
+ (4, ref('padilla')),
+ (4, ref('carroll')),
+ (4, ref('vaughn')),
+ (4, ref('jimenez')),
+ (4, ref('harris')),
+ ]"/>
+ </record>
</data>
</openerp>
diff --git a/models/__init__.py b/models/__init__.py
--- a/models/__init__.py
+++ b/models/__init__.py
@@ -1,3 +1,3 @@
# -*- coding: utf-8 -*-
-import academy
+import res_partner
diff --git a/models/academy.py b/models/academy.py
deleted file mode 100644
--- a/models/academy.py
+++ /dev/null
@@ -1,19 +0,0 @@
-# -*- coding: utf-8 -*-
-from openerp.osv import orm, fields
-
-class TeachingAssistants(orm.Model):
- _name = "academy.tas"
-
- _columns = {
- 'name': fields.char(),
- 'biography': fields.html(),
- }
-
-class Lectures(orm.Model):
- _name = 'academy.lectures'
- _order = 'date ASC'
-
- _columns = {
- 'name': fields.char(required=True, string="Name"),
- 'date': fields.date(required=True, string="Date"),
- }
diff --git a/models/res_partner.py b/models/res_partner.py
new file mode 100644
--- /dev/null
+++ b/models/res_partner.py
@@ -0,0 +1,8 @@
+from openerp.osv import orm, fields
+
+class Partner(orm.Model):
+ _inherit = 'res.partner'
+
+ _columns = {
+ 'biography': fields.html(),
+ }
diff --git a/security/ir.model.access.csv b/security/ir.model.access.csv
deleted file mode 100644
--- a/security/ir.model.access.csv
+++ /dev/null
@@ -1,3 +0,0 @@
-id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
-access_academy_tas,access_academy_tas,model_academy_tas,,1,0,0,0
-access_academy_lectures,access_academy_lectures,model_academy_lectures,,1,0,0,0
\ No newline at end of file
diff --git a/views/templates.xml b/views/templates.xml
--- a/views/templates.xml
+++ b/views/templates.xml
@@ -31,11 +31,11 @@
</tr>
<tr t-foreach="lectures" t-as="lecture">
<td>
- <span t-field="lecture.date"
+ <span t-field="lecture.date_begin"
t-field-options='{"format": "long"}'/>
</td>
<td>
- <span t-field="lecture.date"
+ <span t-field="lecture.date_begin"
t-field-options='{"format": "EEE"}'/>
</td>
<td>
@@ -56,9 +56,9 @@
<div class="oe_structure"/>
<div class="oe_structure">
<div class="container">
- <h1 t-field="ta.name"/>
+ <h1 t-field="ta.partner_id.name"/>
<h2>Biography</h2>
- <div t-field="ta.biography"/>
+ <div t-field="ta.partner_id.biography"/>
</div>
</div>
<div class="oe_structure"/>