diff --git a/browser/common.py b/browser/common.py index 5bccb56..e078de2 100644 --- a/browser/common.py +++ b/browser/common.py @@ -58,7 +58,7 @@ from cybertools.relation.interfaces import IRelationRegistry from cybertools.stateful.interfaces import IStateful from cybertools.text import mimetypes from cybertools.typology.interfaces import IType, ITypeManager -from loops.common import adapted +from loops.common import adapted, baseObject from loops.config.base import DummyOptions from loops.i18n.browser import I18NView from loops.interfaces import IResource, IView, INode, ITypeConcept @@ -283,6 +283,10 @@ class BaseView(GenericView, I18NView): def adapted(self): return adapted(self.context, self.languageInfo) + @Lazy + def baseObject(self): + return baseObject(self.context) + @Lazy def title(self): return self.adapted.title or getName(self.context) @@ -325,7 +329,7 @@ class BaseView(GenericView, I18NView): @Lazy def type(self): - return IType(self.context) + return IType(self.baseObject) @Lazy def typeProvider(self): diff --git a/browser/lobo/standard.py b/browser/lobo/standard.py index da37d5f..eee4254 100644 --- a/browser/lobo/standard.py +++ b/browser/lobo/standard.py @@ -49,6 +49,7 @@ class Basic3Columns(ConceptView): for idx, c in enumerate(self.context.getChildren([self.defaultPredicate])): text = c.title url = self.nodeView.getUrlForTarget(c) + # TODO: use layout settings of c for display cssClass = 'span-2' if idx % 3 == 2: cssClass += ' last' diff --git a/organize/stateful/quality.py b/organize/stateful/quality.py index 3cbd600..fab9f65 100644 --- a/organize/stateful/quality.py +++ b/organize/stateful/quality.py @@ -30,6 +30,8 @@ from zope.traversing.api import getName from cybertools.stateful.definition import StatesDefinition from cybertools.stateful.definition import State, Transition from cybertools.stateful.interfaces import IStatesDefinition, IStateful +from loops.common import adapted +from loops.integrator.interfaces import IExternalCollection from loops.interfaces import IAssignmentEvent, IDeassignmentEvent from loops.interfaces import ILoopsObject, IResource from loops.organize.stateful.base import StatefulLoopsObject @@ -82,7 +84,8 @@ class ClassificationQualityCheckable(StatefulLoopsObject): versionable = IVersionable(self.context, None) if self.state in ('new', 'classified', 'verified'): parents = [r for r in self.context.getParentRelations() - if r.predicate != self.typePredicate] + if self.isRelevant(r)] + #if r.predicate != self.typePredicate] if len(parents) > 0: self.doTransitionWithVersions('change_classification', versionable) else: @@ -105,6 +108,9 @@ class ClassificationQualityCheckable(StatefulLoopsObject): """ Return True if the relation given is relevant for changing the quality state. """ + #adParent = adapted(relation.first) + #if IExternalCollection.providedBy(adParent): + # return False return (IResource.providedBy(self.context) and getName(relation.predicate) != 'hasType')