X-Git-Url: https://git.realraum.at/?a=blobdiff_plain;f=grical-patchqueue%2Fical_endtime;fp=grical-patchqueue%2Fical_endtime;h=eb55e465944c5f1c0d9cd9e7edf022e2e80901c6;hb=dc11c9d78e7e63b9846c06292a9b837bc20d6a4f;hp=0000000000000000000000000000000000000000;hpb=6656f26adaada3bd9341595a7312f6a4ba0e181c;p=svn42.git diff --git a/grical-patchqueue/ical_endtime b/grical-patchqueue/ical_endtime new file mode 100644 index 0000000..eb55e46 --- /dev/null +++ b/grical-patchqueue/ical_endtime @@ -0,0 +1,30 @@ +# HG changeset patch +# Parent 054c3747b6957662fabfa7837ac78952d50be72c + +diff -r 054c3747b695 grical/events/models.py +--- a/grical/events/models.py Tue Aug 27 15:16:13 2013 +0200 ++++ b/grical/events/models.py Sun Dec 01 23:04:05 2013 +0100 +@@ -1116,12 +1116,12 @@ + + unicode(self.id) + u'@' + \ + Site.objects.get_current().domain + # calculate DTEND +- if self.enddate and self.enddate != self.startdate: ++ if (self.enddate and self.enddate != self.startdate) or (self.endtime and self.endtime != self.starttime): + # rfc2445 (iCalendar) indicates that: + # - DTEND can be omitted when equals DTSTART + # - DTEND specifies the non-inclusive end of the event +- enddate = self.enddate + datetime.timedelta(days=1) + if self.endtime: ++ enddate = self.enddate if self.enddate else self.startdate + date_time = datetime.datetime.combine( + enddate, self.endtime ) + if self.timezone: +@@ -1130,7 +1130,7 @@ + date_time = loc_dt.astimezone( pytz.utc ) + vevent.add('DTEND').value = date_time + else: +- vevent.add('DTEND').value = enddate ++ vevent.add('DTEND').value = self.enddate + datetime.timedelta(days=1) + # calculate DESCRIPTION + if self.description: vevent.add('DESCRIPTION').value = self.description + # see rfc5545 3.8.7.2. Date-Time Stamp