diff --git a/src/sao.js b/src/sao.js index e27e2cc6ad..cc51eac508 100644 --- a/src/sao.js +++ b/src/sao.js @@ -115,7 +115,14 @@ var Sao = {}; Sao.Decimal = Number; Sao.Date = function(year, month, day) { - var date = moment(); + var date; + if (month === undefined) { + date = moment(year); + year = undefined; + } + else { + date = moment(); + } date.year(year); date.month(month); date.date(day); diff --git a/src/view/calendar.js b/src/view/calendar.js index 27bcc7af39..b9f3ead0e7 100644 --- a/src/view/calendar.js +++ b/src/view/calendar.js @@ -266,7 +266,13 @@ }, set_default_date: function(record, selected_date){ var dtstart = this.attributes.dtstart; - record.field_set(dtstart, selected_date); + var field = record.model.fields[dtstart]; + if (field instanceof Sao.field.DateTime) { + selected_date = Sao.DateTime(selected_date); + } else if (field instanceof Sao.field.Date) { + selected_date = Sao.Date(selected_date); + } + field.set(record, selected_date); }, get_selected_date: function(){ return this.el.fullCalendar('getDate');