[IMP] doc/howtos/backend: fix calendar view, improve search view, fix copy()
This commit is contained in:
parent
9094d768d0
commit
628ebef5b9
|
@ -922,7 +922,7 @@ Model constraints
|
|||
|
||||
Odoo provides two ways to set up automatically verified invariants:
|
||||
:func:`Python constraints <openerp.api.constrains>` and
|
||||
:attr:`SQL constaints <openerp.models.Model._sql_constraints>`.
|
||||
:attr:`SQL constraints <openerp.models.Model._sql_constraints>`.
|
||||
|
||||
A Python constraint is defined as a method decorated with
|
||||
:func:`~openerp.api.constrains`, and invoked on a recordset. The decorator
|
||||
|
@ -1064,21 +1064,35 @@ field (to define the label for each calendar event)
|
|||
Search views
|
||||
------------
|
||||
|
||||
Search view fields can take custom operators or :ref:`reference/orm/domains`
|
||||
for more flexible matching of results.
|
||||
Search view ``<field>`` elements can have a ``@filter_domain`` that overrides
|
||||
the domain generated for searching on the given field. In the given domain,
|
||||
``self`` represents the value entered by the user. In the example below, it is
|
||||
used to search on both fields ``name`` and ``description``.
|
||||
|
||||
Search views can also contain *filters* which act as toggles for predefined
|
||||
searches (defined using :ref:`reference/orm/domains`):
|
||||
Search views can also contain ``<filter>`` elements, which act as toggles for
|
||||
predefined searches. Filters must have one of the following attributes:
|
||||
|
||||
``domain``
|
||||
add the given domain to the current search
|
||||
``context``
|
||||
add some context to the current search; use the key ``group_by`` to group
|
||||
results on the given field name
|
||||
|
||||
.. code-block:: xml
|
||||
|
||||
<search string="Ideas">
|
||||
<filter name="my_ideas" domain="[('inventor_id','=',uid)]"
|
||||
string="My Ideas" icon="terp-partner"/>
|
||||
<field name="name"/>
|
||||
<field name="description"/>
|
||||
<field name="description" string="Name and description"
|
||||
filter_domain="['|', ('name', 'ilike', self), ('description', 'ilike', self)]"/>
|
||||
<field name="inventor_id"/>
|
||||
<field name="country_id" widget="selection"/>
|
||||
|
||||
<filter name="my_ideas" string="My Ideas"
|
||||
domain="[('inventor_id', '=', uid)]"/>
|
||||
<group string="Group By">
|
||||
<filter name="group_by_inventor" string="Inventor"
|
||||
context="{'group_by': 'inventor'}"/>
|
||||
</group>
|
||||
</search>
|
||||
|
||||
To use a non-default search view in an action, it should be linked using the
|
||||
|
@ -1092,8 +1106,9 @@ default and behave as booleans (they can only be enabled by default).
|
|||
|
||||
.. exercise:: Search views
|
||||
|
||||
Add a button to filter the courses for which the current user is the
|
||||
#. Add a button to filter the courses for which the current user is the
|
||||
responsible in the course search view. Make it selected by default.
|
||||
#. Add a button to group courses by responsible user.
|
||||
|
||||
.. only:: solutions
|
||||
|
||||
|
@ -1544,8 +1559,8 @@ for editing and merging PO/POT files.
|
|||
dedicated PO-file editor e.g. POEdit_ and translate the missing
|
||||
terms
|
||||
|
||||
#. Add ``from openerp import _`` to ``course.py`` and
|
||||
mark missing strings as translatable
|
||||
#. In ``models.py``, add an import statement for the function
|
||||
``openerp._`` and mark missing strings as translatable
|
||||
|
||||
#. Repeat steps 3-6
|
||||
|
||||
|
|
|
@ -3,8 +3,8 @@
|
|||
|
||||
Index: addons/openacademy/models.py
|
||||
===================================================================
|
||||
--- addons.orig/openacademy/models.py 2014-08-26 17:26:10.179783221 +0200
|
||||
+++ addons/openacademy/models.py 2014-08-26 17:26:10.171783221 +0200
|
||||
--- addons.orig/openacademy/models.py 2014-08-28 13:45:01.987048512 +0200
|
||||
+++ addons/openacademy/models.py 2014-08-28 13:59:30.387035620 +0200
|
||||
@@ -1,5 +1,6 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
|
@ -21,7 +21,7 @@ Index: addons/openacademy/models.py
|
|||
|
||||
@api.one
|
||||
@api.depends('seats', 'attendee_ids')
|
||||
@@ -82,6 +85,26 @@
|
||||
@@ -82,6 +85,30 @@
|
||||
}
|
||||
|
||||
@api.one
|
||||
|
@ -31,8 +31,10 @@ Index: addons/openacademy/models.py
|
|||
+ self.end_date = self.start_date
|
||||
+ return
|
||||
+
|
||||
+ # Add duration to start_date, but: Monday + 5 days = Saturday, so
|
||||
+ # subtract one second to get on Friday instead
|
||||
+ start = fields.Datetime.from_string(self.start_date)
|
||||
+ duration = timedelta(days=self.duration)
|
||||
+ duration = timedelta(days=self.duration, seconds=-1)
|
||||
+ self.end_date = start + duration
|
||||
+
|
||||
+ @api.one
|
||||
|
@ -40,9 +42,11 @@ Index: addons/openacademy/models.py
|
|||
+ if not (self.start_date and self.end_date):
|
||||
+ return
|
||||
+
|
||||
+ # Compute the difference between dates, but: Friday - Monday = 4 days,
|
||||
+ # so add one day to get 5 days instead
|
||||
+ start_date = fields.Datetime.from_string(self.start_date)
|
||||
+ end_date = fields.Datetime.from_string(self.end_date)
|
||||
+ self.duration = (end_date - start_date).days
|
||||
+ self.duration = (end_date - start_date).days + 1
|
||||
+
|
||||
+ @api.one
|
||||
@api.constrains('instructor_id', 'attendee_ids')
|
||||
|
@ -50,8 +54,8 @@ Index: addons/openacademy/models.py
|
|||
if self.instructor_id and self.instructor_id in self.attendee_ids:
|
||||
Index: addons/openacademy/views/openacademy.xml
|
||||
===================================================================
|
||||
--- addons.orig/openacademy/views/openacademy.xml 2014-08-26 17:26:10.179783221 +0200
|
||||
+++ addons/openacademy/views/openacademy.xml 2014-08-26 17:26:10.171783221 +0200
|
||||
--- addons.orig/openacademy/views/openacademy.xml 2014-08-28 13:45:01.987048512 +0200
|
||||
+++ addons/openacademy/views/openacademy.xml 2014-08-28 13:54:02.000000000 +0200
|
||||
@@ -125,11 +125,24 @@
|
||||
</field>
|
||||
</record>
|
||||
|
|
|
@ -3,8 +3,8 @@
|
|||
|
||||
Index: addons/openacademy/models.py
|
||||
===================================================================
|
||||
--- addons.orig/openacademy/models.py 2014-08-27 14:20:12.363110598 +0200
|
||||
+++ addons/openacademy/models.py 2014-08-27 14:20:12.359110598 +0200
|
||||
--- addons.orig/openacademy/models.py 2014-08-28 11:00:44.343194847 +0200
|
||||
+++ addons/openacademy/models.py 2014-08-28 13:44:32.143048955 +0200
|
||||
@@ -13,6 +13,20 @@
|
||||
session_ids = fields.One2many(
|
||||
'openacademy.session', 'course_id', string="Sessions")
|
||||
|
@ -14,11 +14,11 @@ Index: addons/openacademy/models.py
|
|||
+ default = dict(default or {})
|
||||
+
|
||||
+ copied_count = self.search_count(
|
||||
+ [('name', '=like', "Copy of {}%".format(self.name))])
|
||||
+ [('name', '=like', u"Copy of {}%".format(self.name))])
|
||||
+ if not copied_count:
|
||||
+ new_name = "Copy of {}".format(self.name)
|
||||
+ new_name = u"Copy of {}".format(self.name)
|
||||
+ else:
|
||||
+ new_name = "Copy of {} ({})".format(self.name, copied_count)
|
||||
+ new_name = u"Copy of {} ({})".format(self.name, copied_count)
|
||||
+
|
||||
+ default['name'] = new_name
|
||||
+ return super(Course, self).copy(default)
|
||||
|
|
|
@ -3,8 +3,8 @@
|
|||
|
||||
Index: addons/openacademy/models.py
|
||||
===================================================================
|
||||
--- addons.orig/openacademy/models.py 2014-08-26 17:26:12.059783193 +0200
|
||||
+++ addons/openacademy/models.py 2014-08-26 17:26:12.051783193 +0200
|
||||
--- addons.orig/openacademy/models.py 2014-08-28 14:21:46.543015785 +0200
|
||||
+++ addons/openacademy/models.py 2014-08-28 14:21:46.539015785 +0200
|
||||
@@ -59,6 +59,9 @@
|
||||
end_date = fields.Date(string="End Date", store=True,
|
||||
compute='_get_end_date', inverse='_set_end_date')
|
||||
|
@ -15,8 +15,8 @@ Index: addons/openacademy/models.py
|
|||
@api.one
|
||||
@api.depends('seats', 'attendee_ids')
|
||||
def _taken_seats(self):
|
||||
@@ -105,6 +108,15 @@
|
||||
self.duration = (end_date - start_date).days
|
||||
@@ -109,6 +112,15 @@
|
||||
self.duration = (end_date - start_date).days + 1
|
||||
|
||||
@api.one
|
||||
+ @api.depends('duration')
|
||||
|
@ -33,9 +33,9 @@ Index: addons/openacademy/models.py
|
|||
if self.instructor_id and self.instructor_id in self.attendee_ids:
|
||||
Index: addons/openacademy/views/openacademy.xml
|
||||
===================================================================
|
||||
--- addons.orig/openacademy/views/openacademy.xml 2014-08-26 17:26:12.059783193 +0200
|
||||
+++ addons/openacademy/views/openacademy.xml 2014-08-26 17:26:12.055783193 +0200
|
||||
@@ -142,11 +142,24 @@
|
||||
--- addons.orig/openacademy/views/openacademy.xml 2014-08-28 14:21:46.543015785 +0200
|
||||
+++ addons/openacademy/views/openacademy.xml 2014-08-28 14:21:46.539015785 +0200
|
||||
@@ -145,11 +145,24 @@
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
|
|
@ -3,8 +3,8 @@
|
|||
|
||||
Index: addons/openacademy/models.py
|
||||
===================================================================
|
||||
--- addons.orig/openacademy/models.py 2014-08-26 17:26:13.007783179 +0200
|
||||
+++ addons/openacademy/models.py 2014-08-26 17:26:12.999783179 +0200
|
||||
--- addons.orig/openacademy/models.py 2014-08-28 14:21:55.039015659 +0200
|
||||
+++ addons/openacademy/models.py 2014-08-28 14:21:55.031015659 +0200
|
||||
@@ -62,6 +62,9 @@
|
||||
hours = fields.Float(string="Duration in hours",
|
||||
compute='_get_hours', inverse='_set_hours')
|
||||
|
@ -15,7 +15,7 @@ Index: addons/openacademy/models.py
|
|||
@api.one
|
||||
@api.depends('seats', 'attendee_ids')
|
||||
def _taken_seats(self):
|
||||
@@ -117,6 +120,11 @@
|
||||
@@ -121,6 +124,11 @@
|
||||
self.duration = self.hours / 24
|
||||
|
||||
@api.one
|
||||
|
@ -29,9 +29,9 @@ Index: addons/openacademy/models.py
|
|||
if self.instructor_id and self.instructor_id in self.attendee_ids:
|
||||
Index: addons/openacademy/views/openacademy.xml
|
||||
===================================================================
|
||||
--- addons.orig/openacademy/views/openacademy.xml 2014-08-26 17:26:13.007783179 +0200
|
||||
+++ addons/openacademy/views/openacademy.xml 2014-08-26 17:26:12.999783179 +0200
|
||||
@@ -155,11 +155,22 @@
|
||||
--- addons.orig/openacademy/views/openacademy.xml 2014-08-28 14:21:55.039015659 +0200
|
||||
+++ addons/openacademy/views/openacademy.xml 2014-08-28 14:21:55.031015659 +0200
|
||||
@@ -158,11 +158,22 @@
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
|
|
@ -3,8 +3,8 @@
|
|||
|
||||
Index: addons/openacademy/models.py
|
||||
===================================================================
|
||||
--- addons.orig/openacademy/models.py 2014-08-26 17:26:13.919783165 +0200
|
||||
+++ addons/openacademy/models.py 2014-08-26 17:26:13.915783165 +0200
|
||||
--- addons.orig/openacademy/models.py 2014-08-28 14:21:58.627015606 +0200
|
||||
+++ addons/openacademy/models.py 2014-08-28 14:21:58.623015606 +0200
|
||||
@@ -47,6 +47,7 @@
|
||||
duration = fields.Float(digits=(6, 2), help="Duration in days")
|
||||
seats = fields.Integer(string="Number of seats")
|
||||
|
@ -15,9 +15,9 @@ Index: addons/openacademy/models.py
|
|||
domain=['|', ('instructor', '=', True),
|
||||
Index: addons/openacademy/views/openacademy.xml
|
||||
===================================================================
|
||||
--- addons.orig/openacademy/views/openacademy.xml 2014-08-26 17:26:13.919783165 +0200
|
||||
+++ addons/openacademy/views/openacademy.xml 2014-08-26 17:26:13.915783165 +0200
|
||||
@@ -166,11 +166,57 @@
|
||||
--- addons.orig/openacademy/views/openacademy.xml 2014-08-28 14:21:58.627015606 +0200
|
||||
+++ addons/openacademy/views/openacademy.xml 2014-08-28 14:21:58.623015606 +0200
|
||||
@@ -169,11 +169,57 @@
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
|
|
@ -3,21 +3,22 @@
|
|||
|
||||
Index: addons/openacademy/views/openacademy.xml
|
||||
===================================================================
|
||||
--- addons.orig/openacademy/views/openacademy.xml 2014-08-26 17:26:11.107783207 +0200
|
||||
+++ addons/openacademy/views/openacademy.xml 2014-08-26 17:26:11.099783207 +0200
|
||||
@@ -33,7 +33,10 @@
|
||||
<field name="name">course.search</field>
|
||||
<field name="model">openacademy.course</field>
|
||||
<field name="arch" type="xml">
|
||||
- <search>
|
||||
+ <search string="Session Search">
|
||||
+ <filter string="My Courses" name="my_courses"
|
||||
+ domain="[('responsible_id', '=', uid)]"
|
||||
+ help="My own sessions"/>
|
||||
--- addons.orig/openacademy/views/openacademy.xml 2014-08-28 14:01:45.299033618 +0200
|
||||
+++ addons/openacademy/views/openacademy.xml 2014-08-28 14:18:58.847018275 +0200
|
||||
@@ -36,6 +36,12 @@
|
||||
<search>
|
||||
<field name="name"/>
|
||||
<field name="description"/>
|
||||
+ <filter name="my_courses" string="My Courses"
|
||||
+ domain="[('responsible_id', '=', uid)]"/>
|
||||
+ <group string="Group By">
|
||||
+ <filter name="by_responsible" string="Responsible"
|
||||
+ context="{'group_by': 'responsible_id'}"/>
|
||||
+ </group>
|
||||
</search>
|
||||
@@ -62,6 +65,7 @@
|
||||
</field>
|
||||
</record>
|
||||
@@ -62,6 +68,7 @@
|
||||
<field name="res_model">openacademy.course</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
|
|
|
@ -3,8 +3,8 @@
|
|||
|
||||
Index: addons/openacademy/models.py
|
||||
===================================================================
|
||||
--- addons.orig/openacademy/models.py 2014-08-26 17:26:14.907783150 +0200
|
||||
+++ addons/openacademy/models.py 2014-08-26 17:26:14.899783151 +0200
|
||||
--- addons.orig/openacademy/models.py 2014-08-28 14:22:01.371015565 +0200
|
||||
+++ addons/openacademy/models.py 2014-08-28 14:22:01.367015565 +0200
|
||||
@@ -66,6 +66,24 @@
|
||||
attendees_count = fields.Integer(
|
||||
string="Attendees count", compute='_get_attendees_count', store=True)
|
||||
|
@ -32,9 +32,9 @@ Index: addons/openacademy/models.py
|
|||
def _taken_seats(self):
|
||||
Index: addons/openacademy/views/openacademy.xml
|
||||
===================================================================
|
||||
--- addons.orig/openacademy/views/openacademy.xml 2014-08-26 17:26:14.907783150 +0200
|
||||
+++ addons/openacademy/views/openacademy.xml 2014-08-26 17:26:14.899783151 +0200
|
||||
@@ -93,6 +93,19 @@
|
||||
--- addons.orig/openacademy/views/openacademy.xml 2014-08-28 14:22:01.371015565 +0200
|
||||
+++ addons/openacademy/views/openacademy.xml 2014-08-28 14:22:01.367015565 +0200
|
||||
@@ -96,6 +96,19 @@
|
||||
<field name="model">openacademy.session</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Session Form">
|
||||
|
|
|
@ -3,8 +3,8 @@
|
|||
|
||||
Index: addons/openacademy/__openerp__.py
|
||||
===================================================================
|
||||
--- addons.orig/openacademy/__openerp__.py 2014-08-26 17:26:15.771783138 +0200
|
||||
+++ addons/openacademy/__openerp__.py 2014-08-26 17:26:15.763783138 +0200
|
||||
--- addons.orig/openacademy/__openerp__.py 2014-08-28 14:22:04.135015524 +0200
|
||||
+++ addons/openacademy/__openerp__.py 2014-08-28 14:22:04.131015524 +0200
|
||||
@@ -29,6 +29,7 @@
|
||||
'templates.xml',
|
||||
'views/openacademy.xml',
|
||||
|
@ -15,8 +15,8 @@ Index: addons/openacademy/__openerp__.py
|
|||
'demo': [
|
||||
Index: addons/openacademy/models.py
|
||||
===================================================================
|
||||
--- addons.orig/openacademy/models.py 2014-08-26 17:26:15.771783138 +0200
|
||||
+++ addons/openacademy/models.py 2014-08-26 17:26:15.763783138 +0200
|
||||
--- addons.orig/openacademy/models.py 2014-08-28 14:22:04.135015524 +0200
|
||||
+++ addons/openacademy/models.py 2014-08-28 14:22:04.131015524 +0200
|
||||
@@ -70,7 +70,7 @@
|
||||
('draft', "Draft"),
|
||||
('confirmed', "Confirmed"),
|
||||
|
@ -28,9 +28,9 @@ Index: addons/openacademy/models.py
|
|||
def action_draft(self):
|
||||
Index: addons/openacademy/views/openacademy.xml
|
||||
===================================================================
|
||||
--- addons.orig/openacademy/views/openacademy.xml 2014-08-26 17:26:15.771783138 +0200
|
||||
+++ addons/openacademy/views/openacademy.xml 2014-08-26 17:26:15.763783138 +0200
|
||||
@@ -94,13 +94,13 @@
|
||||
--- addons.orig/openacademy/views/openacademy.xml 2014-08-28 14:22:04.135015524 +0200
|
||||
+++ addons/openacademy/views/openacademy.xml 2014-08-28 14:22:04.131015524 +0200
|
||||
@@ -97,13 +97,13 @@
|
||||
<field name="arch" type="xml">
|
||||
<form string="Session Form">
|
||||
<header>
|
||||
|
@ -50,7 +50,7 @@ Index: addons/openacademy/views/openacademy.xml
|
|||
Index: addons/openacademy/views/session_workflow.xml
|
||||
===================================================================
|
||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ addons/openacademy/views/session_workflow.xml 2014-08-26 17:26:15.763783138 +0200
|
||||
+++ addons/openacademy/views/session_workflow.xml 2014-08-28 14:22:04.131015524 +0200
|
||||
@@ -0,0 +1,50 @@
|
||||
+<openerp>
|
||||
+ <data>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
Index: addons/openacademy/models.py
|
||||
===================================================================
|
||||
--- addons.orig/openacademy/models.py 2014-08-26 17:26:19.919783076 +0200
|
||||
+++ addons/openacademy/models.py 2014-08-26 17:26:19.915783076 +0200
|
||||
--- addons.orig/openacademy/models.py 2014-08-28 14:02:42.203032773 +0200
|
||||
+++ addons/openacademy/models.py 2014-08-28 14:06:54.871029022 +0200
|
||||
@@ -1,7 +1,7 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
|
@ -11,6 +11,21 @@ Index: addons/openacademy/models.py
|
|||
|
||||
class Course(models.Model):
|
||||
_name = 'openacademy.course'
|
||||
@@ -19,11 +19,11 @@
|
||||
default = dict(default or {})
|
||||
|
||||
copied_count = self.search_count(
|
||||
- [('name', '=like', u"Copy of {}%".format(self.name))])
|
||||
+ [('name', '=like', _(u"Copy of {}%").format(self.name))])
|
||||
if not copied_count:
|
||||
- new_name = u"Copy of {}".format(self.name)
|
||||
+ new_name = _(u"Copy of {}").format(self.name)
|
||||
else:
|
||||
- new_name = u"Copy of {} ({})".format(self.name, copied_count)
|
||||
+ new_name = _(u"Copy of {} ({})").format(self.name, copied_count)
|
||||
|
||||
default['name'] = new_name
|
||||
return super(Course, self).copy(default)
|
||||
@@ -97,15 +97,15 @@
|
||||
if self.seats < 0:
|
||||
return {
|
||||
|
@ -31,7 +46,7 @@ Index: addons/openacademy/models.py
|
|||
},
|
||||
}
|
||||
|
||||
@@ -147,4 +147,4 @@
|
||||
@@ -151,4 +151,4 @@
|
||||
@api.constrains('instructor_id', 'attendee_ids')
|
||||
def _check_instructor_not_in_attendees(self):
|
||||
if self.instructor_id and self.instructor_id in self.attendee_ids:
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
Index: addons/openacademy/views/openacademy.xml
|
||||
===================================================================
|
||||
--- addons.orig/openacademy/views/openacademy.xml 2014-08-27 15:01:00.355074258 +0200
|
||||
+++ addons/openacademy/views/openacademy.xml 2014-08-27 15:04:45.891070910 +0200
|
||||
@@ -245,6 +245,12 @@
|
||||
--- addons.orig/openacademy/views/openacademy.xml 2014-08-28 14:34:19.255004611 +0200
|
||||
+++ addons/openacademy/views/openacademy.xml 2014-08-28 14:34:19.251004612 +0200
|
||||
@@ -248,6 +248,12 @@
|
||||
<field name="session_id"/>
|
||||
<field name="attendee_ids"/>
|
||||
</group>
|
||||
|
@ -17,8 +17,8 @@ Index: addons/openacademy/views/openacademy.xml
|
|||
</record>
|
||||
Index: addons/openacademy/wizard.py
|
||||
===================================================================
|
||||
--- addons.orig/openacademy/wizard.py 2014-08-27 14:43:02.323090261 +0200
|
||||
+++ addons/openacademy/wizard.py 2014-08-27 15:05:28.407070278 +0200
|
||||
--- addons.orig/openacademy/wizard.py 2014-08-28 14:34:19.255004611 +0200
|
||||
+++ addons/openacademy/wizard.py 2014-08-28 14:34:19.251004612 +0200
|
||||
@@ -11,3 +11,8 @@
|
||||
session_id = fields.Many2one('openacademy.session',
|
||||
string="Session", required=True, default=_default_session)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
Index: addons/openacademy/wizard.py
|
||||
===================================================================
|
||||
--- addons.orig/openacademy/wizard.py 2014-08-27 14:24:39.195106637 +0200
|
||||
+++ addons/openacademy/wizard.py 2014-08-27 14:43:02.323090261 +0200
|
||||
--- addons.orig/openacademy/wizard.py 2014-08-28 14:34:07.879004780 +0200
|
||||
+++ addons/openacademy/wizard.py 2014-08-28 14:34:07.871004780 +0200
|
||||
@@ -5,6 +5,9 @@
|
||||
class Wizard(models.TransientModel):
|
||||
_name = 'openacademy.wizard'
|
||||
|
@ -15,9 +15,9 @@ Index: addons/openacademy/wizard.py
|
|||
attendee_ids = fields.Many2many('res.partner', string="Attendees")
|
||||
Index: addons/openacademy/views/openacademy.xml
|
||||
===================================================================
|
||||
--- addons.orig/openacademy/views/openacademy.xml 2014-08-27 14:20:50.071110038 +0200
|
||||
+++ addons/openacademy/views/openacademy.xml 2014-08-27 15:01:00.355074258 +0200
|
||||
@@ -235,5 +235,26 @@
|
||||
--- addons.orig/openacademy/views/openacademy.xml 2014-08-28 14:34:07.879004780 +0200
|
||||
+++ addons/openacademy/views/openacademy.xml 2014-08-28 14:34:07.871004780 +0200
|
||||
@@ -238,5 +238,26 @@
|
||||
<menuitem id="session_menu" name="Sessions"
|
||||
parent="openacademy_menu"
|
||||
action="session_list_action"/>
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
Index: addons/openacademy/views/openacademy.xml
|
||||
===================================================================
|
||||
--- addons.orig/openacademy/views/openacademy.xml 2014-08-27 15:04:45.891070910 +0200
|
||||
+++ addons/openacademy/views/openacademy.xml 2014-08-27 15:27:13.919050898 +0200
|
||||
@@ -242,7 +242,7 @@
|
||||
--- addons.orig/openacademy/views/openacademy.xml 2014-08-28 14:34:28.583004473 +0200
|
||||
+++ addons/openacademy/views/openacademy.xml 2014-08-28 14:34:28.579004473 +0200
|
||||
@@ -245,7 +245,7 @@
|
||||
<field name="arch" type="xml">
|
||||
<form string="Add Attendees">
|
||||
<group>
|
||||
|
@ -13,8 +13,8 @@ Index: addons/openacademy/views/openacademy.xml
|
|||
<footer>
|
||||
Index: addons/openacademy/wizard.py
|
||||
===================================================================
|
||||
--- addons.orig/openacademy/wizard.py 2014-08-27 15:05:28.407070278 +0200
|
||||
+++ addons/openacademy/wizard.py 2014-08-27 15:27:07.119050999 +0200
|
||||
--- addons.orig/openacademy/wizard.py 2014-08-28 14:34:28.583004473 +0200
|
||||
+++ addons/openacademy/wizard.py 2014-08-28 14:34:28.579004473 +0200
|
||||
@@ -5,14 +5,15 @@
|
||||
class Wizard(models.TransientModel):
|
||||
_name = 'openacademy.wizard'
|
||||
|
|
Loading…
Reference in New Issue