def render_report_group(group, request, css_class=''): """Produce the HTML for a report group on a section index page""" if not (IPeopleSectionColumn.providedBy(group) or IPeopleReportGroup.providedBy(group)): return '' result = [] title = getattr(group, 'title', '') if title: result.append('<h3>%s</h3>' % escape(group.title)) if css_class: result.append('<ul class=%s>' % quoteattr(css_class)) else: result.append('<ul>') for obj in group.values(): if IPeopleReport.providedBy(obj): url = resource_url(obj, request) result.append('<li><a href=%s class=%s>%s</a></li>' % ( quoteattr(url), quoteattr(obj.css_class), escape(obj.link_title))) elif IPeopleReportGroup.providedBy(obj): html = render_report_group(obj, request) result.append('<li>') result.append(html) result.append('</li>') result.append('</ul>') return '\n'.join(result)
def section_view(context, request): subs = [ sub for sub in context.values() if has_permission('view', sub, request) and IPeopleReport.providedBy(sub) ] if len(subs) == 1: return HTTPFound(location=resource_url(subs[0], request)) api = TemplateAPI(context, request, context.title) peopledir = find_peopledirectory(context) peopledir_tabs = get_tabs(peopledir, request, context.__name__) columns = [{ 'html': render_report_group(x, request, 'column'), 'width': getattr(x, 'width', 50) } for x in context.values()] columns = [x for x in columns if x['html']] return dict( api=api, peopledir=peopledir, peopledir_tabs=peopledir_tabs, context_tools=peopledir_tabs, columns=columns, actions=get_actions(context, request), )
def render_report_group(group, request, css_class=''): """Produce the HTML for a report group on a section index page""" if not (IPeopleSectionColumn.providedBy(group) or IPeopleReportGroup.providedBy(group)): return '' result = [] title = getattr(group, 'title', '') if title: result.append('<h3>%s</h3>' % escape(group.title)) if css_class: result.append('<ul class=%s>' % quoteattr(css_class)) else: result.append('<ul>') for obj in group.values(): if IPeopleReport.providedBy(obj): url = resource_url(obj, request) result.append('<li><a href=%s class=%s>%s</a></li>' % (quoteattr(url), quoteattr( obj.css_class), escape(obj.link_title))) elif IPeopleReportGroup.providedBy(obj): html = render_report_group(obj, request) result.append('<li>') result.append(html) result.append('</li>') result.append('</ul>') return '\n'.join(result)
def dump_peopledir(peopledir): old_style = getattr(peopledir, "categories", None) is not None template = PageTemplate(body=_DUMP_XML) if old_style: categories = peopledir.categories else: categories = peopledir["categories"] return template( peopledir=peopledir, categories=categories, sections=[(x, peopledir[x]) for x in peopledir.order], is_column=lambda x: IPeopleSectionColumn.providedBy(x), is_group=lambda x: IPeopleReportGroup.providedBy(x), is_report=lambda x: IPeopleReport.providedBy(x), is_redirector=lambda x: IPeopleRedirector.providedBy(x), category_items=_category_items, acl_info=_acl_info, column_info=_column_info, report_items=_report_items, report_filter_items=_report_filter_items, )
def dump_peopledir(peopledir): old_style = getattr(peopledir, 'categories', None) is not None template = PageTemplate(body=_DUMP_XML) if old_style: categories = peopledir.categories else: categories = peopledir['categories'] return template( peopledir=peopledir, categories=categories, sections=[(x, peopledir[x]) for x in peopledir.order], is_column=lambda x: IPeopleSectionColumn.providedBy(x), is_group=lambda x: IPeopleReportGroup.providedBy(x), is_report=lambda x: IPeopleReport.providedBy(x), is_redirector=lambda x: IPeopleRedirector.providedBy(x), category_items=_category_items, acl_info=_acl_info, column_info=_column_info, report_items=_report_items, report_filter_items=_report_filter_items, )
def section_view(context, request): subs = [sub for sub in context.values() if has_permission('view', sub, request) and IPeopleReport.providedBy(sub)] if len(subs) == 1: return HTTPFound(location=model_url(subs[0], request)) api = TemplateAPI(context, request, context.title) peopledir = find_peopledirectory(context) peopledir_tabs = get_tabs(peopledir, request, context.__name__) columns = [{'html': render_report_group(x, request, 'column'), 'width': getattr(x, 'width', 50)} for x in context.values()] columns = [x for x in columns if x['html']] return dict(api=api, peopledir=peopledir, peopledir_tabs=peopledir_tabs, columns=columns, actions=get_actions(context, request), )
def render_report_group(group, request, css_class=''): """Produce the HTML for a report group on a section index page""" res = [] if group.title: res.append('<h3>%s</h3>' % escape(group.title)) if css_class: res.append('<ul class=%s>' % quoteattr(css_class)) else: res.append('<ul>') for obj in group.reports: if IPeopleReport.providedBy(obj): url = model_url(obj, request) res.append('<li><a href=%s class=%s>%s</a></li>' % ( quoteattr(url), quoteattr(obj.css_class), escape(obj.link_title))) elif IPeopleReportGroup.providedBy(obj): html = render_report_group(obj, request) res.append('<li>') res.append(html) res.append('</li>') res.append('</ul>') return '\n'.join(res)
def section_view(context, request): subs = [sub for sub in context.values() if has_permission("view", sub, request) and IPeopleReport.providedBy(sub)] if len(subs) == 1: return HTTPFound(location=resource_url(subs[0], request)) api = TemplateAPI(context, request, context.title) peopledir = find_peopledirectory(context) peopledir_tabs = get_tabs(peopledir, request, context.__name__) columns = [ {"html": render_report_group(x, request, "column"), "width": getattr(x, "width", 50)} for x in context.values() ] columns = [x for x in columns if x["html"]] return dict( api=api, peopledir=peopledir, peopledir_tabs=peopledir_tabs, columns=columns, actions=get_actions(context, request), )