Пример #1
0
    def index(self, format='html'):

        if c.instance:
            redirect(h.entity_url(c.instance))

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

        name = config.get('adhocracy.redirect_startpage_to_instance')
        if name != u'':
            # get_entity_or_abort does no work for instances
            instance = model.Instance.find(name)
            if instance is not None:
                redirect(h.entity_url(instance))

        data = {}

        instances_in_root = config.get_int(
            'adhocracy.startpage.instances.list_length')
        if instances_in_root > 0:
            data['instances'] = model.Instance.all(limit=instances_in_root)
        elif instances_in_root == -1:
            data['instances'] = model.Instance.all()

        add_static_content(data, u'adhocracy.static_index_path')
        c.body_css_classes += data.get('css_classes', [])
        c.body_css_classes.append('added_static_content')
        if data['title'] is None:
            data['title'] = config.get('adhocracy.site.name')

        proposals_number = config.get_int(
            'adhocracy.startpage.proposals.list_length')

        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())

            data['new_proposals_pager'] = pager.proposals(
                proposals, size=proposals_number,
                default_sort=sorting.entity_newest,
                enable_pages=False,
                enable_sorts=False)
        else:
            data['new_proposals_pager'] = None

        if config.get_bool('adhocracy.show_stats_on_frontpage'):
            data['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 == 'overlay':
            return render('index.html', data, overlay=True)
        else:
            return render('index.html', data)
Пример #2
0
 def index(self, format=u'html'):
     if not c.instance.display_category_pages:
         abort(404)
     categories = model.CategoryBadge.all(instance=c.instance,
                                          visible_only=True)
     data = {
         'categories': filter(lambda c: len(c.children) == 0, categories)
     }
     add_static_content(data, u'adhocracy.static.category_index_heading',
                        body_key=u'heading_text',
                        title_key=u'heading_title')
     return render('/category/index.html', data,
                   overlay=format == u'overlay')
Пример #3
0
    def _register_form(self, defaults=None, errors=None):

        data = {
            'email_required': (config.get_bool('adhocracy.require_email')),
        }
        add_static_content(data,
                           u'adhocracy.static_shibboleth_register_ontop_path',
                           body_key=u'body_ontop')
        add_static_content(data,
                           u'adhocracy.static_shibboleth_register_below_path',
                           body_key=u'body_below', title_key=u'_ignored')
        return formencode.htmlfill.render(
            render("/shibboleth/register.html", data),
            defaults=defaults, errors=errors,
            force_defaults=False)
Пример #4
0
 def index(self, format=u'html'):
     if not c.instance.display_category_pages:
         abort(404)
     categories = model.CategoryBadge.all(instance=c.instance,
                                          visible_only=True)
     data = {
         'categories': filter(lambda c: len(c.children) == 0, categories)
     }
     add_static_content(data,
                        u'adhocracy.static.category_index_heading',
                        body_key=u'heading_text',
                        title_key=u'heading_title')
     return render('/category/index.html',
                   data,
                   overlay=format == u'overlay')
Пример #5
0
    def _register_form(self, defaults=None, errors=None):

        data = {
            'email_required': (config.get_bool('adhocracy.require_email')),
        }
        add_static_content(data,
                           u'adhocracy.static_shibboleth_register_ontop_path',
                           body_key=u'body_ontop')
        add_static_content(data,
                           u'adhocracy.static_shibboleth_register_below_path',
                           body_key=u'body_below',
                           title_key=u'_ignored')
        return formencode.htmlfill.render(render("/shibboleth/register.html",
                                                 data),
                                          defaults=defaults,
                                          errors=errors,
                                          force_defaults=False)