Merge lp:~0k.io/openobject-server/calendar-parsing-and-xml-syntax into lp:openobject-server

Proposed by Valentin Lab
Status: Needs review
Proposed branch: lp:~0k.io/openobject-server/calendar-parsing-and-xml-syntax
Merge into: lp:openobject-server
Diff against target: 42 lines (+4/-3)
2 files modified
openerp/addons/base/rng/view.rng (+1/-0)
openerp/osv/orm.py (+3/-3)
To merge this branch: bzr merge lp:~0k.io/openobject-server/calendar-parsing-and-xml-syntax
Reviewer Review Type Date Requested Status
OpenERP Core Team Pending
Review via email: mp+172331@code.launchpad.net

Description of the change

adding the attribute "all_day" to calendar XML views.
and allowing calendar views in form fields (for one2many or many2many calendar views).

This is related to a full replacement of current ``web_calendar`` module so as to rely on ``fullcalendar`` js project and community to give a living a full-grown calendar solution to OpenERP.

Please note that first commit also contains a syntax error in the code generating a default view for calendar if none provided. This bug was reported (https://bugs.launchpad.net/openobject-server/+bug/1187780), and a fix proposed.

Thanks for your review.

any comments are welcome.

Link to ``web_fullcalendar`` if you are interested: https://github.com/0k/web_fullcalendar

To post a comment you must log in.

Unmerged revisions

4913. By Valentin Lab

new: support of ``all_day`` attribute for calendar views.

4912. By Valentin Lab

new: added ``calendar`` XML view parsing and corrected a bug.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'openerp/addons/base/rng/view.rng'
2--- openerp/addons/base/rng/view.rng 2013-01-30 16:03:06 +0000
3+++ openerp/addons/base/rng/view.rng 2013-07-01 13:08:27 +0000
4@@ -647,6 +647,7 @@
5 <rng:optional><rng:attribute name="date_stop" /></rng:optional>
6 <rng:optional><rng:attribute name="day_length" /></rng:optional>
7 <rng:optional><rng:attribute name="date_delay" /></rng:optional>
8+ <rng:optional><rng:attribute name="all_day" /></rng:optional>
9 <rng:optional><rng:attribute name="type" /></rng:optional>
10 <rng:optional><rng:attribute name="mode" /></rng:optional>
11 <rng:oneOrMore>
12
13=== modified file 'openerp/osv/orm.py'
14--- openerp/osv/orm.py 2013-06-19 09:13:32 +0000
15+++ openerp/osv/orm.py 2013-07-01 13:08:27 +0000
16@@ -1769,7 +1769,7 @@
17 children = False
18 views = {}
19 for f in node:
20- if f.tag in ('form', 'tree', 'graph', 'kanban'):
21+ if f.tag in ('form', 'tree', 'graph', 'kanban', 'calendar'):
22 node.remove(f)
23 ctx = context.copy()
24 ctx['base_model_name'] = self._name
25@@ -1813,7 +1813,7 @@
26 in_tree_view = node.tag == 'tree'
27
28 elif node.tag == 'calendar':
29- for additional_field in ('date_start', 'date_delay', 'date_stop', 'color'):
30+ for additional_field in ('date_start', 'date_delay', 'date_stop', 'color', 'all_day'):
31 if node.get(additional_field):
32 fields[node.get(additional_field)] = {}
33
34@@ -2007,7 +2007,7 @@
35 return False
36
37 view = etree.Element('calendar', string=self._description)
38- etree.SubElement(view, 'field', self._rec_name_fallback(cr, user, context))
39+ etree.SubElement(view, 'field', name=self._rec_name_fallback(cr, user, context))
40
41 if self._date_name not in self._columns:
42 date_found = False