Перенос.

This commit is contained in:
2023-09-17 22:13:42 +03:00
parent dd2e0ca7e0
commit 629d8b8477
1239 changed files with 61161 additions and 1 deletions

View 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;
}
}

View 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 "";
}
}

View 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 "";
}
}

View 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 "аккаунт";
}
}