summaryrefslogtreecommitdiff
path: root/addons/web/static/src
diff options
context:
space:
mode:
authorChristophe Matthieu <chm@odoo.com>2017-06-01 16:28:52 +0200
committerChristophe Matthieu <chm@odoo.com>2017-06-06 16:17:30 +0200
commit1b07daf2ed94073e2db5ff0468c328a2a791687c (patch)
treeb9df0f0bb01eb728dde572fedf1f8d2998f07d2d /addons/web/static/src
parentab0bd7be2523d562db9cd9f51ed377b05d96ab25 (diff)
[FIX] calendar: can create an event with start_date as readonly
Before this fix, if the start field is readonly, the user could not create an event. With this commit, it is also ensured that the context sends the right default values to the view
Diffstat (limited to 'addons/web/static/src')
-rw-r--r--addons/web/static/src/js/views/calendar/calendar_controller.js6
-rw-r--r--addons/web/static/src/js/views/calendar/calendar_model.js2
-rw-r--r--addons/web/static/src/js/views/calendar/calendar_view.js1
3 files changed, 5 insertions, 4 deletions
diff --git a/addons/web/static/src/js/views/calendar/calendar_controller.js b/addons/web/static/src/js/views/calendar/calendar_controller.js
index 7e668b79dc0..d4c96a15736 100644
--- a/addons/web/static/src/js/views/calendar/calendar_controller.js
+++ b/addons/web/static/src/js/views/calendar/calendar_controller.js
@@ -170,12 +170,12 @@ var CalendarController = AbstractController.extend({
var context = _.extend({}, this.context, event.options && event.options.context);
context.default_name = data.name || null;
- context['default_' + this.mapping.date_start] = data.start || null;
+ context['default_' + this.mapping.date_start] = data[this.mapping.date_start] || null;
if (this.mapping.date_stop) {
- context['default_' + this.mapping.date_stop] = data.stop || null;
+ context['default_' + this.mapping.date_stop] = data[this.mapping.date_stop] || null;
}
if (this.mapping.date_delay) {
- context['default_' + this.mapping.date_delay] = data.duration || null;
+ context['default_' + this.mapping.date_delay] = data[this.mapping.date_delay] || null;
}
if (this.mapping.all_day) {
context['default_' + this.mapping.all_day] = data[this.mapping.all_day] || null;
diff --git a/addons/web/static/src/js/views/calendar/calendar_model.js b/addons/web/static/src/js/views/calendar/calendar_model.js
index 939e44446a8..cb371bfe6f9 100644
--- a/addons/web/static/src/js/views/calendar/calendar_model.js
+++ b/addons/web/static/src/js/views/calendar/calendar_model.js
@@ -181,7 +181,7 @@ return AbstractModel.extend({
// Check whether the date field is editable (i.e. if the events can be
// dragged and dropped)
this.editable = params.editable;
- this.creatable = this.editable;
+ this.creatable = params.creatable;
// display more button when there are too much event on one day
this.eventLimit = params.eventLimit;
diff --git a/addons/web/static/src/js/views/calendar/calendar_view.js b/addons/web/static/src/js/views/calendar/calendar_view.js
index daef6f4fbb0..135224fb0cc 100644
--- a/addons/web/static/src/js/views/calendar/calendar_view.js
+++ b/addons/web/static/src/js/views/calendar/calendar_view.js
@@ -125,6 +125,7 @@ var CalendarView = AbstractView.extend({
this.loadParams.fields = fields;
this.loadParams.fieldsInfo = viewInfo.fieldsInfo;
this.loadParams.editable = !fields[mapping.date_start].readonly;
+ this.loadParams.creatable = true;
this.loadParams.eventLimit = eventLimit;
this.loadParams.fieldColor = attrs.color;