1,5 → 1,8 |
package ak.hostcaptain.core.model; |
|
import ak.hostcaptain.util.ModelException; |
import ak.hostcaptain.util.ModelSecurityException; |
|
/** |
* |
* @hibernate.class table="mailaliasdests" |
25,7 → 28,7 |
return id; |
} |
|
public void setId(Long id) |
protected void setId(Long id) |
{ |
this.id = id; |
} |
39,11 → 42,20 |
return alias; |
} |
|
public void setAlias(MailAlias alias) |
protected void setAlias(MailAlias alias) |
{ |
this.alias = alias; |
} |
|
public void setAlias(User editor, MailAlias alias) |
throws ModelException |
{ |
if(this.alias != null && !editableBy(editor)) |
throw new ModelSecurityException(); |
|
this.alias = alias; |
} |
|
/** |
* |
* @hibernate.many-to-one |
53,11 → 65,20 |
return mailbox; |
} |
|
public void setMailbox(Mailbox mailbox) |
protected void setMailbox(Mailbox mailbox) |
{ |
this.mailbox = mailbox; |
} |
|
public void setMailbox(User editor, Mailbox mailbox) |
throws ModelException |
{ |
if(!editableBy(editor)) |
throw new ModelSecurityException(); |
|
this.mailbox = mailbox; |
} |
|
/** |
* |
* @hibernate.property |
67,11 → 88,20 |
return email; |
} |
|
public void setEmail(String email) |
protected void setEmail(String email) |
{ |
this.email = email; |
} |
|
public void setEmail(User editor, String email) |
throws ModelException |
{ |
if(!editableBy(editor)) |
throw new ModelSecurityException(); |
|
this.email = email; |
} |
|
public String getTypeKey() |
{ |
return ak.hostcaptain.core.CoreResources.TYPE_MAIL_ALIAS_DESTINATION; |
100,11 → 130,18 |
|
public boolean editableBy(User user) |
{ |
return alias.editableBy(user); |
return alias.mayChangeDestinations(user); |
} |
|
public boolean deleteableBy(User user) |
{ |
return alias.deleteableBy(user); |
return alias.mayChangeDestinations(user); |
} |
|
protected static boolean allowedToCreate(MailAliasDestinationManager manager, User editor) |
throws ModelException |
{ |
return true; |
} |
} |
|