mirror of
https://github.com/inverse-inc/sogo.git
synced 2026-05-24 21:05:25 +00:00
merge of '40158dc91b545a299c42231ee687029a4bf2e718'
and 'a7b68a3656aaebe8e9a421997de4d311b04b9e13' Monotone-Parent: 40158dc91b545a299c42231ee687029a4bf2e718 Monotone-Parent: a7b68a3656aaebe8e9a421997de4d311b04b9e13 Monotone-Revision: ef30367c8b75538cf7607ce41aba7151c3667d37 Monotone-Author: crobert@inverse.ca Monotone-Date: 2009-07-23T12:45:37 Monotone-Branch: ca.inverse.sogo
This commit is contained in:
@@ -1,3 +1,8 @@
|
||||
2009-07-22 Cyril Robert <crobert@inverse.ca>
|
||||
|
||||
* UI/Scheduler/UIxCalListingActions.m: Added "editable" field to tasks, so
|
||||
that the UI can disable the checkboxes next to them.
|
||||
|
||||
2009-07-22 Wolfgang Sourdeau <wsourdeau@inverse.ca>
|
||||
|
||||
* SoObjects/Appointments/SOGoUserFolder+Appointments.m
|
||||
|
||||
@@ -4,6 +4,8 @@
|
||||
- added "Reload" button to refresh the current view in the calendar
|
||||
- fixed freebusy support for Apple iCal
|
||||
- added support for the calendar application of the iPhone OS v3
|
||||
- added the possibility to disable alarms or tasks from Web calendars
|
||||
- added support for printing cards
|
||||
|
||||
1.0-20090714 (1.0.3)
|
||||
--------------------
|
||||
|
||||
@@ -9,6 +9,10 @@
|
||||
"Identities" = "Identidade";
|
||||
"Password" = "Senha";
|
||||
"Categories" = "Categories";
|
||||
"Name" = "Name";
|
||||
"Color" = "Color";
|
||||
"Add" = "Add";
|
||||
"Delete" = "Delete";
|
||||
|
||||
/* ooo */
|
||||
"I'm currently in the office" = "Eu estou no escritório";
|
||||
|
||||
@@ -9,6 +9,10 @@
|
||||
"Identities" = "Identity";
|
||||
"Password" = "Heslo";
|
||||
"Categories" = "Categories";
|
||||
"Name" = "Name";
|
||||
"Color" = "Color";
|
||||
"Add" = "Add";
|
||||
"Delete" = "Delete";
|
||||
|
||||
/* ooo */
|
||||
"I'm currently in the office" = "Momentálně jsem v kanceláři";
|
||||
|
||||
@@ -9,6 +9,10 @@
|
||||
"Identities" = "Identiteit";
|
||||
"Password" = "Wachtwoord";
|
||||
"Categories" = "Categories";
|
||||
"Name" = "Name";
|
||||
"Color" = "Color";
|
||||
"Add" = "Add";
|
||||
"Delete" = "Delete";
|
||||
|
||||
/* ooo */
|
||||
"I'm currently in the office" = "Ik ben op kantoor";
|
||||
|
||||
@@ -9,6 +9,10 @@
|
||||
"Identities" = "Identities";
|
||||
"Password" = "Password";
|
||||
"Categories" = "Categories";
|
||||
"Name" = "Name";
|
||||
"Color" = "Color";
|
||||
"Add" = "Add";
|
||||
"Delete" = "Delete";
|
||||
|
||||
/* ooo */
|
||||
"I'm currently in the office" = "I'm currently in the office";
|
||||
|
||||
@@ -9,6 +9,10 @@
|
||||
"Identities" = "Identités";
|
||||
"Password" = "Mot de passe";
|
||||
"Categories" = "Catégories";
|
||||
"Name" = "Nom";
|
||||
"Color" = "Couleur";
|
||||
"Add" = "Ajouter";
|
||||
"Delete" = "Supprimer";
|
||||
|
||||
/* ooo */
|
||||
"I'm currently in the office" = "Je suis présent";
|
||||
|
||||
@@ -9,6 +9,10 @@
|
||||
"Identities" = "Identität";
|
||||
"Password" = "Passwort";
|
||||
"Categories" = "Categories";
|
||||
"Name" = "Name";
|
||||
"Color" = "Color";
|
||||
"Add" = "Add";
|
||||
"Delete" = "Delete";
|
||||
|
||||
/* ooo */
|
||||
"I'm currently in the office" = "Ich bin zurzeit im Hause";
|
||||
|
||||
@@ -9,6 +9,10 @@
|
||||
"Identities" = "Identità";
|
||||
"Password" = "Password";
|
||||
"Categories" = "Categories";
|
||||
"Name" = "Name";
|
||||
"Color" = "Color";
|
||||
"Add" = "Add";
|
||||
"Delete" = "Delete";
|
||||
|
||||
/* ooo */
|
||||
"I'm currently in the office" = "Sono in ufficio";
|
||||
|
||||
@@ -9,6 +9,10 @@
|
||||
"Identities" = "Identities";
|
||||
"Password" = "Пароль";
|
||||
"Categories" = "Categories";
|
||||
"Name" = "Name";
|
||||
"Color" = "Color";
|
||||
"Add" = "Add";
|
||||
"Delete" = "Delete";
|
||||
|
||||
/* ooo */
|
||||
"I'm currently in the office" = "Я на рабочем месте";
|
||||
|
||||
@@ -14,6 +14,10 @@
|
||||
"Identities" = "Identidades";
|
||||
"Password" = "Contraseña";
|
||||
"Categories" = "Categories";
|
||||
"Name" = "Name";
|
||||
"Color" = "Color";
|
||||
"Add" = "Add";
|
||||
"Delete" = "Delete";
|
||||
|
||||
/* ooo */
|
||||
"I'm currently in the office" = "Ahora estoy disponible";
|
||||
|
||||
@@ -9,6 +9,10 @@
|
||||
"Identities" = "hunaniaethau";
|
||||
"Password" = "Cyfrinair";
|
||||
"Categories" = "Categories";
|
||||
"Name" = "Name";
|
||||
"Color" = "Color";
|
||||
"Add" = "Add";
|
||||
"Delete" = "Delete";
|
||||
|
||||
/* ooo */
|
||||
"I'm currently in the office" = "Yr wyf yn y swyddfa ar hyn o bryd";
|
||||
|
||||
@@ -86,7 +86,7 @@ static NSArray *tasksFields = nil;
|
||||
{
|
||||
tasksFields = [NSArray arrayWithObjects: @"c_name", @"c_folder",
|
||||
@"c_status", @"c_title", @"c_enddate",
|
||||
@"c_classification", nil];
|
||||
@"c_classification", @"editable", nil];
|
||||
[tasksFields retain];
|
||||
}
|
||||
}
|
||||
@@ -311,6 +311,7 @@ static NSArray *tasksFields = nil;
|
||||
NSMutableArray *infos;
|
||||
NSNull *marker;
|
||||
SOGoAppointmentFolders *clientObject;
|
||||
NSString *role;
|
||||
|
||||
infos = [NSMutableArray array];
|
||||
|
||||
@@ -333,12 +334,26 @@ static NSArray *tasksFields = nil;
|
||||
|
||||
while ((newInfo = [currentInfos nextObject]))
|
||||
{
|
||||
if ([fields containsObject: @"editable"])
|
||||
{
|
||||
role =
|
||||
[currentFolder roleForComponentsWithAccessClass:
|
||||
[[newInfo objectForKey: @"c_classification"] intValue]
|
||||
forUser: [[context activeUser] login]];
|
||||
if ([role isEqualToString: @"ComponentModifier"]
|
||||
|| [role length] == 0)
|
||||
[newInfo setObject: [NSNumber numberWithInt: 1]
|
||||
forKey: @"editable"];
|
||||
else
|
||||
[newInfo setObject: [NSNumber numberWithInt: 0]
|
||||
forKey: @"editable"];
|
||||
}
|
||||
[newInfo setObject: [currentFolder nameInContainer]
|
||||
forKey: @"c_folder"];
|
||||
[newInfo setObject: [currentFolder ownerInContext: context]
|
||||
forKey: @"c_owner"];
|
||||
if (![[newInfo objectForKey: @"c_title"] length])
|
||||
[self _fixComponentTitle: newInfo withType: component];
|
||||
[self _fixComponentTitle: newInfo withType: component];
|
||||
// Possible improvement: only call _fixDates if event is recurrent
|
||||
// or the view range span a daylight saving time change
|
||||
[self _fixDates: newInfo];
|
||||
|
||||
@@ -362,3 +362,37 @@ DIV.copy
|
||||
background-image: url(add-contact.gif) !important;
|
||||
background-position: 1px -2px !important;
|
||||
}
|
||||
|
||||
|
||||
@media print
|
||||
{
|
||||
div#linkBanner,
|
||||
div#toolbar,
|
||||
div#contactFoldersList,
|
||||
div#dragHandle,
|
||||
div#rightDragHandle,
|
||||
div.menu,
|
||||
div#filterPanel,
|
||||
div#contactsListContent
|
||||
{
|
||||
display: none;
|
||||
}
|
||||
|
||||
div#contactView,
|
||||
div#rightPanel
|
||||
{
|
||||
color: black;
|
||||
top: 0px;
|
||||
left: 0px;
|
||||
margin: 0px;
|
||||
border: none;
|
||||
display: block;
|
||||
visibility: visible;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
div.contactColumn h4 {
|
||||
background: none;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -664,12 +664,14 @@ function tasksListCallback(http) {
|
||||
var cname = escape(data[i][0]);
|
||||
listItem.setAttribute("id", calendar + "-" + cname);
|
||||
//listItem.addClassName(data[i][5]); // Classification
|
||||
listItem.addClassName(data[i][6]);
|
||||
listItem.addClassName(data[i][7]);
|
||||
listItem.calendar = calendar;
|
||||
listItem.addClassName("calendarFolder" + calendar);
|
||||
listItem.cname = cname;
|
||||
var input = $(document.createElement("input"));
|
||||
input.setAttribute("type", "checkbox");
|
||||
if (parseInt(data[i][6]) == 0)
|
||||
input.setAttribute ("disabled", true);
|
||||
listItem.appendChild(input);
|
||||
input.observe("click", updateTaskStatus, true);
|
||||
input.setAttribute("value", "1");
|
||||
|
||||
@@ -744,6 +744,7 @@ function onWindowResize(event) {
|
||||
setTimeout ('onWindowResize ()', 100);
|
||||
return;
|
||||
}
|
||||
editor.absolutize ();
|
||||
var content = $("cke_contents_text");
|
||||
var height = Math.floor(window.height() - editor.offsetTop);
|
||||
|
||||
|
||||
@@ -64,7 +64,6 @@ function resetTableActions () {
|
||||
for (var i = 0; i < r.length; i++) {
|
||||
var row = $(r[i]);
|
||||
row.observe("mousedown", onRowClick);
|
||||
row.observe("selectstart", listRowMouseDownHandler);
|
||||
var tds = row.childElements ();
|
||||
tds[0].observe("mousedown", endAllEditables);
|
||||
tds[0].observe ("dblclick", onNameEdit);
|
||||
@@ -75,6 +74,7 @@ function resetTableActions () {
|
||||
|
||||
function makeEditable (element) {
|
||||
element.addClassName ("editing");
|
||||
element.removeClassName ("categoryListCell");
|
||||
var tmp = element.innerHTML;
|
||||
element.innerHTML = "";
|
||||
var textField = new Element ("input", {"type": "text",
|
||||
@@ -98,6 +98,7 @@ function endEditable (element) {
|
||||
var tmp = element.childElements ().first ().value;
|
||||
element.innerHTML = tmp;
|
||||
element.removeClassName ("editing");
|
||||
element.addClassName ("categoryListCell");
|
||||
}
|
||||
|
||||
function endAllEditables (e) {
|
||||
|
||||
Reference in New Issue
Block a user