[ADD] move data from custom objects to standard
This commit is contained in:
parent
ddf24b3ab6
commit
b6f6e9d3a3
|
@ -553,6 +553,30 @@ keep only the datetime and location:
|
|||
|
||||
.. patch::
|
||||
|
||||
Moving lectures and TAs
|
||||
~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
There are already demonstration data in events and event types, so we'll want
|
||||
to delete them before inserting our own. The gist of the operation is fairly
|
||||
simple, but there are lots of changes:
|
||||
|
||||
* The custom models can be removed as we'll be using standard objects
|
||||
* The controller has to be altered to fetch from standard objects
|
||||
(``event.event`` and ``res.users``), we'll use groups to discriminate
|
||||
between our academy objects and other demo objects, so that has to be used
|
||||
as well
|
||||
* HTML templates have to be slightly edited to match the new objects
|
||||
(our lecture's ``date`` field is replaced by ``event.event``'s
|
||||
``date_begin``)
|
||||
* Missing parts of the standard events have to be added (``res.partner``,
|
||||
which is where "personal" informations are stored for ``res.users``, does
|
||||
not have a biographical field. We have to add it)
|
||||
* Finally demo files must be converted, and existing demo data should be
|
||||
purged if we do not need it (e.g. existing non-lectures events and event
|
||||
types can be removed before adding our own)
|
||||
|
||||
.. patch::
|
||||
|
||||
.. [#taprofile] the teaching assistants profile view ends up broken for now,
|
||||
but don't worry we'll get around to it
|
||||
|
||||
|
|
|
@ -0,0 +1,300 @@
|
|||
# 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"/>
|
|
@ -21,3 +21,4 @@ events-menu-rename
|
|||
disable-events-filters
|
||||
events-remove-breadcrumbs
|
||||
simplify-lectures-list
|
||||
move-to-openerp-objects
|
||||
|
|
Loading…
Reference in New Issue