Fix various bugs replated to DB management

This commit is contained in:
DarkPhoenix
2019-04-20 14:29:10 +03:00
parent 8ca5b34c14
commit 3badab0353
6 changed files with 23 additions and 6 deletions

View File

@@ -68,6 +68,8 @@ class CalcAddLocalDroneCommand(wx.Command):
drone = fit.drones[self.savedPosition]
drone.amount = self.savedDroneInfo.amount
drone.amountActive = self.savedDroneInfo.amountActive
if self.commit:
eos.db.commit()
return True
from .localRemove import CalcRemoveLocalDroneCommand
cmd = CalcRemoveLocalDroneCommand(

View File

@@ -39,7 +39,11 @@ class CalcAddImplantCommand(wx.Command):
fit.implants.insert(self.newPosition, newImplant)
except HandledListActionError:
pyfalog.warning('Failed to insert to list')
cmd = CalcAddImplantCommand(fitID=self.fitID, implantInfo=self.oldImplantInfo, position=self.oldPosition)
cmd = CalcAddImplantCommand(
fitID=self.fitID,
implantInfo=self.oldImplantInfo,
position=self.oldPosition,
commit=self.commit)
cmd.Do()
return False
else:
@@ -47,7 +51,11 @@ class CalcAddImplantCommand(wx.Command):
fit.implants.append(newImplant)
except HandledListActionError:
pyfalog.warning('Failed to append to list')
cmd = CalcAddImplantCommand(fitID=self.fitID, implantInfo=self.oldImplantInfo, position=self.oldPosition)
cmd = CalcAddImplantCommand(
fitID=self.fitID,
implantInfo=self.oldImplantInfo,
position=self.oldPosition,
commit=self.commit)
cmd.Do()
return False
self.newPosition = fit.implants.index(newImplant)

View File

@@ -39,5 +39,10 @@ class CalcRebaseItemCommand(wx.Command):
def Undo(self):
pyfalog.debug('Undoing rebase of item in {} at position {} to {}'.format(self.containerName, self.position, self.itemID))
cmd = CalcRebaseItemCommand(fitID=self.fitID, containerName=self.containerName, position=self.position, itemID=self.savedItemID)
cmd = CalcRebaseItemCommand(
fitID=self.fitID,
containerName=self.containerName,
position=self.position,
itemID=self.savedItemID,
commit=self.commit)
return cmd.Do()

View File

@@ -40,7 +40,8 @@ class CalcAddLocalModuleCommand(wx.Command):
self.subsystemCmd = CalcReplaceLocalModuleCommand(
fitID=self.fitID,
position=fit.modules.index(oldMod),
newModInfo=self.newModInfo)
newModInfo=self.newModInfo,
commit=self.commit)
return self.subsystemCmd.Do()
if not newMod.fits(fit):

View File

@@ -45,7 +45,7 @@ class CalcRemoveLocalModulesCommand(wx.Command):
results = []
from .localReplace import CalcReplaceLocalModuleCommand
for position, modInfo in self.savedModInfos.items():
cmd = CalcReplaceLocalModuleCommand(fitID=self.fitID, position=position, newModInfo=modInfo, commit=False)
cmd = CalcReplaceLocalModuleCommand(fitID=self.fitID, position=position, newModInfo=modInfo, commit=self.commit)
results.append(cmd.Do())
if not any(results):
return False

View File

@@ -32,7 +32,8 @@ class GuiChangeLocalModuleMetasCommand(wx.Command):
self.replacedItemIDs.add(module.itemID)
info = ModuleInfo.fromModule(module)
info.itemID = self.newItemID
cmd = CalcReplaceLocalModuleCommand(fitID=self.fitID, position=position, newModInfo=info, unloadInvalidCharges=True, commit=False)
cmd = CalcReplaceLocalModuleCommand(
fitID=self.fitID, position=position, newModInfo=info, unloadInvalidCharges=True, commit=False)
commands.append(cmd)
if not commands:
return False