Monotone-Parent: b2df4875f87b44b55f2d9acc0193789d2b19a555

Monotone-Revision: 3c0201014f53f29be70c0414896fda18bebaba81

Monotone-Author: wsourdeau@inverse.ca
Monotone-Date: 2007-05-22T18:38:49
Monotone-Branch: ca.inverse.sogo
This commit is contained in:
Wolfgang Sourdeau
2007-05-22 18:38:49 +00:00
parent de55849a85
commit 14f48b1563
4 changed files with 146 additions and 37 deletions
+4
View File
@@ -1,5 +1,9 @@
2007-05-22 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* UI/MailerUI/UIxMailUserRightsEditor.m: added all the missing
methods to support the IMAP acls mentionned in the RFC 4314,
removed the ones specific to Cyrus.
* SoObjects/SOGo/SOGoObject.m ([SOGoObject -defaultUserID]): new
mandatory method for subclasses. Removed the SOGoDefaultUserID
global var.
@@ -35,6 +35,21 @@
"Account: " = "Account: ";
"Shared Account: " = "Shared Account: ";
/* acls */
"Default Roles" = "Default Roles";
"List and see this folder" = "List and see this folder";
"Read mails from this folder" = "Read mails from this folder";
"Mark mails read and unread" = "Mark mails read and unread";
"Modify the flags of the mails in this folder" = "Modify the flags of the mails in this folder";
"Insert, copy and move mails into this folder" = "Insert, copy and move mails into this folder";
"Post mails" = "Post mails";
"Add subfolders to this folder" = "Add subfolders to this folder";
"Remove this folder" = "Remove this folder";
"Erase mails from this folder" = "Erase mails from this folder";
"Expunge this folder" = "Expunge this folder";
"Modify the acl of this folder" = "Modify the acl of this folder";
/* Mail edition */
"From" = "From";
@@ -34,6 +34,21 @@
"Account: " = "Compte : ";
"Shared Account: " = "Compte Partagé ";
/* acls */
"Default Roles" = "Rôles par défaut";
"List and see this folder" = "Lister et voir ce dossier";
"Read mails from this folder" = "Lire les messages de ce dossier";
"Mark mails read and unread" = "Marquer les messages comme lus ou non-lus";
"Modify the flags of the mails in this folder" = "Modifier les indicateurs sur les messages";
"Insert, copy and move mails into this folder" = "Insérer, copier et déplacer des messages dans ce dossier";
"Post mails" = "Poster des messages";
"Add subfolders to this folder" = "Ajouter des sous-dossiers à ce dossier";
"Remove this folder" = "Effacer ce dossier";
"Erase mails from this folder" = "Effacer des messages de ce dossier";
"Expunge this folder" = "Compacter ce dossier";
"Modify the acl of this folder" = "Administrer les droits sur ce dossier";
/* Mail edition */
"From" = "De";
+112 -37
View File
@@ -29,6 +29,19 @@
@implementation UIxMailUserRightsEditor
- (void) setUserCanSeeFolder: (BOOL) userCanSeeFolder
{
if (userCanSeeFolder)
[self appendRight: SOGoRole_ObjectViewer];
else
[self removeRight: SOGoRole_ObjectViewer];
}
- (BOOL) userCanSeeFolder
{
return [userRights containsObject: SOGoRole_ObjectViewer];
}
- (void) setUserCanReadMails: (BOOL) userCanReadMails
{
if (userCanReadMails)
@@ -42,6 +55,19 @@
return [userRights containsObject: SOGoRole_ObjectReader];
}
- (void) setUserCanMarkMailsRead: (BOOL) userCanMarkMailsRead
{
if (userCanMarkMailsRead)
[self appendRight: SOGoMailRole_SeenKeeper];
else
[self removeRight: SOGoMailRole_SeenKeeper];
}
- (BOOL) userCanMarkMailsRead
{
return [userRights containsObject: SOGoMailRole_SeenKeeper];
}
- (void) setUserCanWriteMails: (BOOL) userCanWriteMails
{
if (userCanWriteMails)
@@ -68,30 +94,17 @@
return [userRights containsObject: SOGoRole_ObjectCreator];
}
- (void) setUserCanMarkMailsRead: (BOOL) userCanMarkMailsRead
- (void) setUserCanPostMails: (BOOL) userCanPostMails
{
if (userCanMarkMailsRead)
[self appendRight: SOGoMailRole_SeenKeeper];
if (userCanPostMails)
[self appendRight: SOGoMailRole_Poster];
else
[self removeRight: SOGoMailRole_SeenKeeper];
[self removeRight: SOGoMailRole_Poster];
}
- (BOOL) userCanMarkMailsRead
- (BOOL) userCanPostMails
{
return [userRights containsObject: SOGoMailRole_SeenKeeper];
}
- (void) setUserCanEraseMails: (BOOL) userCanEraseMails
{
if (userCanEraseMails)
[self appendRight: SOGoRole_ObjectEraser];
else
[self removeRight: SOGoRole_ObjectEraser];
}
- (BOOL) userCanEraseMails
{
return [userRights containsObject: SOGoRole_ObjectEraser];
return [userRights containsObject: SOGoMailRole_Poster];
}
- (void) setUserCanCreateSubfolders: (BOOL) userCanCreateSubfolders
@@ -107,17 +120,43 @@
return [userRights containsObject: SOGoRole_FolderCreator];
}
- (void) setUserCanPostMails: (BOOL) userCanPostMails
- (void) setUserCanRemoveFolder: (BOOL) userCanRemoveFolder
{
if (userCanPostMails)
[self appendRight: SOGoMailRole_Poster];
if (userCanRemoveFolder)
[self appendRight: SOGoRole_ObjectEraser];
else
[self removeRight: SOGoMailRole_Poster];
[self removeRight: SOGoRole_ObjectEraser];
}
- (BOOL) userCanPostMails
- (BOOL) userCanRemoveFolder
{
return [userRights containsObject: SOGoMailRole_Poster];
return [userRights containsObject: SOGoRole_ObjectEraser];
}
- (void) setUserCanEraseMails: (BOOL) userCanEraseMails
{
if (userCanEraseMails)
[self appendRight: SOGoMailRole_MessageEraser];
else
[self removeRight: SOGoMailRole_MessageEraser];
}
- (BOOL) userCanEraseMails
{
return [userRights containsObject: SOGoMailRole_MessageEraser];
}
- (void) setUserCanExpungeFolder: (BOOL) userCanExpungeFolder
{
if (userCanExpungeFolder)
[self appendRight: SOGoMailRole_Expunger];
else
[self removeRight: SOGoMailRole_Expunger];
}
- (BOOL) userCanExpungeFolder
{
return [userRights containsObject: SOGoMailRole_Expunger];
}
- (void) setUserIsAdministrator: (BOOL) userIsAdministrator
@@ -139,25 +178,61 @@
request = [context request];
if ([[request formValueForKey: @"ObjectCreator"] length] > 0)
[self appendRight: SOGoRole_ObjectCreator];
else
[self removeRight: SOGoRole_ObjectCreator];
if ([[request formValueForKey: @"ObjectEditor"] length] > 0)
[self appendRight: SOGoRole_ObjectEditor];
else
[self removeRight: SOGoRole_ObjectEditor];
if ([[request formValueForKey: @"ObjectViewer"] length] > 0)
if ([[request formValueForKey: SOGoRole_ObjectViewer] length] > 0)
[self appendRight: SOGoRole_ObjectViewer];
else
[self removeRight: SOGoRole_ObjectViewer];
if ([[request formValueForKey: @"ObjectEraser"] length] > 0)
if ([[request formValueForKey: SOGoRole_ObjectReader] length] > 0)
[self appendRight: SOGoRole_ObjectReader];
else
[self removeRight: SOGoRole_ObjectReader];
if ([[request formValueForKey: SOGoMailRole_SeenKeeper] length] > 0)
[self appendRight: SOGoMailRole_SeenKeeper];
else
[self removeRight: SOGoMailRole_SeenKeeper];
if ([[request formValueForKey: SOGoMailRole_Writer] length] > 0)
[self appendRight: SOGoMailRole_Writer];
else
[self removeRight: SOGoMailRole_Writer];
if ([[request formValueForKey: SOGoRole_ObjectCreator] length] > 0)
[self appendRight: SOGoRole_ObjectCreator];
else
[self removeRight: SOGoRole_ObjectCreator];
if ([[request formValueForKey: SOGoMailRole_Poster] length] > 0)
[self appendRight: SOGoMailRole_Poster];
else
[self removeRight: SOGoMailRole_Poster];
if ([[request formValueForKey: SOGoRole_FolderCreator] length] > 0)
[self appendRight: SOGoRole_FolderCreator];
else
[self removeRight: SOGoRole_FolderCreator];
if ([[request formValueForKey: SOGoRole_ObjectEraser] length] > 0)
[self appendRight: SOGoRole_ObjectEraser];
else
[self removeRight: SOGoRole_ObjectEraser];
if ([[request formValueForKey: SOGoMailRole_MessageEraser] length] > 0)
[self appendRight: SOGoMailRole_MessageEraser];
else
[self removeRight: SOGoMailRole_MessageEraser];
if ([[request formValueForKey: SOGoMailRole_Expunger] length] > 0)
[self appendRight: SOGoMailRole_Expunger];
else
[self removeRight: SOGoMailRole_Expunger];
if ([[request formValueForKey: SOGoMailRole_Administrator] length] > 0)
[self appendRight: SOGoMailRole_Administrator];
else
[self removeRight: SOGoMailRole_Administrator];
}
@end