def getOrdering(self): if IPloneSiteRoot.providedBy(self.context): return self.context if getattr(self.context, "getOrdering", None): ordering = self.context.getOrdering() if IExplicitOrdering.providedBy(ordering): return ordering
def orderObjects(self, key=None, reverse=None): """ Order sub-objects by key and direction. """ ordering = self.getOrdering() if IExplicitOrdering.providedBy(ordering): return ordering.orderObjects(key, reverse) else: return 0
def moveObjectsToBottom(self, ids, subset_ids=None): """ Move specified sub-objects to bottom of container. """ ordering = self.getOrdering() if IExplicitOrdering.providedBy(ordering): return ordering.moveObjectsToBottom(ids, subset_ids) else: return 0
def moveObjectToPosition(self, id, position, suppress_events=False): """ Move specified object to absolute position. """ ordering = self.getOrdering() if IExplicitOrdering.providedBy(ordering): return ordering.moveObjectToPosition(id, position, suppress_events) else: return 0
def moveObjectToPosition(self, id, position, suppress_events=False): """ Move specified object to absolute position. """ ordering = self.getOrdering() if IExplicitOrdering.providedBy(ordering): return ordering.moveObjectToPosition(id, position, suppress_events) else: return 0
def moveObjectsDown(self, ids, delta=1, subset_ids=None): """ Move specified sub-objects down by delta in container. """ ordering = self.getOrdering() if IExplicitOrdering.providedBy(ordering): return ordering.moveObjectsDown(ids, delta, subset_ids) else: return 0
def moveObjectsToBottom(self, ids, subset_ids=None): """ Move specified sub-objects to bottom of container. """ ordering = self.getOrdering() if IExplicitOrdering.providedBy(ordering): return ordering.moveObjectsToBottom(ids, subset_ids) else: return 0
def getOrdering(self): if IPloneSiteRoot.providedBy(self.context): return self.context ordering = self.context.getOrdering() if not IExplicitOrdering.providedBy(ordering): return None return ordering
def orderable(self): if _is_collection(self.context): return False if IPloneSiteRoot.providedBy(self.context): return True ordering = self.context.getOrdering() return IExplicitOrdering.providedBy(ordering)
def orderObjects(self, key, reverse=None): """ Order sub-objects by key and direction. """ ordering = self.getOrdering() if IExplicitOrdering.providedBy(ordering): return ordering.orderObjects(key, reverse) else: return 0
def _supports_explicit_ordering(context): if IPloneSiteRoot.providedBy(context): return True if not IOrderableFolder.providedBy(context): return False ordering = context.getOrdering() return IExplicitOrdering.providedBy(ordering)
def __call__(self, item_id, delta, subset_ids=None): context = aq_inner(self.context) try: if not IOrderableFolder.providedBy(context): if not base_hasattr(context, 'moveObjectsByDelta'): # for instance, plone site root does not use plone.folder raise ValueError("Not an ordered folder.") else: ordering = context.getOrdering() if not IExplicitOrdering.providedBy(ordering): raise ValueError("Ordering disable on folder.") delta = int(delta) if subset_ids is not None: objectPos = self.context.getObjectPosition position_id = [(objectPos(id), id) for id in subset_ids] position_id.sort() if subset_ids != [id for position, id in position_id]: raise ValueError("Client/server ordering mismatch.") self.context.moveObjectsByDelta(item_id, delta, subset_ids) except ValueError as e: self.context.REQUEST.response.setStatus('BadRequest') return str(e) ploneUtils = getToolByName(self.context, 'plone_utils') ploneUtils.reindexOnReorder(self.context) return "<done />"
def moveObjectsDown(self, ids, delta=1, subset_ids=None): """ Move specified sub-objects down by delta in container. """ ordering = self.getOrdering() if IExplicitOrdering.providedBy(ordering): return ordering.moveObjectsDown(ids, delta, subset_ids) else: return 0
def getOrdering(self): if IPloneSiteRoot.providedBy(self.context): return self.context ordering = self.context.getOrdering() if not IExplicitOrdering.providedBy(ordering): return None return ordering
def getOrdering(context): if IPloneSiteRoot.providedBy(context): return context else: ordering = context.getOrdering() if not IExplicitOrdering.providedBy(ordering): return None return ordering
def getOrdering(context): if IPloneSiteRoot.providedBy(context): return context else: ordering = context.getOrdering() if not IExplicitOrdering.providedBy(ordering): return None return ordering
def moveObjectsByDelta(self, ids, delta, subset_ids=None, suppress_events=False): """ Move specified sub-objects by delta. """ ordering = self.getOrdering() if IExplicitOrdering.providedBy(ordering): return ordering.moveObjectsByDelta(ids, delta, subset_ids, suppress_events) else: return 0
def moveObjectsByDelta(self, ids, delta, subset_ids=None, suppress_events=False): """ Move specified sub-objects by delta. """ ordering = self.getOrdering() if IExplicitOrdering.providedBy(ordering): return ordering.moveObjectsByDelta(ids, delta, subset_ids, suppress_events) else: return 0
def orderable(self): """ """ context = aq_inner(self.context) if not IOrderableFolder.providedBy(context): if hasattr(context, 'moveObjectsByDelta'): # for instance, plone site root does not use plone.folder return True else: return False ordering = context.getOrdering() return IExplicitOrdering.providedBy(ordering)
def getOrdering(self): if IPloneSiteRoot.providedBy(self.context): return self.context try: ordering = self.context.aq_base.getOrdering() except AttributeError: if IOrderedContainer.providedBy(self.context): # Archetype return IOrderedContainer(self.context) return None if not IExplicitOrdering.providedBy(ordering): return None return ordering
def orderable(self): if IPloneSiteRoot.providedBy(self.context): return True ordering = self.context.getOrdering() return IExplicitOrdering.providedBy(ordering)