Перенос.
This commit is contained in:
63
src/GlobalData/Account/Account.java
Normal file
63
src/GlobalData/Account/Account.java
Normal file
@@ -0,0 +1,63 @@
|
||||
package GlobalData.Account;
|
||||
import Common.Database.DBObject;
|
||||
import Common.UI.UI;
|
||||
import Common.Utils.TextLog;
|
||||
import Repository.BugReport.BugReport;
|
||||
import com.sun.org.glassfish.gmbal.Description;
|
||||
public class Account extends DBObject {
|
||||
@Description("PRIMARY KEY,NOT NULL")
|
||||
public int id = 0;
|
||||
public String name = "?";
|
||||
public String email = "?";
|
||||
//--
|
||||
@Description("IGNORE")
|
||||
public AccountRole role = AccountRole.Undefined; //роль незареганного пользователя
|
||||
//--
|
||||
public boolean CheckRegistered(TextLog Log) {
|
||||
if (role.equals(AccountRole.Undefined)) {
|
||||
if (Log != null) {
|
||||
Log.Writeln("Пользователь не зарегистрирован");
|
||||
if (UI.HasNewMainWindow())
|
||||
UI.getMainWindow().FocusCallback();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
public boolean isRegistered() {
|
||||
return !role.equals(AccountRole.Undefined);
|
||||
}
|
||||
public boolean CheckAuthorship(String address_in, TextLog log) {
|
||||
if (!isAdmin() && (!email.equals(address_in))) {
|
||||
if (log != null)
|
||||
log.Writeln_("Вы не являетесь автором или администратором");
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
public boolean CheckAccessRights(String address_in, TextLog log) {
|
||||
return (CheckRegistered(log) && CheckAuthorship(address_in, log));
|
||||
}
|
||||
public boolean ExtendedCheckAccessRights(BugReport bugReport, TextLog log) {
|
||||
if (CheckRegistered(log)) {
|
||||
if (email.equals(bugReport.executor_address)) {
|
||||
//исполнитель.
|
||||
return true;
|
||||
} else {
|
||||
if (!isAdmin() && (!email.equals(bugReport.sender_address))) {
|
||||
log.Writeln_("Вы не являетесь автором, исполнителем, или администратором");
|
||||
return false;
|
||||
} else return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
public boolean isAdmin() {
|
||||
return role.equals(AccountRole.Admin);
|
||||
}
|
||||
@Override
|
||||
public Object getPK() {
|
||||
return id;
|
||||
}
|
||||
}
|
||||
|
||||
22
src/GlobalData/Account/AccountRole.java
Normal file
22
src/GlobalData/Account/AccountRole.java
Normal file
@@ -0,0 +1,22 @@
|
||||
package GlobalData.Account;
|
||||
public enum AccountRole {
|
||||
Undefined,
|
||||
User,
|
||||
Developer,
|
||||
Admin;
|
||||
public String getDescription() {
|
||||
switch (this) {
|
||||
case Undefined:
|
||||
return "не зарегистрирован";
|
||||
case User:
|
||||
return "Пользователь";
|
||||
case Developer:
|
||||
return "Разработчик";
|
||||
case Admin:
|
||||
return "Администратор";
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return "";
|
||||
}
|
||||
}
|
||||
19
src/GlobalData/Account/AccountSubscribeState.java
Normal file
19
src/GlobalData/Account/AccountSubscribeState.java
Normal file
@@ -0,0 +1,19 @@
|
||||
package GlobalData.Account;
|
||||
public enum AccountSubscribeState {
|
||||
Undefined,
|
||||
None,
|
||||
Active;
|
||||
public String getDescription() {
|
||||
switch (this) {
|
||||
case Undefined:
|
||||
return "Подписка: нет данных";
|
||||
case None:
|
||||
return "Подписка: аннулирована";
|
||||
case Active:
|
||||
return "Подписка: активна";
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return "";
|
||||
}
|
||||
}
|
||||
11
src/GlobalData/Account/AccountsDBTable.java
Normal file
11
src/GlobalData/Account/AccountsDBTable.java
Normal file
@@ -0,0 +1,11 @@
|
||||
package GlobalData.Account;
|
||||
import Common.Database.DBTable;
|
||||
public class AccountsDBTable extends DBTable<Integer, Account> {
|
||||
public AccountsDBTable() {
|
||||
super(Integer.class, Account.class);
|
||||
}
|
||||
@Override
|
||||
public String getSingleDescription() {
|
||||
return "аккаунт";
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user