no message

This commit is contained in:
2023-12-05 16:15:12 +03:00
parent 3794b2a330
commit be4985be2d
13 changed files with 126 additions and 17 deletions

View File

@@ -1,8 +1,17 @@
package Repository.SubscriberWorkspace;
import Common.Current;
import Common.Database.iDBObject;
public class SubscriberWorkspace extends iDBObject {
public String email; //почта
public String URL; //адрес:порт машины
public String login; // имя пользователя
public String path; //рабочая папка на машине
@Override
public boolean isVisible() {
return Current.HasSubscriber()&&
Current.getSubscriber().address.equals(email)&&
(Current.getAccount().isAdmin() || Current.getAccount().email.equals(Current.getSubscriber().address));
}
//-
}

View File

@@ -1,5 +1,7 @@
package Repository.SubscriberWorkspace;
import Common.Current;
import Common.Database.iDBTable;
import Common.UI.DataSetControlForm;
public class SubscriberWorkspaceDBTable extends iDBTable<SubscriberWorkspace> {
public SubscriberWorkspaceDBTable() {
super(SubscriberWorkspace.class);
@@ -7,7 +9,41 @@ public class SubscriberWorkspaceDBTable extends iDBTable<SubscriberWorkspace> {
public SubscriberWorkspace findWorkspace(String email, String machineURL, String login) {
return this.Data.values().stream().filter(subscriberWorkspace ->
subscriberWorkspace.email.equals(email) &&
subscriberWorkspace.URL.equals(machineURL) &&
subscriberWorkspace.login.equals(login)).findFirst().orElse(null);
subscriberWorkspace.URL.equals(machineURL) &&
subscriberWorkspace.login.equals(login)).findFirst().orElse(null);
}
//--
@Override
public String getSingleDescription() {
return "рабочая папка";
}
@Override
public String getPluralDescription() {
return "рабочие папки";
}
@Override
public Current CurrentName() {
return Current.SubscriberWorkspace;
}
//-
@Override
public String[] getUIColumnNames() {
return new String[]{"URL", "пользователь", "папка"};
}
@Override
protected DataSetControlForm createUI() {
return new DataSetControlForm(this);
}
@Override
public Object getFieldAt(SubscriberWorkspace object, int columnIndex) {
switch (columnIndex) {
case 1:
return object.URL;
case 2:
return object.login;
case 3:
return object.path;
}
return null;
}
}

View File

@@ -29,4 +29,11 @@ public class Subscriber extends DBObject {
role = s.role;
mailOn= s.mailOn;
}
//как объект будут называть по внешним ключам.
public String getFKName() {
return "email";
}
public Object getEmptyFK() {
return "";
}
}

View File

@@ -1,11 +1,14 @@
package Repository.Subscribes;
import Common.Current;
import Common.Database.DBTable;
import Common.Database.*;
import Common.UI.DataSetControlForm;
import Common.UI.Windows.Dialog.DBObjectDialog;
import GlobalData.Account.AccountRole;
import Repository.SubscriberWorkspace.SubscriberWorkspace;
import Repository.Subscribes.UI.SubscriberFields;
import Repository.Subscribes.UI.SubscriberForm;
import java.util.LinkedHashMap;
public class SubsribersDBTable extends DBTable<String, Subscriber> {
public SubsribersDBTable() {
super(String.class, Subscriber.class);
@@ -55,4 +58,11 @@ public class SubsribersDBTable extends DBTable<String, Subscriber> {
public DBObjectDialog<Subscriber, SubscriberFields> getDialog() {
return new SubscriberForm();
}
@Override
public LinkedHashMap<Class<? extends DBObject>, FKBehaviour> getFKDependencies() {
LinkedHashMap<Class<? extends DBObject>, FKBehaviour> res = new LinkedHashMap<>();
//-
res.put(SubscriberWorkspace.class, new FKBehaviour(FKDataBehaviour.DELETE, FKCurrentObjectBehaviuor.PASSIVE));
return res;
}
}

View File

@@ -27,9 +27,6 @@ public class SubscriberForm extends DBObjectDialog<Subscriber, SubscriberFields>
if (!title_text.equals("Регистрация") && (fields.tfAddress.isEditable() && Global.componentsServer.db.subscribers.Data.containsKey(fields.tfAddress.getText()))) {
Log.Writeln_("Адрес электронной почты " + Utils.Brackets(fields.tfAddress.getText()) + " уже есть в списке.");
}
if (Result.role.equals(AccountRole.Admin) && !getSelectedRole().equals(AccountRole.Admin)) {
Log.Writeln_("Администратор не может разжаловать сам себя.");
}
}
@Override
public void fillFields() {