def content_add_form(content_type, request, form=None): if form is None: form = content_type._get_add_form() label = content_type.label return {'api': get_template_api(request), 'content_type': label, 'add_mode': True, 'form': form}
def content_edit_form(request, form=None): context = request.context content_type = context.__class__ if form is None: form = context._get_edit_form() label = content_type.label return {'api': get_template_api(request), 'content_type': label, 'add_mode': False, 'form': form}
def login_form(request, error=None): api = get_template_api(request) next = request.GET.get('next') or \ request.POST.get('next') or \ quote_plus(request.environ.get('HTTP_REFERER', None) or \ api.request.application_url) login = request.POST.get('login', '') return {'api': api, 'login': login, 'next': next, 'error': error}
def folder_rename_form(request): folder = request.context names = request.POST.getall('selected') if not names: msg = u'No items were selected.' request.session.flash(msg, 'error') return HTTPSeeOther('%scontents' % request.resource_url(folder)) items = [{'id': name, 'title': folder[name].title} \ for name in names] return {'api': get_template_api(request), 'items': items}
def content_view(request): ct_registry = get_content_type_registry(request.registry) klass = request.context.__class__ templates = ct_registry[klass]['display_templates'] if not templates: raise ValueError('The default display view is used for the %s ' 'content type but no template has been ' 'provided. It must be customized.' % klass.label) template = _get_display_template( ct_registry, request.context) api = get_template_api(request) return render_to_response(template, {'api': api, 'context': request.context})
def file_info(request): api = get_template_api(request) return {'api': api, 'context': request.context, 'size': pretty_size(request.context.size)}
def toolbar(request): return { 'api': get_template_api(request), }
def folder_contents(request): return {'api': get_template_api(request), 'items': request.context.values()}