Пример #1
0
def render_footer_column(instance, column):
    if not config.get_bool('adhocracy.customize_footer'):
        return None
    path = u'footer_' + unicode(column)
    if instance and\
       instance.key in config.get('adhocracy.instance_footers'):
        path = u'%s_%s' % (path, instance.key)
    page = staticpage.get_static_page(path)
    if page is None:
        return None
    else:
        return page.body
Пример #2
0
    def serve(self, key, format='html'):
        page = get_static_page(key)
        if page is None:
            return abort(404, _('The requested page was not found'))

        data = {
            'static': page,
            'active_global_nav': key,
        }
        if format == 'simple':
            ret = render('/plain_doc.html', data)
        else:
            ret = render('/template_doc.html', data)
        return ret
Пример #3
0
    def serve(self, key, format='html'):
        page = get_static_page(key)
        if page is None:
            return abort(404, _('The requested page was not found'))

        data = {
            'static': page,
            'body_html': render_body(page.body),
            'active_global_nav': key,
        }

        if format == 'simple':
            return render('/plain_doc.html', data)
        elif format == 'overlay':
            return render('/static/show.html', data, overlay=True)
        else:
            return render('/static/show.html', data)
Пример #4
0
    def serve(self, key, format='html'):
        page = get_static_page(key)
        if page is None:
            return abort(404, _('The requested page was not found'))
        c.body_css_classes += page.css_classes
        data = {
            'static': page,
            'body_html': render_body(page.body),
            'active_global_nav': key,
        }

        if format == 'simple':
            return render('/plain_doc.html', data)
        elif format == 'overlay':
            return render('/static/show.html', data, overlay=True)
        else:
            return render('/static/show.html', data)
Пример #5
0
    def index(self, format='html'):
        require.proposal.index()
        if c.instance:
            redirect(h.entity_url(c.instance))

        instances_in_root = asint(
            config.get('adhocracy.startpage.instances.list_length', 0))
        if instances_in_root > 0:
            c.instances = model.Instance.all(limit=instances_in_root)
        elif instances_in_root == -1:
            c.instances = model.Instance.all()

        c.page = get_static_page('index')

        proposals_number = asint(
            config.get('adhocracy.startpage.proposals.list_length', 0))

        if proposals_number > 0:
            proposals = model.Proposal.all_q()\
                .join(model.Instance).filter(not_(
                    model.Instance.key.in_(model.Instance.SPECIAL_KEYS)))\
                .order_by(model.Proposal.create_time.desc())

            c.new_proposals_pager = pager.proposals(
                proposals, size=proposals_number,
                default_sort=sorting.entity_newest,
                enable_pages=False,
                enable_sorts=False)
        else:
            c.new_proposals_pager = None

        if asbool(config.get('adhocracy.show_stats_on_frontpage', 'true')):
            c.stats_global = {
                "members": model.User.all_q().count(),
                "comments": model.Comment.all_q().count(),
                "proposals": model.Proposal.all_q().count(),
                "votes": model.Vote.all_q().count(),
            }

        if format == 'rss':
            return EventController().all(format='rss')

        return render('index.html')
Пример #6
0
def get_body(key, default=''):
    res = staticpage.get_static_page(key)
    if res is None:
        return default
    return res.body