From 79f70aa92a297c55070beec59a78c84ad1ced086 Mon Sep 17 00:00:00 2001 From: cncfanatics Date: Thu, 28 Oct 2010 12:48:33 +0200 Subject: [PATCH] Implement activity restrictions --- eos | 2 +- service/fit.py | 17 ++++++++++++++--- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/eos b/eos index 46fdf8d15..d469f5624 160000 --- a/eos +++ b/eos @@ -1 +1 @@ -Subproject commit 46fdf8d1506017dfc68acc76cf4da3a0407dbf55 +Subproject commit d469f562411810a5fe28bb7fcb4e8564950012eb diff --git a/service/fit.py b/service/fit.py index 9a1468bb6..b5f1852e8 100644 --- a/service/fit.py +++ b/service/fit.py @@ -31,13 +31,13 @@ class Fit(object): cls.instance = Fit() return cls.instance - + def getAllFits(self): fits = eos.db.getFitList() names = [] for fit in fits: names.append((fit.ID, fit.name)) - + return names @@ -176,6 +176,7 @@ class Fit(object): fit.clear() fit.calculateModifiedAttributes() + self.checkStates(fit, m) fit.fill() eos.db.commit() @@ -192,6 +193,7 @@ class Fit(object): fit.modules.toDummy(position) fit.clear() fit.calculateModifiedAttributes() + self.checkStates(fit, None) fit.fill() eos.db.commit() return numSlots != len(fit.modules) @@ -343,7 +345,7 @@ class Fit(object): def exportXml(self, *fitIDs): fits = map(lambda id: eos.db.getFit(id), fitIDs) return eos.types.Fit.exportXml(*fits) - + def backupFits(self, path): allFits = map(lambda x: x[0], self.getAllFits()) backedUpFits = self.exportXml(*allFits) @@ -370,6 +372,13 @@ class Fit(object): return IDs + def checkStates(self, fit, base): + for mod in fit.modules: + if mod != base: + if not mod.canHaveState(mod.state): + mod.state = State.ONLINE + + def toggleModulesState(self, fitID, base, modules, click): proposedState = self.__getProposedState(base, click) if proposedState != base.state: @@ -380,6 +389,8 @@ class Fit(object): eos.db.commit() fit = eos.db.getFit(fitID) + self.checkStates(fit, base) + fit.clear() fit.calculateModifiedAttributes()