Subversion Repositories general

Compare Revisions

Ignore whitespace Rev 917 → Rev 918

/sun/hostcaptain/trunk/src/ak/hostcaptain/core/model/User.java
1,7 → 1,8
package ak.hostcaptain.core.model;
 
import java.util.Date;
import ak.hostcaptain.util.Digest;
import ak.hostcaptain.util.ModelException;
import ak.hostcaptain.util.ModelSecurityException;
 
/**
*
15,7 → 16,6
private String password;
private User boss;
private Boolean superuser;
private Date modStamp;
 
protected User()
{
30,7 → 30,7
return id;
}
 
public void setId(Long id)
protected void setId(Long id)
{
this.id = id;
}
44,11 → 44,20
return login;
}
 
public void setLogin(String login)
protected void setLogin(String login)
{
this.login = login;
}
 
public void setLogin(User editor, String login)
throws ModelException
{
if(!editableBy(editor))
throw new ModelSecurityException();
 
this.login = login;
}
 
/**
*
* @hibernate.property
63,8 → 72,12
this.password = password;
}
 
public void setNewPassword(String password)
public void setPassword(User editor, String password)
throws ModelException
{
if(!mayChangePassword(editor))
throw new ModelSecurityException();
 
if(password == null)
throw new NullPointerException("Null password");
 
93,11 → 106,20
return boss;
}
 
public void setBoss(User boss)
protected void setBoss(User boss)
{
this.boss = boss;
}
 
public void setBoss(User editor, User boss)
throws ModelException
{
if(!editableBy(editor))
throw new ModelSecurityException();
 
this.boss = boss;
}
 
/**
*
* @hibernate.property
112,28 → 134,23
return (superuser != null) && superuser.booleanValue();
}
 
public void setSuperuser(Boolean superuser)
protected void setSuperuser(Boolean superuser)
{
this.superuser = superuser;
}
 
/**
*
* @hibernate.timestamp column="mod_stamp"
*/
public Date getModStamp()
{
return modStamp;
}
public void setSuperuser(User editor, Boolean superuser)
throws ModelException
{
if(!mayChangeSuperuser(editor))
throw new ModelSecurityException();
 
public void setModStamp(Date modStamp)
{
this.modStamp = modStamp;
}
this.superuser = superuser;
}
 
public boolean equals(Object o)
{
if(!(o instanceof User)) return false;
if(o == null || !(o instanceof User)) return false;
 
User u = (User)o;
return (id != null) && (u.getId() != null) && (id.equals(u.getId()));
174,6 → 191,22
 
public boolean deleteableBy(User user)
{
return user.isSuperuser();
return user.isSuperuser() || user.equals(boss);
}
 
public boolean mayChangePassword(User user)
{
return user.isSuperuser() || user.equals(boss) || user.equals(this);
}
 
public boolean mayChangeSuperuser(User user)
{
return user.isSuperuser() && !user.equals(this);
}
 
protected static boolean allowedToCreate(UserManager manager, User editor)
throws ModelException
{
return editor.isSuperuser();
}
}