[IMP] doc: update website to scaffold
This commit is contained in:
parent
d17f22cde7
commit
205143cc32
|
@ -19,29 +19,19 @@ Modules customize the behavior of an Odoo installation, either by adding new
|
|||
behaviors or by altering existing ones (including behaviors added by other
|
||||
modules).
|
||||
|
||||
First let's create a *module directory* which will contain a single module in
|
||||
our case but may store multiple related (a project's) or not really related
|
||||
(a company's) modules:
|
||||
:ref:`Odoo's scaffolding <reference/cmdline/scaffold>` can setup a basic
|
||||
module to quickly get started, simply invoke:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ mkdir my-modules
|
||||
$ ./odoo.py scaffold Academy my-modules
|
||||
|
||||
then let's create the module's own directory:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ mkdir my-modules/academy
|
||||
|
||||
An Odoo module is a valid `Python package
|
||||
<http://docs.python.org/2/tutorial/modules.html#packages>`_ so it needs an
|
||||
empty ``__init__.py`` file.
|
||||
|
||||
Finally the mark of an Odoo module is the
|
||||
:ref:`manifest file <reference/module/manifest>`, a Python dictionary describing
|
||||
various module metadata.
|
||||
This will automatically create a ``my-modules`` *module directory* with an
|
||||
``academy`` module inside. The directory can be an existing module directory
|
||||
if you want, but the module name must be unique for the directory.
|
||||
|
||||
.. patch::
|
||||
:hidden:
|
||||
|
||||
A demonstration module
|
||||
======================
|
||||
|
@ -52,30 +42,25 @@ Although it does absolutely nothing yet we can install it:
|
|||
|
||||
* start the Odoo server
|
||||
|
||||
.. code-block:: console
|
||||
.. code-block:: console
|
||||
|
||||
$ ./odoo.py --addons-path addons,my-modules
|
||||
$ ./odoo.py --addons-path addons,my-modules
|
||||
|
||||
* go to http://localhost:8069
|
||||
* create a new database including demonstration data
|
||||
* to go :menuselection:`Settings --> Modules --> Installed Modules`
|
||||
* to go :menuselection:`Settings --> Modules --> Local Modules`
|
||||
* in the top-right corner remove the *Installed* filter and search for
|
||||
*academy*
|
||||
* click the :guilabel:`Install` button for the *Academy* module
|
||||
|
||||
.. seealso::
|
||||
|
||||
* In a production development setting, modules should generally be created
|
||||
using :ref:`Odoo's scaffolding <reference/cmdline/scaffold>` rather than by
|
||||
hand
|
||||
|
||||
To the browser
|
||||
==============
|
||||
|
||||
:ref:`Controllers <reference/http/controllers>` interpret browser requests and
|
||||
send data back.
|
||||
|
||||
Add a simple controller and import it (so Odoo can find it):
|
||||
Add a simple controller and ensure it is imported by ``__init__.py`` (so
|
||||
Odoo can find it):
|
||||
|
||||
.. patch::
|
||||
|
||||
|
@ -85,8 +70,8 @@ Shut down your server (:kbd:`^C`) then restart it:
|
|||
|
||||
$ ./odoo.py --addons-path addons,my-modules
|
||||
|
||||
and open a page to http://localhost:8069/academy/, you should see your "page"
|
||||
appear:
|
||||
and open a page to http://localhost:8069/academy/academy/, you should see your
|
||||
"page" appear:
|
||||
|
||||
.. figure:: website/helloworld.png
|
||||
|
||||
|
@ -100,8 +85,8 @@ display logic. Odoo allows any Python templating system, but provides its
|
|||
own :ref:`QWeb <reference/qweb>` templating system which integrates with other
|
||||
Odoo features.
|
||||
|
||||
Let's create an XML file for our first template, register the template in the
|
||||
manifest and alter the controller to use our template:
|
||||
Create a template and ensure the template file is registered in the
|
||||
``__openerp__.py`` manifest, and alter the controller to use our template:
|
||||
|
||||
.. patch::
|
||||
|
||||
|
@ -109,7 +94,7 @@ The templates iterates (``t-foreach``) on all the teachers (passed through the
|
|||
*template context*), and prints each teacher in its own paragraph.
|
||||
|
||||
Finally restart Odoo and update the module's data (to install the template)
|
||||
by going to :menuselection:`Settings --> Modules --> Installed Modules -->
|
||||
by going to :menuselection:`Settings --> Modules --> Local Modules -->
|
||||
Academy` and clicking :guilabel:`Upgrade`.
|
||||
|
||||
.. tip::
|
||||
|
@ -121,7 +106,7 @@ Academy` and clicking :guilabel:`Upgrade`.
|
|||
|
||||
$ odoo.py --addons-path addons,my-modules -d academy -u academy
|
||||
|
||||
Going to http://localhost:8069/academy/ should now result in:
|
||||
Going to http://localhost:8069/academy/academy/ should now result in:
|
||||
|
||||
.. image:: website/basic-list.png
|
||||
|
||||
|
@ -137,7 +122,8 @@ thereof, so we're now going to move our data to the database.
|
|||
Defining the data model
|
||||
-----------------------
|
||||
|
||||
First define an Odoo model file and import it:
|
||||
Define a teacher model, and ensure it is imported from ``__init__.py`` so it
|
||||
is correctly loaded:
|
||||
|
||||
.. patch::
|
||||
|
||||
|
@ -165,7 +151,7 @@ Demonstration data
|
|||
|
||||
The second step is to add some demonstration data to the system so it's
|
||||
possible to test it easily. This is done by adding a ``demo``
|
||||
:ref:`data file <reference/data>` to the manifest:
|
||||
:ref:`data file <reference/data>`, which must be linked from the manifest:
|
||||
|
||||
.. patch::
|
||||
|
||||
|
@ -194,8 +180,8 @@ The last step is to alter model and template to use our demonstration data:
|
|||
|
||||
Restart the server and update the module (in order to update the manifest
|
||||
and templates and load the demo file) then navigate to
|
||||
http://localhost:8069/academy/. The page should look little different: names
|
||||
should simply be prefixed by a number (the database identifier for the
|
||||
http://localhost:8069/academy/academy/. The page should look little different:
|
||||
names should simply be prefixed by a number (the database identifier for the
|
||||
teacher).
|
||||
|
||||
Website support
|
||||
|
@ -216,9 +202,9 @@ integration and a few other services (e.g. default styling, theming) via the
|
|||
.. patch::
|
||||
|
||||
After restarting the server while updating the module (in order to update the
|
||||
manifest and template) access http://localhost:8069/academy/ should yield a
|
||||
nicer looking page with branding and a number of built-in page elements
|
||||
(top-level menu, footer, …)
|
||||
manifest and template) access http://localhost:8069/academy/academy/ should
|
||||
yield a nicer looking page with branding and a number of built-in page
|
||||
elements (top-level menu, footer, …)
|
||||
|
||||
.. image:: website/layout.png
|
||||
|
||||
|
@ -396,7 +382,7 @@ let's also add views so we can see and edit a course's teacher:
|
|||
|
||||
It should also be possible to create new courses directly from a teacher's
|
||||
page, or to see all the courses a teacher gives, so add
|
||||
:class:`the inverse relationship <openerp.fields.One2many` to the *teachers*
|
||||
:class:`the inverse relationship <openerp.fields.One2many>` to the *teachers*
|
||||
model:
|
||||
|
||||
.. patch::
|
||||
|
|
|
@ -1,19 +1,23 @@
|
|||
# HG changeset patch
|
||||
# Parent 91c0cc5b319e7bf240d359817b8bd044769a4f5c
|
||||
diff -r 91c0cc5b319e -r c77aa2c3341b academy/__openerp__.py
|
||||
--- a/academy/__openerp__.py Mon Aug 11 16:49:10 2014 +0200
|
||||
+++ b/academy/__openerp__.py Mon Aug 11 16:50:01 2014 +0200
|
||||
@@ -8,6 +8,7 @@
|
||||
'depends': ['base'],
|
||||
# data files which are always installed
|
||||
# Parent 0a9ec16d98785205f25868bc23485569a1444cf3
|
||||
|
||||
diff --git a/academy/__openerp__.py b/academy/__openerp__.py
|
||||
--- a/academy/__openerp__.py
|
||||
+++ b/academy/__openerp__.py
|
||||
@@ -24,7 +24,7 @@
|
||||
|
||||
# always loaded
|
||||
'data': [
|
||||
+ 'ir.model.access.csv',
|
||||
- # 'security/ir.model.access.csv',
|
||||
+ 'security/ir.model.access.csv',
|
||||
'templates.xml',
|
||||
],
|
||||
}
|
||||
diff -r 91c0cc5b319e -r c77aa2c3341b academy/ir.model.access.csv
|
||||
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
|
||||
+++ b/academy/ir.model.access.csv Mon Aug 11 16:50:01 2014 +0200
|
||||
@@ -0,0 +1,2 @@
|
||||
+id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
|
||||
# only loaded in demonstration mode
|
||||
diff --git a/academy/security/ir.model.access.csv b/academy/security/ir.model.access.csv
|
||||
--- a/academy/security/ir.model.access.csv
|
||||
+++ b/academy/security/ir.model.access.csv
|
||||
@@ -1,2 +1,2 @@
|
||||
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
|
||||
-access_academy_academy,academy.academy,model_academy_academy,,1,0,0,0
|
||||
+access_academy_teachers,access_academy_teachers,model_academy_teachers,,1,0,0,0
|
||||
|
|
|
@ -1,19 +1,22 @@
|
|||
# HG changeset patch
|
||||
# Parent 78b4476f35cbef86ee4f858daf843e3b932fb9fa
|
||||
diff -r 78b4476f35cb -r d5ad2ad84a5d academy/__init__.py
|
||||
--- a/academy/__init__.py Mon Aug 11 16:09:21 2014 +0200
|
||||
+++ b/academy/__init__.py Mon Aug 11 16:12:38 2014 +0200
|
||||
@@ -0,0 +1,1 @@
|
||||
+from . import controllers
|
||||
diff -r 78b4476f35cb -r d5ad2ad84a5d academy/controllers.py
|
||||
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
|
||||
+++ b/academy/controllers.py Mon Aug 11 16:12:38 2014 +0200
|
||||
@@ -0,0 +1,8 @@
|
||||
+# -*- coding: utf-8 -*-
|
||||
+from openerp import http
|
||||
+
|
||||
# Parent 0a4f5e3206a0738201a40d2d1a88f41fdbbc98bf
|
||||
|
||||
diff --git a/academy/controllers.py b/academy/controllers.py
|
||||
--- a/academy/controllers.py
|
||||
+++ b/academy/controllers.py
|
||||
@@ -1,10 +1,10 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from openerp import http
|
||||
|
||||
-# class Academy(http.Controller):
|
||||
-# @http.route('/academy/academy/', auth='public')
|
||||
-# def index(self, **kw):
|
||||
-# return "Hello, world"
|
||||
+class Academy(http.Controller):
|
||||
+ @http.route('/academy/', auth='public')
|
||||
+ def index(self):
|
||||
+ return "Hello, world!"
|
||||
+
|
||||
+ @http.route('/academy/academy/', auth='public')
|
||||
+ def index(self, **kw):
|
||||
+ return "Hello, world"
|
||||
|
||||
# @http.route('/academy/academy/objects/', auth='public')
|
||||
# def list(self, **kw):
|
||||
|
|
|
@ -1,19 +1,18 @@
|
|||
# HG changeset patch
|
||||
# Parent 3e800beb7db0f9f05bfd4db275c86e8903d4f127
|
||||
diff -r 3e800beb7db0 -r 91c0cc5b319e academy/__init__.py
|
||||
--- a/academy/__init__.py Mon Aug 11 16:36:15 2014 +0200
|
||||
+++ b/academy/__init__.py Mon Aug 11 16:49:10 2014 +0200
|
||||
@@ -1,1 +1,2 @@
|
||||
from . import controllers
|
||||
+from . import models
|
||||
diff -r 3e800beb7db0 -r 91c0cc5b319e academy/models.py
|
||||
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
|
||||
+++ b/academy/models.py Mon Aug 11 16:49:10 2014 +0200
|
||||
@@ -0,0 +1,7 @@
|
||||
+from openerp import fields
|
||||
+from openerp import models
|
||||
+
|
||||
# Parent 4082801768b28c2871920e41d23b7879763e763e
|
||||
|
||||
diff --git a/academy/models.py b/academy/models.py
|
||||
--- a/academy/models.py
|
||||
+++ b/academy/models.py
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
from openerp import models, fields, api
|
||||
|
||||
-# class academy(models.Model):
|
||||
-# _name = 'academy.academy'
|
||||
+class Teachers(models.Model):
|
||||
+ _name = 'academy.teachers'
|
||||
+
|
||||
|
||||
-# name = fields.Char()
|
||||
+ name = fields.Char()
|
||||
|
|
|
@ -1,21 +1,23 @@
|
|||
# HG changeset patch
|
||||
# Parent 4814709fe1c52515f5108623c2c8f0bce57ffac0
|
||||
diff -r 4814709fe1c5 -r 216904cc7636 academy/models.py
|
||||
--- a/academy/models.py Tue Aug 12 17:18:59 2014 +0200
|
||||
+++ b/academy/models.py Tue Aug 12 17:24:44 2014 +0200
|
||||
@@ -5,3 +5,4 @@ class Teachers(models.Model):
|
||||
# Parent 926b3fdd1bba025d9543bb85ac40159b392ba13c
|
||||
|
||||
diff --git a/academy/models.py b/academy/models.py
|
||||
--- a/academy/models.py
|
||||
+++ b/academy/models.py
|
||||
@@ -6,3 +6,4 @@ class Teachers(models.Model):
|
||||
_name = 'academy.teachers'
|
||||
|
||||
name = fields.Char()
|
||||
+ biography = fields.Html()
|
||||
diff -r 4814709fe1c5 -r 216904cc7636 academy/templates.xml
|
||||
--- a/academy/templates.xml Tue Aug 12 17:18:59 2014 +0200
|
||||
+++ b/academy/templates.xml Tue Aug 12 17:24:44 2014 +0200
|
||||
diff --git a/academy/templates.xml b/academy/templates.xml
|
||||
--- a/academy/templates.xml
|
||||
+++ b/academy/templates.xml
|
||||
@@ -21,6 +21,7 @@
|
||||
<div class="oe_structure">
|
||||
<div class="container">
|
||||
<h3><t t-esc="person.name"/></h3>
|
||||
+ <div><t t-esc="person.biography"/></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="oe_structure"/>
|
||||
<div class="oe_structure">
|
||||
<div class="container">
|
||||
<h3><t t-esc="person.name"/></h3>
|
||||
+ <div><t t-esc="person.biography"/></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="oe_structure"/>
|
||||
|
|
|
@ -1,16 +1,18 @@
|
|||
# HG changeset patch
|
||||
# Parent 216904cc7636679adbf1a5a211070e739c59c3a8
|
||||
diff -r 216904cc7636 -r d5b8a2de3e35 academy/templates.xml
|
||||
--- a/academy/templates.xml Tue Aug 12 17:24:44 2014 +0200
|
||||
+++ b/academy/templates.xml Tue Aug 12 17:25:15 2014 +0200
|
||||
# Parent edeaf1ebff99c9b3d7cbe1925ca3d2ece519ba52
|
||||
|
||||
diff --git a/academy/templates.xml b/academy/templates.xml
|
||||
--- a/academy/templates.xml
|
||||
+++ b/academy/templates.xml
|
||||
@@ -20,8 +20,8 @@
|
||||
<div class="oe_structure"/>
|
||||
<div class="oe_structure">
|
||||
<div class="container">
|
||||
- <h3><t t-esc="person.name"/></h3>
|
||||
- <div><t t-esc="person.biography"/></div>
|
||||
+ <h3 t-field="person.name"/>
|
||||
+ <div t-field="person.biography"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="oe_structure"/>
|
||||
<div class="oe_structure"/>
|
||||
<div class="oe_structure">
|
||||
<div class="container">
|
||||
- <h3><t t-esc="person.name"/></h3>
|
||||
- <div><t t-esc="person.biography"/></div>
|
||||
+ <h3 t-field="person.name"/>
|
||||
+ <div t-field="person.biography"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="oe_structure"/>
|
||||
|
|
|
@ -1,9 +1,11 @@
|
|||
# HG changeset patch
|
||||
# Parent 957395d27f63dfdb2ea0dacdbe72bc35e724ddcc
|
||||
diff -r 957395d27f63 -r 6106208621f0 academy/models.py
|
||||
--- a/academy/models.py Wed Aug 13 15:06:30 2014 +0200
|
||||
+++ b/academy/models.py Wed Aug 13 16:32:26 2014 +0200
|
||||
@@ -11,6 +11,7 @@ class Teachers(models.Model):
|
||||
# Parent 7156498d3cffb6128e73da2e351f2b5af5f7be63
|
||||
|
||||
diff --git a/academy/models.py b/academy/models.py
|
||||
--- a/academy/models.py
|
||||
+++ b/academy/models.py
|
||||
@@ -12,6 +12,7 @@ class Teachers(models.Model):
|
||||
|
||||
class Courses(models.Model):
|
||||
_name = 'academy.courses'
|
||||
|
@ -11,9 +13,9 @@ diff -r 957395d27f63 -r 6106208621f0 academy/models.py
|
|||
|
||||
name = fields.Char()
|
||||
teacher_id = fields.Many2one('academy.teachers', string="Teacher")
|
||||
diff -r 957395d27f63 -r 6106208621f0 academy/views.xml
|
||||
--- a/academy/views.xml Wed Aug 13 15:06:30 2014 +0200
|
||||
+++ b/academy/views.xml Wed Aug 13 16:32:26 2014 +0200
|
||||
diff --git a/academy/views.xml b/academy/views.xml
|
||||
--- a/academy/views.xml
|
||||
+++ b/academy/views.xml
|
||||
@@ -60,6 +60,10 @@
|
||||
<label for="teacher_id"/>
|
||||
<field name="teacher_id"/>
|
||||
|
|
|
@ -1,10 +1,12 @@
|
|||
# HG changeset patch
|
||||
# Parent 122340f4360287bbc53f54e53ac609a8e7237796
|
||||
diff -r 122340f43602 -r 91ffd360f3ff academy/controllers.py
|
||||
--- a/academy/controllers.py Tue Aug 12 16:52:38 2014 +0200
|
||||
+++ b/academy/controllers.py Tue Aug 12 17:02:14 2014 +0200
|
||||
@@ -9,7 +9,9 @@ class Academy(http.Controller):
|
||||
'teachers': Teachers.search([]),
|
||||
# Parent 1f9194514fa81c49b9bc7922a010513d816a0c2e
|
||||
|
||||
diff --git a/academy/controllers.py b/academy/controllers.py
|
||||
--- a/academy/controllers.py
|
||||
+++ b/academy/controllers.py
|
||||
@@ -9,9 +9,11 @@ class Academy(http.Controller):
|
||||
'teachers': Teachers.search([])
|
||||
})
|
||||
|
||||
- @http.route('/academy/<int:id>/', auth='public', website=True)
|
||||
|
@ -16,24 +18,27 @@ diff -r 122340f43602 -r 91ffd360f3ff academy/controllers.py
|
|||
+ 'person': teacher
|
||||
+ })
|
||||
|
||||
diff -r 122340f43602 -r 91ffd360f3ff academy/templates.xml
|
||||
--- a/academy/templates.xml Tue Aug 12 16:52:38 2014 +0200
|
||||
+++ b/academy/templates.xml Tue Aug 12 17:02:14 2014 +0200
|
||||
@@ -11,4 +11,17 @@
|
||||
</div>
|
||||
</t>
|
||||
</template>
|
||||
+
|
||||
+ <template id="biography">
|
||||
+ <t t-call="website.layout">
|
||||
+ <t t-set="title">Academy</t>
|
||||
+ <div class="oe_structure"/>
|
||||
+ <div class="oe_structure">
|
||||
+ <div class="container">
|
||||
+ <p><t t-esc="person.id"/> <t t-esc="person.name"/></p>
|
||||
+ </div>
|
||||
+ </div>
|
||||
+ <div class="oe_structure"/>
|
||||
+ </t>
|
||||
+ </template>
|
||||
</data></openerp>
|
||||
|
||||
# @http.route('/academy/academy/objects/', auth='public')
|
||||
diff --git a/academy/templates.xml b/academy/templates.xml
|
||||
--- a/academy/templates.xml
|
||||
+++ b/academy/templates.xml
|
||||
@@ -12,6 +12,18 @@
|
||||
</div>
|
||||
</t>
|
||||
</template>
|
||||
+ <template id="biography">
|
||||
+ <t t-call="website.layout">
|
||||
+ <t t-set="title">Academy</t>
|
||||
+ <div class="oe_structure"/>
|
||||
+ <div class="oe_structure">
|
||||
+ <div class="container">
|
||||
+ <p><t t-esc="person.id"/> <t t-esc="person.name"/></p>
|
||||
+ </div>
|
||||
+ </div>
|
||||
+ <div class="oe_structure"/>
|
||||
+ </t>
|
||||
+ </template>
|
||||
<!-- <template id="object"> -->
|
||||
<!-- <h1><t t-esc="object.display_name"/></h1> -->
|
||||
<!-- <dl> -->
|
||||
|
|
|
@ -1,17 +1,11 @@
|
|||
# HG changeset patch
|
||||
# Parent c3705f93fcea86a279f2c31204cc0c2914e784d8
|
||||
# Parent 8f2d190d879cdf6464bd61f7994b8b582befcafd
|
||||
|
||||
diff --git a/academy/ir.model.access.csv b/academy/ir.model.access.csv
|
||||
--- a/academy/ir.model.access.csv
|
||||
+++ b/academy/ir.model.access.csv
|
||||
@@ -1,2 +1,3 @@
|
||||
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
|
||||
access_academy_teachers,access_academy_teachers,model_academy_teachers,,1,0,0,0
|
||||
+access_academy_courses,access_academy_courses,model_academy_courses,,1,0,0,0
|
||||
diff --git a/academy/models.py b/academy/models.py
|
||||
--- a/academy/models.py
|
||||
+++ b/academy/models.py
|
||||
@@ -6,3 +6,9 @@ class Teachers(models.Model):
|
||||
@@ -7,3 +7,9 @@ class Teachers(models.Model):
|
||||
|
||||
name = fields.Char()
|
||||
biography = fields.Html()
|
||||
|
@ -21,3 +15,11 @@ diff --git a/academy/models.py b/academy/models.py
|
|||
+
|
||||
+ name = fields.Char()
|
||||
+ teacher_id = fields.Many2one('academy.teachers', string="Teacher")
|
||||
diff --git a/academy/security/ir.model.access.csv b/academy/security/ir.model.access.csv
|
||||
--- a/academy/security/ir.model.access.csv
|
||||
+++ b/academy/security/ir.model.access.csv
|
||||
@@ -1,2 +1,3 @@
|
||||
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
|
||||
access_academy_teachers,access_academy_teachers,model_academy_teachers,,1,0,0,0
|
||||
+access_academy_courses,access_academy_courses,model_academy_courses,,1,0,0,0
|
||||
\ No newline at end of file
|
||||
|
|
|
@ -1,16 +1,21 @@
|
|||
# HG changeset patch
|
||||
# Parent 1708c59c9731207e06ca84529c839c571e622481
|
||||
diff -r 1708c59c9731 -r c706c2ec2832 academy/templates.xml
|
||||
--- a/academy/templates.xml Thu Aug 14 14:53:52 2014 +0200
|
||||
+++ b/academy/templates.xml Thu Aug 14 16:08:10 2014 +0200
|
||||
@@ -28,4 +28,10 @@
|
||||
<div class="oe_structure"/>
|
||||
</t>
|
||||
</template>
|
||||
# Parent ac472417df8770ce9b6922968aa86779a86be35c
|
||||
|
||||
diff --git a/academy/templates.xml b/academy/templates.xml
|
||||
--- a/academy/templates.xml
|
||||
+++ b/academy/templates.xml
|
||||
@@ -28,6 +28,13 @@
|
||||
<div class="oe_structure"/>
|
||||
</t>
|
||||
</template>
|
||||
+
|
||||
+ <template id="product_item_hide_no_price" inherit_id="website_sale.products_item">
|
||||
+ <xpath expr="//div[hasclass('product_price')]/b" position="attributes">
|
||||
+ <attribute name="t-if">product.price > 0</attribute>
|
||||
+ </xpath>
|
||||
+ </template>
|
||||
</data></openerp>
|
||||
+ <template id="product_item_hide_no_price" inherit_id="website_sale.products_item">
|
||||
+ <xpath expr="//div[hasclass('product_price')]/b" position="attributes">
|
||||
+ <attribute name="t-if">product.price > 0</attribute>
|
||||
+ </xpath>
|
||||
+ </template>
|
||||
+
|
||||
<!-- <template id="object"> -->
|
||||
<!-- <h1><t t-esc="object.display_name"/></h1> -->
|
||||
<!-- <dl> -->
|
||||
|
|
|
@ -1,16 +1,17 @@
|
|||
# HG changeset patch
|
||||
# Parent 2ee7212e5de4702dff08d9b5e4268e7dc261d038
|
||||
# Parent 4ca7b848bb60c3573de7ed41a28b4b65186a5725
|
||||
|
||||
diff --git a/academy/__openerp__.py b/academy/__openerp__.py
|
||||
--- a/academy/__openerp__.py
|
||||
+++ b/academy/__openerp__.py
|
||||
@@ -11,6 +11,7 @@
|
||||
'ir.model.access.csv',
|
||||
@@ -27,6 +27,7 @@
|
||||
'security/ir.model.access.csv',
|
||||
'templates.xml',
|
||||
'views.xml',
|
||||
+ 'data.xml',
|
||||
],
|
||||
# data files which are only installed in "demonstration mode"
|
||||
# only loaded in demonstration mode
|
||||
'demo': [
|
||||
diff --git a/academy/data.xml b/academy/data.xml
|
||||
new file mode 100644
|
||||
|
@ -26,47 +27,41 @@ new file mode 100644
|
|||
diff --git a/academy/demo.xml b/academy/demo.xml
|
||||
--- a/academy/demo.xml
|
||||
+++ b/academy/demo.xml
|
||||
@@ -8,4 +8,29 @@
|
||||
<record id="vaughn" model="academy.teachers">
|
||||
<field name="name">Lester Vaughn</field>
|
||||
</record>
|
||||
@@ -9,5 +9,30 @@
|
||||
<record id="vaughn" model="academy.teachers">
|
||||
<field name="name">Lester Vaughn</field>
|
||||
</record>
|
||||
+
|
||||
+ <record id="course0" model="product.template">
|
||||
+ <field name="name">Course 0</field>
|
||||
+ <field name="teacher_id" ref="padilla"/>
|
||||
+ <field name="public_categ_ids" eval="[(4, ref('academy.category_courses'), False)]"/>
|
||||
+ <field name="website_published">True</field>
|
||||
+ <field name="list_price" type="float">0</field>
|
||||
+ <field name="type">service</field>
|
||||
+ </record>
|
||||
+ <record id="course1" model="product.template">
|
||||
+ <field name="name">Course 1</field>
|
||||
+ <field name="teacher_id" ref="padilla"/>
|
||||
+ <field name="public_categ_ids" eval="[(4, ref('academy.category_courses'), False)]"/>
|
||||
+ <field name="website_published">True</field>
|
||||
+ <field name="list_price" type="float">0</field>
|
||||
+ <field name="type">service</field>
|
||||
+ </record>
|
||||
+ <record id="course2" model="product.template">
|
||||
+ <field name="name">Course 2</field>
|
||||
+ <field name="teacher_id" ref="vaughn"/>
|
||||
+ <field name="public_categ_ids" eval="[(4, ref('academy.category_courses'), False)]"/>
|
||||
+ <field name="website_published">True</field>
|
||||
+ <field name="list_price" type="float">0</field>
|
||||
+ <field name="type">service</field>
|
||||
+ </record>
|
||||
</data></openerp>
|
||||
diff --git a/academy/ir.model.access.csv b/academy/ir.model.access.csv
|
||||
--- a/academy/ir.model.access.csv
|
||||
+++ b/academy/ir.model.access.csv
|
||||
@@ -1,3 +1,2 @@
|
||||
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
|
||||
access_academy_teachers,access_academy_teachers,model_academy_teachers,,1,0,0,0
|
||||
-access_academy_courses,access_academy_courses,model_academy_courses,,1,0,0,0
|
||||
+ <record id="course0" model="product.template">
|
||||
+ <field name="name">Course 0</field>
|
||||
+ <field name="teacher_id" ref="padilla"/>
|
||||
+ <field name="public_categ_ids" eval="[(4, ref('academy.category_courses'), False)]"/>
|
||||
+ <field name="website_published">True</field>
|
||||
+ <field name="list_price" type="float">0</field>
|
||||
+ <field name="type">service</field>
|
||||
+ </record>
|
||||
+ <record id="course1" model="product.template">
|
||||
+ <field name="name">Course 1</field>
|
||||
+ <field name="teacher_id" ref="padilla"/>
|
||||
+ <field name="public_categ_ids" eval="[(4, ref('academy.category_courses'), False)]"/>
|
||||
+ <field name="website_published">True</field>
|
||||
+ <field name="list_price" type="float">0</field>
|
||||
+ <field name="type">service</field>
|
||||
+ </record>
|
||||
+ <record id="course2" model="product.template">
|
||||
+ <field name="name">Course 2</field>
|
||||
+ <field name="teacher_id" ref="vaughn"/>
|
||||
+ <field name="public_categ_ids" eval="[(4, ref('academy.category_courses'), False)]"/>
|
||||
+ <field name="website_published">True</field>
|
||||
+ <field name="list_price" type="float">0</field>
|
||||
+ <field name="type">service</field>
|
||||
+ </record>
|
||||
</data>
|
||||
</openerp>
|
||||
diff --git a/academy/models.py b/academy/models.py
|
||||
--- a/academy/models.py
|
||||
+++ b/academy/models.py
|
||||
@@ -7,11 +7,9 @@ class Teachers(models.Model):
|
||||
@@ -8,11 +8,9 @@ class Teachers(models.Model):
|
||||
name = fields.Char()
|
||||
biography = fields.Html()
|
||||
|
||||
|
@ -80,6 +75,16 @@ diff --git a/academy/models.py b/academy/models.py
|
|||
|
||||
- name = fields.Char()
|
||||
teacher_id = fields.Many2one('academy.teachers', string="Teacher")
|
||||
diff --git a/academy/security/ir.model.access.csv b/academy/security/ir.model.access.csv
|
||||
--- a/academy/security/ir.model.access.csv
|
||||
+++ b/academy/security/ir.model.access.csv
|
||||
@@ -1,3 +1,2 @@
|
||||
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
|
||||
-access_academy_teachers,access_academy_teachers,model_academy_teachers,,1,0,0,0
|
||||
-access_academy_courses,access_academy_courses,model_academy_courses,,1,0,0,0
|
||||
\ No newline at end of file
|
||||
+access_academy_teachers,access_academy_teachers,model_academy_teachers,,1,0,0,0
|
||||
\ No newline at end of file
|
||||
diff --git a/academy/views.xml b/academy/views.xml
|
||||
--- a/academy/views.xml
|
||||
+++ b/academy/views.xml
|
||||
|
|
|
@ -1,14 +1,18 @@
|
|||
# HG changeset patch
|
||||
# Parent c706c2ec28328a65a8aee6a7ba7d06896468c1e3
|
||||
diff -r c706c2ec2832 -r f85b481451bb academy/templates.xml
|
||||
--- a/academy/templates.xml Thu Aug 14 16:08:10 2014 +0200
|
||||
+++ b/academy/templates.xml Thu Aug 14 16:30:49 2014 +0200
|
||||
@@ -34,4 +34,8 @@
|
||||
<attribute name="t-if">product.price > 0</attribute>
|
||||
</xpath>
|
||||
</template>
|
||||
# Parent 053262442acdbe3c803c29ce35002ec69452c5fd
|
||||
|
||||
diff --git a/academy/templates.xml b/academy/templates.xml
|
||||
--- a/academy/templates.xml
|
||||
+++ b/academy/templates.xml
|
||||
@@ -35,6 +35,10 @@
|
||||
</xpath>
|
||||
</template>
|
||||
|
||||
+ <record id="website_sale.products_categories" model="ir.ui.view">
|
||||
+ <field name="active" eval="True"/>
|
||||
+ </record>
|
||||
+
|
||||
+ <record id="website_sale.products_categories" model="ir.ui.view">
|
||||
+ <field name="active" eval="True"/>
|
||||
+ </record>
|
||||
</data></openerp>
|
||||
<!-- <template id="object"> -->
|
||||
<!-- <h1><t t-esc="object.display_name"/></h1> -->
|
||||
<!-- <dl> -->
|
||||
|
|
|
@ -1,29 +1,30 @@
|
|||
# HG changeset patch
|
||||
# Parent f0a3629abb17ca9f4dddd8885321d9ca5de14b55
|
||||
diff -r f0a3629abb17 -r 7ae0db4c2ddf academy/controllers.py
|
||||
--- a/academy/controllers.py Tue Aug 12 11:21:05 2014 +0200
|
||||
+++ b/academy/controllers.py Tue Aug 12 11:24:14 2014 +0200
|
||||
@@ -4,7 +4,7 @@ from openerp import http
|
||||
# Parent 4c1c3d77ba8ad35dc759405a0db39a6eae943b0f
|
||||
|
||||
diff --git a/academy/controllers.py b/academy/controllers.py
|
||||
--- a/academy/controllers.py
|
||||
+++ b/academy/controllers.py
|
||||
@@ -4,8 +4,9 @@ from openerp import http
|
||||
class Academy(http.Controller):
|
||||
@http.route('/academy/', auth='public')
|
||||
def index(self):
|
||||
@http.route('/academy/academy/', auth='public')
|
||||
def index(self, **kw):
|
||||
+ Teachers = http.request.env['academy.teachers']
|
||||
return http.request.render('academy.index', {
|
||||
- 'teachers': ["Diana Padilla", "Jody Caroll", "Lester Vaughn"],
|
||||
+ 'teachers': Teachers.search([]),
|
||||
+ 'teachers': Teachers.search([])
|
||||
})
|
||||
-
|
||||
diff -r f0a3629abb17 -r 7ae0db4c2ddf academy/templates.xml
|
||||
--- a/academy/templates.xml Tue Aug 12 11:21:05 2014 +0200
|
||||
+++ b/academy/templates.xml Tue Aug 12 11:24:14 2014 +0200
|
||||
@@ -2,7 +2,7 @@
|
||||
<template id="index">
|
||||
<title>Academy</title>
|
||||
<t t-foreach="teachers" t-as="teacher">
|
||||
- <p><t t-esc="teacher"/></p>
|
||||
+ <p><t t-esc="teacher.id"/> <t t-esc="teacher.name"/></p>
|
||||
</t>
|
||||
</template>
|
||||
-</data></openerp>
|
||||
\ No newline at end of file
|
||||
+</data></openerp>
|
||||
|
||||
# @http.route('/academy/academy/objects/', auth='public')
|
||||
diff --git a/academy/templates.xml b/academy/templates.xml
|
||||
--- a/academy/templates.xml
|
||||
+++ b/academy/templates.xml
|
||||
@@ -3,7 +3,7 @@
|
||||
<template id="index">
|
||||
<title>Academy</title>
|
||||
<t t-foreach="teachers" t-as="teacher">
|
||||
- <p><t t-esc="teacher"/></p>
|
||||
+ <p><t t-esc="teacher.id"/> <t t-esc="teacher.name"/></p>
|
||||
</t>
|
||||
</template>
|
||||
<!-- <template id="object"> -->
|
||||
|
|
|
@ -1,29 +1,42 @@
|
|||
# HG changeset patch
|
||||
# Parent c77aa2c3341b9ab3a4e9ed05874e8a278fe69453
|
||||
diff -r c77aa2c3341b -r f0a3629abb17 academy/__openerp__.py
|
||||
--- a/academy/__openerp__.py Mon Aug 11 16:50:01 2014 +0200
|
||||
+++ b/academy/__openerp__.py Tue Aug 12 11:21:05 2014 +0200
|
||||
@@ -11,4 +11,8 @@
|
||||
'ir.model.access.csv',
|
||||
'templates.xml',
|
||||
],
|
||||
+ # data files which are only installed in "demonstration mode"
|
||||
+ 'demo': [
|
||||
+ 'demo.xml',
|
||||
+ ],
|
||||
}
|
||||
diff -r c77aa2c3341b -r f0a3629abb17 academy/demo.xml
|
||||
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
|
||||
+++ b/academy/demo.xml Tue Aug 12 11:21:05 2014 +0200
|
||||
@@ -0,0 +1,11 @@
|
||||
+<openerp><data>
|
||||
+ <record id="padilla" model="academy.teachers">
|
||||
+ <field name="name">Diana Padilla</field>
|
||||
+ </record>
|
||||
+ <record id="carroll" model="academy.teachers">
|
||||
+ <field name="name">Jody Carroll</field>
|
||||
+ </record>
|
||||
+ <record id="vaughn" model="academy.teachers">
|
||||
+ <field name="name">Lester Vaughn</field>
|
||||
+ </record>
|
||||
+</data></openerp>
|
||||
# Parent f416ab6c60f9cb3a803d30ff4dbff880eaa44a65
|
||||
|
||||
diff --git a/academy/demo.xml b/academy/demo.xml
|
||||
--- a/academy/demo.xml
|
||||
+++ b/academy/demo.xml
|
||||
@@ -1,25 +1,13 @@
|
||||
<openerp>
|
||||
<data>
|
||||
- <!-- -->
|
||||
- <!-- <record id="object0" model="academy.academy"> -->
|
||||
- <!-- <field name="name">Object 0</field> -->
|
||||
- <!-- </record> -->
|
||||
- <!-- -->
|
||||
- <!-- <record id="object1" model="academy.academy"> -->
|
||||
- <!-- <field name="name">Object 1</field> -->
|
||||
- <!-- </record> -->
|
||||
- <!-- -->
|
||||
- <!-- <record id="object2" model="academy.academy"> -->
|
||||
- <!-- <field name="name">Object 2</field> -->
|
||||
- <!-- </record> -->
|
||||
- <!-- -->
|
||||
- <!-- <record id="object3" model="academy.academy"> -->
|
||||
- <!-- <field name="name">Object 3</field> -->
|
||||
- <!-- </record> -->
|
||||
- <!-- -->
|
||||
- <!-- <record id="object4" model="academy.academy"> -->
|
||||
- <!-- <field name="name">Object 4</field> -->
|
||||
- <!-- </record> -->
|
||||
- <!-- -->
|
||||
+ <record id="padilla" model="academy.teachers">
|
||||
+ <field name="name">Diana Padilla</field>
|
||||
+ </record>
|
||||
+ <record id="carroll" model="academy.teachers">
|
||||
+ <field name="name">Jody Carroll</field>
|
||||
+ </record>
|
||||
+ <record id="vaughn" model="academy.teachers">
|
||||
+ <field name="name">Lester Vaughn</field>
|
||||
+ </record>
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
@ -1,14 +1,16 @@
|
|||
# HG changeset patch
|
||||
# Parent f3ad3f919b49bc70c87e1500ec0d39f741243b3d
|
||||
diff -r f3ad3f919b49 -r c3d04f578b76 academy/templates.xml
|
||||
--- a/academy/templates.xml Tue Aug 12 17:30:53 2014 +0200
|
||||
+++ b/academy/templates.xml Tue Aug 12 17:34:31 2014 +0200
|
||||
# Parent 07a68419287382d7dd9d600c8b813c3c37a88864
|
||||
|
||||
diff --git a/academy/templates.xml b/academy/templates.xml
|
||||
--- a/academy/templates.xml
|
||||
+++ b/academy/templates.xml
|
||||
@@ -21,7 +21,7 @@
|
||||
<div class="oe_structure">
|
||||
<div class="container">
|
||||
<h3 t-field="person.name"/>
|
||||
- <p>Last modified: <i t-field="person.write_date"/></p>
|
||||
+ <p>Last modified: <i t-field="person.write_date" t-field-options='{"format": "long"}'/></p>
|
||||
<div t-field="person.biography"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="oe_structure">
|
||||
<div class="container">
|
||||
<h3 t-field="person.name"/>
|
||||
- <p>Last modified: <i t-field="person.write_date"/></p>
|
||||
+ <p>Last modified: <i t-field="person.write_date" t-field-options='{"format": "long"}'/></p>
|
||||
<div t-field="person.biography"/>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,13 +1,15 @@
|
|||
# HG changeset patch
|
||||
# Parent d5b8a2de3e35c26c29f85ce500d41ccd2373c508
|
||||
diff -r d5b8a2de3e35 -r f3ad3f919b49 academy/templates.xml
|
||||
--- a/academy/templates.xml Tue Aug 12 17:25:15 2014 +0200
|
||||
+++ b/academy/templates.xml Tue Aug 12 17:30:53 2014 +0200
|
||||
# Parent 65d27383542ef9214ff9e2c308aa54b042cff2d9
|
||||
|
||||
diff --git a/academy/templates.xml b/academy/templates.xml
|
||||
--- a/academy/templates.xml
|
||||
+++ b/academy/templates.xml
|
||||
@@ -21,6 +21,7 @@
|
||||
<div class="oe_structure">
|
||||
<div class="container">
|
||||
<h3 t-field="person.name"/>
|
||||
+ <p>Last modified: <i t-field="person.write_date"/></p>
|
||||
<div t-field="person.biography"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="oe_structure">
|
||||
<div class="container">
|
||||
<h3 t-field="person.name"/>
|
||||
+ <p>Last modified: <i t-field="person.write_date"/></p>
|
||||
<div t-field="person.biography"/>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,14 +1,16 @@
|
|||
# HG changeset patch
|
||||
# Parent c3d04f578b762612422e09777e0ac5b3863d6ea6
|
||||
diff -r c3d04f578b76 -r c8cc9e66a270 academy/templates.xml
|
||||
--- a/academy/templates.xml Tue Aug 12 17:34:31 2014 +0200
|
||||
+++ b/academy/templates.xml Wed Aug 13 10:11:49 2014 +0200
|
||||
# Parent 0bc39fe6579c4e48b61e77bc970da2e1784f1a67
|
||||
|
||||
diff --git a/academy/templates.xml b/academy/templates.xml
|
||||
--- a/academy/templates.xml
|
||||
+++ b/academy/templates.xml
|
||||
@@ -21,7 +21,7 @@
|
||||
<div class="oe_structure">
|
||||
<div class="container">
|
||||
<h3 t-field="person.name"/>
|
||||
- <p>Last modified: <i t-field="person.write_date" t-field-options='{"format": "long"}'/></p>
|
||||
+ <p>Last modified: <i t-field="person.write_date" t-field-options='{"widget": "relative"}'/></p>
|
||||
<div t-field="person.biography"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="oe_structure">
|
||||
<div class="container">
|
||||
<h3 t-field="person.name"/>
|
||||
- <p>Last modified: <i t-field="person.write_date" t-field-options='{"format": "long"}'/></p>
|
||||
+ <p>Last modified: <i t-field="person.write_date" t-field-options='{"widget": "relative"}'/></p>
|
||||
<div t-field="person.biography"/>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,19 +1,153 @@
|
|||
# HG changeset patch
|
||||
# Parent 0000000000000000000000000000000000000000
|
||||
# Parent 0000000000000000000000000000000000000000
|
||||
|
||||
diff --git a/academy/__init__.py b/academy/__init__.py
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/academy/__init__.py
|
||||
@@ -0,0 +1,3 @@
|
||||
+# -*- coding: utf-8 -*-
|
||||
+import controllers
|
||||
+import models
|
||||
diff --git a/academy/__openerp__.py b/academy/__openerp__.py
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/academy/__openerp__.py
|
||||
@@ -0,0 +1,9 @@
|
||||
@@ -0,0 +1,34 @@
|
||||
+# -*- coding: utf-8 -*-
|
||||
+{
|
||||
+ # The human-readable name of your module, displayed in the interface
|
||||
+ 'name': "Academy",
|
||||
+ # A more extensive description
|
||||
+
|
||||
+ 'summary': """
|
||||
+ Short (1 phrase/line) summary of the module's purpose, used as
|
||||
+ subtitle on modules listing or apps.openerp.com""",
|
||||
+
|
||||
+ 'description': """
|
||||
+ Long description of module's purpose
|
||||
+ """,
|
||||
+ # Which modules must be installed for this one to work
|
||||
+
|
||||
+ 'author': "Your Company",
|
||||
+ 'website': "http://www.yourcompany.com",
|
||||
+
|
||||
+ # Categories can be used to filter modules in modules listing
|
||||
+ # Check https://github.com/odoo/odoo/blob/master/openerp/addons/base/module/module_data.xml
|
||||
+ # for the full list
|
||||
+ 'category': 'Uncategorized',
|
||||
+ 'version': '0.1',
|
||||
+
|
||||
+ # any module necessary for this one to work correctly
|
||||
+ 'depends': ['base'],
|
||||
+
|
||||
+ # always loaded
|
||||
+ 'data': [
|
||||
+ # 'security/ir.model.access.csv',
|
||||
+ 'templates.xml',
|
||||
+ ],
|
||||
+ # only loaded in demonstration mode
|
||||
+ 'demo': [
|
||||
+ 'demo.xml',
|
||||
+ ],
|
||||
+}
|
||||
diff --git a/academy/controllers.py b/academy/controllers.py
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/academy/controllers.py
|
||||
@@ -0,0 +1,20 @@
|
||||
+# -*- coding: utf-8 -*-
|
||||
+from openerp import http
|
||||
+
|
||||
+# class Academy(http.Controller):
|
||||
+# @http.route('/academy/academy/', auth='public')
|
||||
+# def index(self, **kw):
|
||||
+# return "Hello, world"
|
||||
+
|
||||
+# @http.route('/academy/academy/objects/', auth='public')
|
||||
+# def list(self, **kw):
|
||||
+# return http.request.render('academy.listing', {
|
||||
+# 'root': '/academy/academy',
|
||||
+# 'objects': http.request.env['academy.academy'].search([]),
|
||||
+# })
|
||||
+
|
||||
+# @http.route('/academy/academy/objects/<model("academy.academy"):obj>/', auth='public')
|
||||
+# def object(self, obj, **kw):
|
||||
+# return http.request.render('academy.object', {
|
||||
+# 'object': obj
|
||||
+# })
|
||||
diff --git a/academy/demo.xml b/academy/demo.xml
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/academy/demo.xml
|
||||
@@ -0,0 +1,25 @@
|
||||
+<openerp>
|
||||
+ <data>
|
||||
+ <!-- -->
|
||||
+ <!-- <record id="object0" model="academy.academy"> -->
|
||||
+ <!-- <field name="name">Object 0</field> -->
|
||||
+ <!-- </record> -->
|
||||
+ <!-- -->
|
||||
+ <!-- <record id="object1" model="academy.academy"> -->
|
||||
+ <!-- <field name="name">Object 1</field> -->
|
||||
+ <!-- </record> -->
|
||||
+ <!-- -->
|
||||
+ <!-- <record id="object2" model="academy.academy"> -->
|
||||
+ <!-- <field name="name">Object 2</field> -->
|
||||
+ <!-- </record> -->
|
||||
+ <!-- -->
|
||||
+ <!-- <record id="object3" model="academy.academy"> -->
|
||||
+ <!-- <field name="name">Object 3</field> -->
|
||||
+ <!-- </record> -->
|
||||
+ <!-- -->
|
||||
+ <!-- <record id="object4" model="academy.academy"> -->
|
||||
+ <!-- <field name="name">Object 4</field> -->
|
||||
+ <!-- </record> -->
|
||||
+ <!-- -->
|
||||
+ </data>
|
||||
+</openerp>
|
||||
diff --git a/academy/models.py b/academy/models.py
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/academy/models.py
|
||||
@@ -0,0 +1,8 @@
|
||||
+# -*- coding: utf-8 -*-
|
||||
+
|
||||
+from openerp import models, fields, api
|
||||
+
|
||||
+# class academy(models.Model):
|
||||
+# _name = 'academy.academy'
|
||||
+
|
||||
+# name = fields.Char()
|
||||
diff --git a/academy/security/ir.model.access.csv b/academy/security/ir.model.access.csv
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/academy/security/ir.model.access.csv
|
||||
@@ -0,0 +1,2 @@
|
||||
+id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
|
||||
+access_academy_academy,academy.academy,model_academy_academy,,1,0,0,0
|
||||
diff --git a/academy/templates.xml b/academy/templates.xml
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/academy/templates.xml
|
||||
@@ -0,0 +1,22 @@
|
||||
+<openerp>
|
||||
+ <data>
|
||||
+ <!-- <template id="listing"> -->
|
||||
+ <!-- <ul> -->
|
||||
+ <!-- <li t-foreach="objects" t-as="object"> -->
|
||||
+ <!-- <a t-attf-href="#{ root }/objects/#{ object.id }"> -->
|
||||
+ <!-- <t t-esc="object.display_name"/> -->
|
||||
+ <!-- </a> -->
|
||||
+ <!-- </li> -->
|
||||
+ <!-- </ul> -->
|
||||
+ <!-- </template> -->
|
||||
+ <!-- <template id="object"> -->
|
||||
+ <!-- <h1><t t-esc="object.display_name"/></h1> -->
|
||||
+ <!-- <dl> -->
|
||||
+ <!-- <t t-foreach="object._fields" t-as="field"> -->
|
||||
+ <!-- <dt><t t-esc="field"/></dt> -->
|
||||
+ <!-- <dd><t t-esc="object[field]"/></dd> -->
|
||||
+ <!-- </t> -->
|
||||
+ <!-- </dl> -->
|
||||
+ <!-- </template> -->
|
||||
+ </data>
|
||||
+</openerp>
|
||||
|
|
|
@ -1,14 +1,16 @@
|
|||
# HG changeset patch
|
||||
# Parent 6106208621f01d5aea67727f09adf5c5b2a38642
|
||||
diff -r 6106208621f0 -r f882c3b2e7af academy/__openerp__.py
|
||||
--- a/academy/__openerp__.py Wed Aug 13 16:32:26 2014 +0200
|
||||
+++ b/academy/__openerp__.py Thu Aug 14 11:44:51 2014 +0200
|
||||
@@ -5,7 +5,7 @@
|
||||
'description': """
|
||||
""",
|
||||
# Which modules must be installed for this one to work
|
||||
# Parent ae97cfb61fd0e1a47727a9d8ed4a702116254eff
|
||||
|
||||
diff --git a/academy/__openerp__.py b/academy/__openerp__.py
|
||||
--- a/academy/__openerp__.py
|
||||
+++ b/academy/__openerp__.py
|
||||
@@ -20,7 +20,7 @@
|
||||
'version': '0.1',
|
||||
|
||||
# any module necessary for this one to work correctly
|
||||
- 'depends': ['website'],
|
||||
+ 'depends': ['website_sale'],
|
||||
# data files which are always installed
|
||||
|
||||
# always loaded
|
||||
'data': [
|
||||
'ir.model.access.csv',
|
||||
|
|
|
@ -1,14 +1,19 @@
|
|||
# HG changeset patch
|
||||
# Parent 0795247fa6cbb63238941f3dd26a8b6144fa71ee
|
||||
diff -r 0795247fa6cb -r e9d9740fa185 academy/controllers.py
|
||||
--- a/academy/controllers.py Tue Aug 12 11:27:14 2014 +0200
|
||||
+++ b/academy/controllers.py Tue Aug 12 16:51:29 2014 +0200
|
||||
@@ -8,3 +8,8 @@ class Academy(http.Controller):
|
||||
return http.request.render('academy.index', {
|
||||
'teachers': Teachers.search([]),
|
||||
# Parent f66ff336f8ed20e022660bd74a43af1b44a1f275
|
||||
|
||||
diff --git a/academy/controllers.py b/academy/controllers.py
|
||||
--- a/academy/controllers.py
|
||||
+++ b/academy/controllers.py
|
||||
@@ -9,6 +9,11 @@ class Academy(http.Controller):
|
||||
'teachers': Teachers.search([])
|
||||
})
|
||||
+
|
||||
|
||||
+ @http.route('/academy/<name>/', auth='public', website=True)
|
||||
+ def teacher(self, name):
|
||||
+ return '<h1>{}</h1>'.format(name)
|
||||
+
|
||||
+
|
||||
# @http.route('/academy/academy/objects/', auth='public')
|
||||
# def list(self, **kw):
|
||||
# return http.request.render('academy.listing', {
|
||||
|
|
|
@ -1,10 +1,12 @@
|
|||
# HG changeset patch
|
||||
# Parent e9d9740fa1852c80541c6b5b94280c8ec74cc4bb
|
||||
diff -r e9d9740fa185 -r 122340f43602 academy/controllers.py
|
||||
--- a/academy/controllers.py Tue Aug 12 16:51:29 2014 +0200
|
||||
+++ b/academy/controllers.py Tue Aug 12 16:52:38 2014 +0200
|
||||
@@ -9,7 +9,7 @@ class Academy(http.Controller):
|
||||
'teachers': Teachers.search([]),
|
||||
# Parent cf501446e2f8d7a059ef7bd16866ed03c8f2a04f
|
||||
|
||||
diff --git a/academy/controllers.py b/academy/controllers.py
|
||||
--- a/academy/controllers.py
|
||||
+++ b/academy/controllers.py
|
||||
@@ -9,9 +9,9 @@ class Academy(http.Controller):
|
||||
'teachers': Teachers.search([])
|
||||
})
|
||||
|
||||
- @http.route('/academy/<name>/', auth='public', website=True)
|
||||
|
@ -14,3 +16,5 @@ diff -r e9d9740fa185 -r 122340f43602 academy/controllers.py
|
|||
+ def teacher(self, id):
|
||||
+ return '<h1>{} ({})</h1>'.format(id, type(id).__name__)
|
||||
|
||||
|
||||
# @http.route('/academy/academy/objects/', auth='public')
|
||||
|
|
|
@ -1,26 +1,27 @@
|
|||
# HG changeset patch
|
||||
# Parent 91ffd360f3ffd44acb605c09753498b3d5f3f210
|
||||
# Parent 976a92eff9104d355cb86a0b41e883a19e75e923
|
||||
|
||||
diff --git a/academy/templates.xml b/academy/templates.xml
|
||||
--- a/academy/templates.xml
|
||||
+++ b/academy/templates.xml
|
||||
@@ -5,7 +5,9 @@
|
||||
<div class="oe_structure">
|
||||
<div class="container">
|
||||
<t t-foreach="teachers" t-as="teacher">
|
||||
- <p><t t-esc="teacher.id"/> <t t-esc="teacher.name"/></p>
|
||||
+ <p><a t-attf-href="/academy/{{ slug(teacher) }}">
|
||||
+ <t t-esc="teacher.name"/></a>
|
||||
+ </p>
|
||||
</t>
|
||||
</div>
|
||||
</div>
|
||||
@@ -6,7 +6,9 @@
|
||||
<div class="oe_structure">
|
||||
<div class="container">
|
||||
<t t-foreach="teachers" t-as="teacher">
|
||||
- <p><t t-esc="teacher.id"/> <t t-esc="teacher.name"/></p>
|
||||
+ <p><a t-attf-href="/academy/{{ slug(teacher) }}">
|
||||
+ <t t-esc="teacher.name"/></a>
|
||||
+ </p>
|
||||
</t>
|
||||
</div>
|
||||
</div>
|
||||
@@ -18,7 +20,7 @@
|
||||
<div class="oe_structure"/>
|
||||
<div class="oe_structure">
|
||||
<div class="container">
|
||||
- <p><t t-esc="person.id"/> <t t-esc="person.name"/></p>
|
||||
+ <h3><t t-esc="person.name"/></h3>
|
||||
</div>
|
||||
</div>
|
||||
<div class="oe_structure"/>
|
||||
<div class="oe_structure"/>
|
||||
<div class="oe_structure">
|
||||
<div class="container">
|
||||
- <p><t t-esc="person.id"/> <t t-esc="person.name"/></p>
|
||||
+ <h3><t t-esc="person.name"/></h3>
|
||||
</div>
|
||||
</div>
|
||||
<div class="oe_structure"/>
|
||||
|
|
|
@ -1,19 +1,22 @@
|
|||
# HG changeset patch
|
||||
# Parent c8cc9e66a2701dad6589ff1d950e1cb7738d0854
|
||||
diff -r c8cc9e66a270 -r 0201053e995d academy/__openerp__.py
|
||||
--- a/academy/__openerp__.py Wed Aug 13 10:11:49 2014 +0200
|
||||
+++ b/academy/__openerp__.py Wed Aug 13 11:04:49 2014 +0200
|
||||
@@ -10,6 +10,7 @@
|
||||
# Parent 44a09b8865d418cda8b7c46dfb70fadc86e22184
|
||||
|
||||
diff --git a/academy/__openerp__.py b/academy/__openerp__.py
|
||||
--- a/academy/__openerp__.py
|
||||
+++ b/academy/__openerp__.py
|
||||
@@ -26,6 +26,7 @@
|
||||
'data': [
|
||||
'ir.model.access.csv',
|
||||
'security/ir.model.access.csv',
|
||||
'templates.xml',
|
||||
+ 'views.xml',
|
||||
],
|
||||
# data files which are only installed in "demonstration mode"
|
||||
# only loaded in demonstration mode
|
||||
'demo': [
|
||||
diff -r c8cc9e66a270 -r 0201053e995d academy/views.xml
|
||||
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
|
||||
+++ b/academy/views.xml Wed Aug 13 11:04:49 2014 +0200
|
||||
diff --git a/academy/views.xml b/academy/views.xml
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/academy/views.xml
|
||||
@@ -0,0 +1,13 @@
|
||||
+<openerp><data>
|
||||
+ <record id="action_academy_teachers" model="ir.actions.act_window">
|
||||
|
|
|
@ -1,39 +1,42 @@
|
|||
# HG changeset patch
|
||||
# Parent d5ad2ad84a5db0668e4e08fefb6e3f628c2e14d1
|
||||
diff -r d5ad2ad84a5d -r 3e800beb7db0 academy/__openerp__.py
|
||||
--- a/academy/__openerp__.py Mon Aug 11 16:12:38 2014 +0200
|
||||
+++ b/academy/__openerp__.py Mon Aug 11 16:36:15 2014 +0200
|
||||
@@ -6,4 +6,8 @@
|
||||
""",
|
||||
# Which modules must be installed for this one to work
|
||||
'depends': ['base'],
|
||||
+ # data files which are always installed
|
||||
+ 'data': [
|
||||
+ 'templates.xml',
|
||||
+ ],
|
||||
}
|
||||
diff -r d5ad2ad84a5d -r 3e800beb7db0 academy/controllers.py
|
||||
--- a/academy/controllers.py Mon Aug 11 16:12:38 2014 +0200
|
||||
+++ b/academy/controllers.py Mon Aug 11 16:36:15 2014 +0200
|
||||
@@ -4,5 +4,7 @@ from openerp import http
|
||||
# Parent e65c9826721cb2421131399bc9223e03b482d38f
|
||||
|
||||
diff --git a/academy/controllers.py b/academy/controllers.py
|
||||
--- a/academy/controllers.py
|
||||
+++ b/academy/controllers.py
|
||||
@@ -4,7 +4,9 @@ from openerp import http
|
||||
class Academy(http.Controller):
|
||||
@http.route('/academy/', auth='public')
|
||||
def index(self):
|
||||
- return "Hello, world!"
|
||||
@http.route('/academy/academy/', auth='public')
|
||||
def index(self, **kw):
|
||||
- return "Hello, world"
|
||||
+ return http.request.render('academy.index', {
|
||||
+ 'teachers': ["Diana Padilla", "Jody Caroll", "Lester Vaughn"],
|
||||
+ })
|
||||
|
||||
diff -r d5ad2ad84a5d -r 3e800beb7db0 academy/templates.xml
|
||||
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
|
||||
+++ b/academy/templates.xml Mon Aug 11 16:36:15 2014 +0200
|
||||
@@ -0,0 +1,8 @@
|
||||
+<openerp><data>
|
||||
+ <template id="index">
|
||||
+ <title>Academy</title>
|
||||
+ <t t-foreach="teachers" t-as="teacher">
|
||||
+ <p><t t-esc="teacher"/></p>
|
||||
+ </t>
|
||||
+ </template>
|
||||
+</data></openerp>
|
||||
\ No newline at end of file
|
||||
# @http.route('/academy/academy/objects/', auth='public')
|
||||
# def list(self, **kw):
|
||||
diff --git a/academy/templates.xml b/academy/templates.xml
|
||||
--- a/academy/templates.xml
|
||||
+++ b/academy/templates.xml
|
||||
@@ -1,14 +1,11 @@
|
||||
<openerp>
|
||||
<data>
|
||||
- <!-- <template id="listing"> -->
|
||||
- <!-- <ul> -->
|
||||
- <!-- <li t-foreach="objects" t-as="object"> -->
|
||||
- <!-- <a t-attf-href="#{ root }/objects/#{ object.id }"> -->
|
||||
- <!-- <t t-esc="object.display_name"/> -->
|
||||
- <!-- </a> -->
|
||||
- <!-- </li> -->
|
||||
- <!-- </ul> -->
|
||||
- <!-- </template> -->
|
||||
+ <template id="index">
|
||||
+ <title>Academy</title>
|
||||
+ <t t-foreach="teachers" t-as="teacher">
|
||||
+ <p><t t-esc="teacher"/></p>
|
||||
+ </t>
|
||||
+ </template>
|
||||
<!-- <template id="object"> -->
|
||||
<!-- <h1><t t-esc="object.display_name"/></h1> -->
|
||||
<!-- <dl> -->
|
||||
|
|
|
@ -1,47 +1,50 @@
|
|||
# HG changeset patch
|
||||
# Parent 7ae0db4c2ddf5d0f7f58db2af8976fcec905cc4e
|
||||
diff -r 7ae0db4c2ddf -r 0795247fa6cb academy/__openerp__.py
|
||||
--- a/academy/__openerp__.py Tue Aug 12 11:24:14 2014 +0200
|
||||
+++ b/academy/__openerp__.py Tue Aug 12 11:27:14 2014 +0200
|
||||
@@ -5,7 +5,7 @@
|
||||
'description': """
|
||||
""",
|
||||
# Which modules must be installed for this one to work
|
||||
# Parent 06f959831b14dd5d2e0a57d3e14bf919e18f8e3a
|
||||
|
||||
diff --git a/academy/__openerp__.py b/academy/__openerp__.py
|
||||
--- a/academy/__openerp__.py
|
||||
+++ b/academy/__openerp__.py
|
||||
@@ -20,7 +20,7 @@
|
||||
'version': '0.1',
|
||||
|
||||
# any module necessary for this one to work correctly
|
||||
- 'depends': ['base'],
|
||||
+ 'depends': ['website'],
|
||||
# data files which are always installed
|
||||
|
||||
# always loaded
|
||||
'data': [
|
||||
'ir.model.access.csv',
|
||||
diff -r 7ae0db4c2ddf -r 0795247fa6cb academy/controllers.py
|
||||
--- a/academy/controllers.py Tue Aug 12 11:24:14 2014 +0200
|
||||
+++ b/academy/controllers.py Tue Aug 12 11:27:14 2014 +0200
|
||||
diff --git a/academy/controllers.py b/academy/controllers.py
|
||||
--- a/academy/controllers.py
|
||||
+++ b/academy/controllers.py
|
||||
@@ -2,7 +2,7 @@
|
||||
from openerp import http
|
||||
|
||||
class Academy(http.Controller):
|
||||
- @http.route('/academy/', auth='public')
|
||||
+ @http.route('/academy/', auth='public', website=True)
|
||||
def index(self):
|
||||
- @http.route('/academy/academy/', auth='public')
|
||||
+ @http.route('/academy/academy/', auth='public', website=True)
|
||||
def index(self, **kw):
|
||||
Teachers = http.request.env['academy.teachers']
|
||||
return http.request.render('academy.index', {
|
||||
diff -r 7ae0db4c2ddf -r 0795247fa6cb academy/templates.xml
|
||||
--- a/academy/templates.xml Tue Aug 12 11:24:14 2014 +0200
|
||||
+++ b/academy/templates.xml Tue Aug 12 11:27:14 2014 +0200
|
||||
@@ -1,8 +1,14 @@
|
||||
<openerp><data>
|
||||
<template id="index">
|
||||
- <title>Academy</title>
|
||||
- <t t-foreach="teachers" t-as="teacher">
|
||||
- <p><t t-esc="teacher.id"/> <t t-esc="teacher.name"/></p>
|
||||
+ <t t-call="website.layout">
|
||||
+ <t t-set="title">Academy</t>
|
||||
+ <div class="oe_structure">
|
||||
+ <div class="container">
|
||||
+ <t t-foreach="teachers" t-as="teacher">
|
||||
+ <p><t t-esc="teacher.id"/> <t t-esc="teacher.name"/></p>
|
||||
+ </t>
|
||||
+ </div>
|
||||
+ </div>
|
||||
</t>
|
||||
</template>
|
||||
</data></openerp>
|
||||
diff --git a/academy/templates.xml b/academy/templates.xml
|
||||
--- a/academy/templates.xml
|
||||
+++ b/academy/templates.xml
|
||||
@@ -1,9 +1,15 @@
|
||||
<openerp>
|
||||
<data>
|
||||
<template id="index">
|
||||
- <title>Academy</title>
|
||||
- <t t-foreach="teachers" t-as="teacher">
|
||||
- <p><t t-esc="teacher.id"/> <t t-esc="teacher.name"/></p>
|
||||
+ <t t-call="website.layout">
|
||||
+ <t t-set="title">Academy</t>
|
||||
+ <div class="oe_structure">
|
||||
+ <div class="container">
|
||||
+ <t t-foreach="teachers" t-as="teacher">
|
||||
+ <p><t t-esc="teacher.id"/> <t t-esc="teacher.name"/></p>
|
||||
+ </t>
|
||||
+ </div>
|
||||
+ </div>
|
||||
</t>
|
||||
</template>
|
||||
<!-- <template id="object"> -->
|
||||
|
|
Loading…
Reference in New Issue