def handle_diff_version(self, action, data): self.status = _("Displaying differences") selected = getSelected(self.selection_column, self.request) if len(selected) not in (1, 2): self.status = _("Select one or two items to show differences") return context = removeSecurityProxy(self.context) source = self._versions.get(selected[0]) try: target = self._versions.get(selected[1]) if source.version_id > target.version_id: t = source source = target target = t except IndexError: target = context diff_view = DiffView(source, target, self.request) self.diff_view = diff_view(*filter(IIModelInterface.providedBy, interface.providedBy(context))) log.debug("handle_diff_version: source=%s target=%s \n%s" % (source, target, self.diff_view))
def handle_diff_version(self, action, data): self.status = _("Displaying differences") selected = getSelected(self.selection_column, self.request) if len(selected) not in (1, 2): self.status = _("Select one or two items to show differences") return context = removeSecurityProxy(self.context) source = self._versions.get(selected[0]) try: target = self._versions.get(selected[1]) if source.version_id > target.version_id: t = source source = target target = t except IndexError: target = context diff_view = DiffView(source, target, self.request) self.diff_view = diff_view( *filter(IIModelInterface.providedBy, interface.providedBy(context))) log.debug("handle_diff_version: source=%s target=%s \n%s" % ( source, target, self.diff_view))
def handle_revert_version(self, action, data): selected = getSelected(self.selection_column, self.request) if len(selected) != 1: self.status = _("Select one item to revert to") return version = self._versions.get(selected[0]) message = data["commit_message"] self._versions.revert(version, message) self.status = (_(u"Reverted to Previous Version %s") %(version.version_id))
def handle_diff_version(self, action, data): self.status = _("Displaying differences") selected_audit_ids = sorted(getSelected(self.selection_column, self.request)) if len(selected_audit_ids) not in (1, 2): self.status = _("Select one or two items to show differences") return source = self.get_version_change(selected_audit_ids[0]) try: target = self.get_version_change(selected_audit_ids[1]) except IndexError: target = removeSecurityProxy(self.context) diff_view = DiffView(source, target, self.request) self.diff_view = diff_view( *filter(IIModelInterface.providedBy, interface.providedBy(self.context))) log.debug("handle_diff_version: source=%s target=%s \n%s" % ( source, target, self.diff_view))
def handle_revert_version(self, action, data): # !+REVERSION must be reviewed, probably obsoleted selected_audit_ids = getSelected(self.selection_column, self.request) if len(selected_audit_ids) != 1: self.status = _("Select one item to revert to") return selected_audit = self.get_version_change(selected_audit_ids[0]) # !+ change_data not yet initialized for version requests change_data = IAnnotations(self.request)["change_data"] = {} # !+polymorphic_identity_multi adding action "qualifier" to note... # there could be a case for an additional column on change table. change_data["note"] = "%s [reversion %s]" % ( data["commit_message"], selected_audit_ids[0]) change_data["procedure"] = "m" version.create_reversion(selected_audit) self.status = _(u"Reverted to Previous Version %s") % ( removeSecurityProxy(selected_audit).audit_id)