fix удаления пакетов если среди них есть черновик
This commit is contained in:
@@ -1,11 +1,14 @@
|
||||
package Visual_DVM_2021.Passes.All;
|
||||
import Common.Constants;
|
||||
import Common.Global;
|
||||
import Common.UI.UI;
|
||||
import TestingSystem.Common.TestingServer;
|
||||
import TestingSystem.DVM.DVMPackage.DVMPackage;
|
||||
import TestingSystem.DVM.TasksPackage.TasksPackageState;
|
||||
import Visual_DVM_2021.Passes.DeleteServerObjects;
|
||||
|
||||
import java.util.Vector;
|
||||
public class DeleteDVMPackage extends DeleteServerObjects<TestingServer, DVMPackage> {
|
||||
boolean delete_draft;
|
||||
public DeleteDVMPackage() {
|
||||
super(Global.testingServer, DVMPackage.class);
|
||||
}
|
||||
@@ -26,10 +29,39 @@ public class DeleteDVMPackage extends DeleteServerObjects<TestingServer, DVMPack
|
||||
}
|
||||
@Override
|
||||
protected boolean canStart(Object... args) throws Exception {
|
||||
return super.canStart(args) && checkActivity();
|
||||
delete_draft = false;
|
||||
Vector<Object> target_ = new Vector<>();
|
||||
if (super.canStart(args) && checkActivity()) {
|
||||
for (Object key : target) {
|
||||
int id = (int) key;
|
||||
if (id == Constants.Nan) {
|
||||
delete_draft = true;
|
||||
} else {
|
||||
target_.add(id);
|
||||
}
|
||||
}
|
||||
//-
|
||||
if (delete_draft) {
|
||||
if (target.size() == 1) {
|
||||
DeleteDraftOnly();
|
||||
return false;
|
||||
} else {
|
||||
target = target_;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
void DeleteDraftOnly() throws Exception {
|
||||
showPreparation();
|
||||
server.db.dvmPackages.Data.remove(Constants.Nan);
|
||||
server.db.dvmPackages.ShowUI();
|
||||
}
|
||||
@Override
|
||||
protected void showPreparation() throws Exception {
|
||||
super.showPreparation();
|
||||
UI.getMainWindow().getTestingWindow().DropTestRunTasksComparison();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user