def __init__(self, context, request, prefix='batch', size=10): self.context = context self.request = request self.url = get_absolute_url(self.context, self.request) self.prefix = prefix self.size = size self.batch = None
def save_changes(self): data, errors = self.extractData() if errors: self.submissionError = errors return FAILURE self.context.__parent__.update(self.context, **data) action_url = str(get_absolute_url(self.context, self.request)) raise exceptions.HTTPFound(location=action_url)
def create(self): data, errors = self.extractData() if errors: self.submissionError = errors return FAILURE item = self.context.add(**data) action_url = str(get_absolute_url(self.context, self.request)) raise exceptions.HTTPFound(location=action_url)
def update(self): DisplayFieldWidget.update(self) content = self.form.getContentData().getContent() fileobj = self.component._field.get(content) if fileobj: if IFile.providedBy(fileobj): self.filename = fileobj.filename self.filesize = ISized(fileobj, None) self.url = get_absolute_url(content, self.request) self.download = "%s/++download++%s" % ( self.url, self.component.identifier)
def breadcrumbs(item, request, resolver=resolve_name): if resolver is None: resolver = resolve_name kin = lineage_chain(item) if kin: kin.reverse() root = kin.pop(0) base_url = get_absolute_url(root, request) name, title = resolver(root) yield {'name': title, 'url': base_url} for sibling in kin: name, title = resolver(sibling) base_url += '/' + parse.quote(name.encode('utf-8'), _safe) yield {'name': title, 'url': base_url}
def get_tabs(self, view=None): tabs = [] base_url = get_absolute_url(self.context, self.request) if view is not None: current = (crom.name.get(view), view.__class__) for name, klass in sort_components( IView.all_components(self.context, self.request), key=sorter): tabs.append({ 'id': name, 'title': title.get(klass) or name, 'selected': current == (name, klass), 'url': '%s/%s' % (base_url, name), }) if len(tabs) == 1 and tabs[0]['selected']: return [] return tabs
def update(self): SchemaFieldWidget.update(self) if not self.form.ignoreContent: content = self.form.getContentData().getContent() fileobj = self.component._field.get(content) if fileobj: self.allow_action = True if IFile.providedBy(fileobj): self.filename = fileobj.filename self.filesize = ISized(fileobj, None) else: self.filename = _(u'download', default=u"Download") if ILocation.providedBy(content): self.url = get_absolute_url(content, self.request) self.download = "%s/++download++%s" % ( self.url, self.component.identifier)
def url(self): return get_absolute_url(self.context, self.request)
def url(self, *args): if len(args) == 0: return get_absolute_url(self.context, self.request) else: return get_absolute_url((args)[0], self.request)