запрет на удаление чужих объектов тестирования
This commit is contained in:
4
.idea/workspace.xml
generated
4
.idea/workspace.xml
generated
@@ -7,8 +7,8 @@
|
||||
</component>
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="e42177c3-2328-4b27-8a01-35779b2beb99" name="Default Changelist" comment="">
|
||||
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/Repository/Component/Visualiser.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Repository/Component/Visualiser.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/TestingSystem/DVM/UserConnection.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/TestingSystem/DVM/UserConnection.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/Passes/Server/DeleteServerObjects.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Passes/Server/DeleteServerObjects.java" afterDir="false" />
|
||||
</list>
|
||||
<option name="SHOW_DIALOG" value="false" />
|
||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package _VisualDVM.Passes.Server;
|
||||
import Common.Database.Database;
|
||||
import Common.Database.Objects.DBObject;
|
||||
import Common.Database.Objects.riDBObject;
|
||||
import Common.Database.Tables.DBTable;
|
||||
import _VisualDVM.Global;
|
||||
import _VisualDVM.Repository.RepositoryServer;
|
||||
@@ -42,7 +43,23 @@ public class DeleteServerObjects<S extends RepositoryServer, D extends DBObject>
|
||||
DBTable table = getDb().getTable(d);
|
||||
if (!table.getUI().CheckSelectedOrCurrent(Log))
|
||||
return false;
|
||||
target = table.getUI().getSelectedOrCurrentKeys();
|
||||
Vector<D> selected_or_current_objects = table.getUI().getSelectedOrCurrent();
|
||||
Vector<Object> res = new Vector<>(); //ключи объектов после фильтрации.
|
||||
Vector<Object> forbidden = new Vector<>();
|
||||
for (D object: selected_or_current_objects){
|
||||
if (object instanceof riDBObject){
|
||||
riDBObject r = (riDBObject) object;
|
||||
if (Global.mainModule.getAccount().CheckAuthorship(r.sender_address,null))
|
||||
res.add(r.getPK());
|
||||
else
|
||||
forbidden.add(r.getPK());
|
||||
}
|
||||
}
|
||||
if (!forbidden.isEmpty()){
|
||||
Log.Writeln_("У вас нет прав на удаление "+forbidden.size()+" объектов!");
|
||||
return false;
|
||||
}
|
||||
target = res;
|
||||
return table.getUI().ShowDeleteObjectsDialog(target.size());
|
||||
}
|
||||
//Очищаем все связанные таблицы, чтобы не допустить перерисовки во время удаления объекта.
|
||||
|
||||
Reference in New Issue
Block a user