запрет на удаление чужих объектов тестирования
This commit is contained in:
@@ -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