See ChangeLog

Monotone-Parent: 81e5a2cbed9325efd0e582da75adabe4e79cff9f
Monotone-Revision: 6132fa152e84c6f1d0cd0239e2dff1524f6b34c1

Monotone-Author: flachapelle@inverse.ca
Monotone-Date: 2012-08-27T14:41:38
This commit is contained in:
Francis Lachapelle 2012-08-27 14:41:38 +00:00
parent 23386cab11
commit 07b41d4420
5 changed files with 31 additions and 14 deletions

View file

@ -1,3 +1,13 @@
2012-08-27 Francis Lachapelle <flachapelle@inverse.ca>
* UI/WebServerResources/SchedulerUI.js (tasksListCallback): prefix
tasks with a color box insted of changing the task's background color.
* UI/Scheduler/UIxCalListingActions.m
(-_getStatusClassForStatusCode:andEndDateStamp::): set the
timezone of the due date to the user's timezone to properly
identify tasks due today.
2012-08-27 Ludovic Marcotte <lmarcotte@inverse.ca> 2012-08-27 Ludovic Marcotte <lmarcotte@inverse.ca>
* SoObjects/Appointments/iCalPerson+SOGo.m (mailAddress): * SoObjects/Appointments/iCalPerson+SOGo.m (mailAddress):
@ -6,7 +16,7 @@
2012-08-24 Francis Lachapelle <flachapelle@inverse.ca> 2012-08-24 Francis Lachapelle <flachapelle@inverse.ca>
* UI/MailPartViewers/UIxMailPartHTMLViewer.m (_sanitizeContent): * UI/MailPartViewers/UIxMailPartHTMLViewer.m (-_sanitizeContent):
fix invalid void tags to insure proper HTML decoding. Fixes #1581. fix invalid void tags to insure proper HTML decoding. Fixes #1581.
2012-08-07 Francis Lachapelle <flachapelle@inverse.ca> 2012-08-07 Francis Lachapelle <flachapelle@inverse.ca>
@ -16,7 +26,7 @@
2012-08-03 Jean Raby <jraby@inverse.ca> 2012-08-03 Jean Raby <jraby@inverse.ca>
* SoObjects/SOGo/LDAPSource.m (changePasswordForLogin): * SoObjects/SOGo/LDAPSource.m (-changePasswordForLogin):
if userPasswordAlgorithm was not set or was set to "none", if userPasswordAlgorithm was not set or was set to "none",
use the plaintext password directly instead of using '{none}plaintext' use the plaintext password directly instead of using '{none}plaintext'
which isn't valid. which isn't valid.

1
NEWS
View file

@ -3,6 +3,7 @@
Enhancements Enhancements
- mail filters (Sieve) are no longer conditional to each other (all filters are - mail filters (Sieve) are no longer conditional to each other (all filters are
executed, no matter if a previous condition matches) executed, no matter if a previous condition matches)
- improved tasks list display
- RPM packages now treat logrotate file as a config file - RPM packages now treat logrotate file as a config file
Bug Fixes Bug Fixes

View file

@ -1023,6 +1023,7 @@ _computeBlocksPosition (NSArray *blocks)
now = [NSCalendarDate calendarDate]; now = [NSCalendarDate calendarDate];
taskDate taskDate
= [NSCalendarDate dateWithTimeIntervalSince1970: endDateStamp]; = [NSCalendarDate dateWithTimeIntervalSince1970: endDateStamp];
[taskDate setTimeZone: userTimeZone];
if ([taskDate earlierDate: now] == taskDate) if ([taskDate earlierDate: now] == taskDate)
statusClass = @"overdue"; statusClass = @"overdue";
else else
@ -1034,7 +1035,7 @@ _computeBlocksPosition (NSArray *blocks)
} }
} }
else else
statusClass = @"duelater"; statusClass = @"noduedate";
} }
return statusClass; return statusClass;

View file

@ -82,22 +82,24 @@ UL#tasksList LI
width: 100%; width: 100%;
white-space: nowrap; } white-space: nowrap; }
UL#tasksList LI.duelater,
UL#tasksList LI.duetoday,
UL#tasksList LI.overdue UL#tasksList LI.overdue
{ font-weight: bold; }
UL#tasksList LI.overdue,
UL#tasksList LI.important
{ color: #f00 !important; } { color: #f00 !important; }
UL#tasksList LI.duetoday UL#tasksList LI.duetoday
{ color: #00f !important; } { color: #00f !important; }
UL#tasksList LI.completed UL#tasksList LI.completed SPAN
{ text-decoration: line-through; { text-decoration: line-through;
color: #000; } color: #000; }
UL#tasksList LI.duelater
{ color: #999 !important; }
UL#tasksList LI.important SPAN UL#tasksList LI.important SPAN
{ color: #f00 !important; { background-image: url(important.png);
background-image: url(important.png);
background-repeat: no-repeat; background-repeat: no-repeat;
background-position: 3px 2px; background-position: 3px 2px;
padding-left: 10px; padding-left: 10px;
@ -105,16 +107,16 @@ UL#tasksList LI.important SPAN
UL#tasksList LI SPAN UL#tasksList LI SPAN
{ padding-left: 2px; } { padding-left: 2px; }
UL#tasksList LI[class~="_selected"].overdue UL#tasksList LI._selected.overdue
{ color: #fff !important; { color: #fff !important;
background-color: #f00 !important; } background-color: #f00 !important; }
UL#tasksList LI[class~="_selected"].duetoday UL#tasksList LI._selected.duetoday
{ color: #fff !important; { color: #fff !important;
background-color: #00f !important; } background-color: #00f !important; }
UL#tasksList LI[class~="_selected"].duelater, UL#tasksList LI._selected.duelater,
UL#tasksList LI[class~="_selected"].completed UL#tasksList LI._selected.completed
{ color: #fff !important; { color: #fff !important;
background-color: #9ABCD8 !important; } background-color: #9ABCD8 !important; }

View file

@ -1027,7 +1027,6 @@ function tasksListCallback(http) {
//listItem.addClassName(data[i][5]); // Classification //listItem.addClassName(data[i][5]); // Classification
listItem.addClassName(data[i][9]); // status (duelater, completed, etc) listItem.addClassName(data[i][9]); // status (duelater, completed, etc)
listItem.calendar = calendar; listItem.calendar = calendar;
listItem.addClassName("calendarFolder" + calendar);
listItem.cname = cname; listItem.cname = cname;
listItem.erasable = data[i][7] || IsSuperUser; listItem.erasable = data[i][7] || IsSuperUser;
var input = createElement("input"); var input = createElement("input");
@ -1044,6 +1043,10 @@ function tasksListCallback(http) {
input.setAttribute("checked", "checked"); input.setAttribute("checked", "checked");
$(input).addClassName("checkBox"); $(input).addClassName("checkBox");
var colorDiv = createElement("div", false, "colorBox calendarFolder" + calendar);
colorDiv.update('OO');
listItem.appendChild(colorDiv);
var t = new Element ("span"); var t = new Element ("span");
t.update(data[i][3]); t.update(data[i][3]);
listItem.appendChild (t); listItem.appendChild (t);