def update(self, record): form = self.context record = dict(record) order = IOrder(form) ids = component.getUtility(IIntIds) groups = [] def getFieldData(field, fields): fieldId = field.__name__ if fieldId not in record: return if IRichText.providedBy(field): fields.append((field.title, record.pop(fieldId).text)) elif IField.providedBy(field): fields.append((field.title, record.pop(fieldId))) fields_nogroup = [] for grp in order.values(): if IGroup.providedBy(grp): fields = [] for id in grp.fields: try: field = ids.getObject(id) except (TypeError, KeyError), e: continue fieldId = field.__name__ getFieldData(field, fields) groups.append((grp.title, fields)) else: getFieldData(grp, fields_nogroup)
def update(self, record): form = self.context record = dict(record) order = IOrder(form) groups = [] def getFieldData(field, fields): fieldId = field.__name__ if IRichText.providedBy(field): fields.append((field.title, record.pop(fieldId).text)) elif IField.providedBy(field): fields.append((field.title, record.pop(fieldId))) for grp in order.values(): if IGroup.providedBy(grp): fields = [] for fieldId in grp.fields: field = form.get(fieldId) getFieldData(field, fields) groups.append((grp.title, fields)) fields = [] for field in order.values(): getFieldData(field, fields) if fields: groups.append((u'', fields)) self.dictionary = groups
def initDataset(self): order = IOrder(self.context, None) if order is not None: contents = order.keys() self.container = order else: contents = self.context.keys() self.container = self.context self.dataset = removeSecurityProxy(contents)
def initDataset(self): order = IOrder(self.context) forums = [] for key, forum in order.items(): if IForum.providedBy(forum) and checkPermission('zope.View', forum): forum = removeSecurityProxy(forum) forums.append(forum) self.dataset = forums
def update(self): model = self.model container = self.context self.showImage = model.image self.url = absoluteURL(container, self.request) order = IOrder(container, None) if order is not None: keys = list(order.keys()) self.container = order else: keys = list(container.keys()) self.container = container self.contents = Batch(keys, size=model.pageSize, request=self.request)
def fields(self): form = self.context order = IOrder(form) ids = component.getUtility(IIntIds) groupFields = [] for grp in order.values(): if IGroup.providedBy(grp): for id in grp.fields: try: field = ids.getObject(id) except (TypeError, KeyError), e: continue fieldId = field.__name__ if IField.providedBy(field): groupFields.append(fieldId)
def entryModifiedHandler(entry, event): order = IOrder(removeSecurityProxy(entry.__parent__)) order.removeItem(entry.__name__) order.addItem(entry.__name__)
def update(self): if self.updated: return context = self.context request = self.request if 'form.buttons.apply' in request: self.environ['applyButton'] = True elif 'form.buttons.rename' in request: if not request.get("ids"): IStatusMessage(request).add( _("You didn't specify any ids to rename."), 'warning') else: interface.alsoProvides(self, IRenameContainerContents) elif "form.buttons.delete" in request: self.removeObjects() elif "form.buttons.copy" in request: self.copyObjects() elif "form.buttons.cut" in request: self.cutObjects() elif "form.buttons.paste" in request: self.pasteObjects() elif "form.buttons.pasteLink" in request: self.pasteObjectLinks() order = IOrder(context, None) if order is not None and IReordable.providedBy(order): self.orderButtons = len(order) > 1 changed = False selected = request.get('ids', []) if 'form.buttons.moveup' in request: changed = order.moveUp(selected) elif 'form.buttons.movetop' in request: changed = order.moveTop(selected) elif 'form.buttons.movedown' in request: changed = order.moveDown(selected) elif 'form.buttons.movebottom' in request: changed = order.moveBottom(selected) if changed: notifyContainerModified(context) IStatusMessage(request).add( _(u'Items order have been changed.')) else: self.orderButtons = False super(ContainerContents, self).update() self.setupButtons() self.updated = True
def __call__(self): order = IOrder(self.context, None) if order is not None: order.rebuild() self.request.response.redirect('context.html')