Skip to content

Instantly share code, notes, and snippets.

@qknight
Created February 18, 2015 22:05
Show Gist options
  • Save qknight/df2382e92a6ad471aa82 to your computer and use it in GitHub Desktop.
Save qknight/df2382e92a6ad471aa82 to your computer and use it in GitHub Desktop.
--------------------------------
controllers.py
--------------------------------
1 # -*- coding: utf-8 -*-
2 from openerp import http
3
4 class Academy(http.Controller):
5 @http.route('/academy/academy/', auth='public', website=True)
6 def index(self, **kw):
7 Teachers = http.request.env['academy.teachers']
8 return http.request.render('academy.index', {
9 'teachers': Teachers.search([])
10 })
11 @http.route('/academy/<model("academy.teachers"):teacher>/', auth='public', website=True)
12 def teacher(self, teacher):
13 return http.request.render('academy.biography', {
14 'person': teacher
15 })
--------------------------------
demo.xml
--------------------------------
1 <openerp>
2 <data>
3 <record id="padilla" model="academy.teachers">
4 <field name="name">Diana Padilla</field>
5 </record>
6 <record id="carroll" model="academy.teachers">
7 <field name="name">Jody Carroll</field>
8 </record>
9 <record id="joshi" model="academy.teachers">
10 <field name="name">joshi mario</field>
11 </record>
12 <record id="vaughn" model="academy.teachers">
13 <field name="name">Lester Vaughn</field>
14 </record>
15 </data>
16 </openerp>
--------------------------------
__init__.py
--------------------------------
1 # -*- coding: utf-8 -*-
2 import controllers
3 import models
4 #from openerp import http
5 #
6 #class Academy(http.Controller):
7 # @http.route('/academy/academy/', auth='public')
8 # def index(self, **kw):
9 # return "Hello, world"
10 #
--------------------------------
models.py
--------------------------------
1 # -*- coding: utf-8 -*-
2
3 from openerp import models, fields, api
4 class Teachers(models.Model):
5 _name = 'academy.teachers'
6
7 name = fields.Char()
8 biography = fields.Html()
9
10
11 # class academy(models.Model):
12 # _name = 'academy.academy'
13
14 # name = fields.Char()
--------------------------------
__openerp__.py
--------------------------------
1 # -*- coding: utf-8 -*-
2 {
3 'name': "academy",
4
5 'summary': """
6 Short (1 phrase/line) summary of the module's purpose, used as
7 subtitle on modules listing or apps.openerp.com""",
8
9 'description': """
10 Long description of module's purpose
11 """,
12
13 'author': "Your Company",
14 'website': "http://www.yourcompany.com",
15
16 # Categories can be used to filter modules in modules listing
17 # Check https://github.com/odoo/odoo/blob/master/openerp/addons/base/module/module_data.xml
18 # for the full list
19 'category': 'Uncategorized',
20 'version': '0.1',
21
22 # any module necessary for this one to work correctly
23 'depends': ['base', 'website'],
24
25 # always loaded
26 'data': [
27 'security/ir.model.access.csv',
28 'templates.xml',
29 ],
30 # only loaded in demonstration mode
31 'demo': [
32 'demo.xml',
33 ],
34 }
--------------------------------
templates.xml
--------------------------------
1 <openerp>
2 <data>
3 <template id="index">
4 <t t-call="website.layout"/>
5 <t t-set="title">Academy-list</t>
6 <div class="oe_structure">
7 <div class="container">
8 <t t-foreach="teachers" t-as="teacher">
9 <p><a t-attf-href="/academy/{{ slug(teacher) }}">
10 <t t-esc="teacher.name"/></a>
11 </p>
12 </t>
13 </div>
14 </div>
15 </template>
16 <template id="biography">
17 <t t-call="website.layout">
18 <t t-set="title">Academy-detail</t>
19 <div class="oe_structure"/>
20 <div class="oe_structure">
21 <div class="container">
22 <h3 t-field="person.name"/>
23 <p>Last modified: <i t-field="person.write_date"/></p>
24 <p>foobar</p>
25 <div t-field="person.biography"/>
26 </div>
27 </div>
28 <div class="oe_structure"/>
29 </t>
30 </template>
31 </data>
32 </openerp>
--------------------------------
security/ir.model.access.csv
--------------------------------
1 id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
2 access_academy_teachers,access_academy_teachers,model_academy_teachers,,1,0,0,0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment