def all(self, format="html"): if c.instance is None: require.perm("event.index_all") events = ( model.Event.all_q( instance=c.instance, include_hidden=False, event_filter=request.params.getall("event_filter") ) .order_by(model.Event.time.desc()) .limit(min(int(request.params.get("count", 50)), 100)) .all() ) if format == "rss": return event.rss_feed( events, _("%s News" % h.site.name()), h.base_url(instance=None), _("News from %s") % h.site.name() ) elif format == "ajax": query_params = request.params.copy() while True: try: query_params.pop("count") except KeyError: break more_url = h.base_url(instance=c.instance, member="event/all", query_params=query_params) return render_def("/event/tiles.html", "carousel", events=events, more_url=more_url) else: c.event_pager = pager.events(events, count=50) if format == "overlay": return render("/event/all.html", overlay=True, overlay_size=OVERLAY_SMALL) else: return render("/event/all.html")
def events(self, id, format=u'html'): if not c.instance.display_category_pages: abort(404) category = get_entity_or_abort(model.CategoryBadge, id) events = h.category.event_q( category, event_filter=request.params.getall('event_filter'), count=min(int(request.params.get('count', 50)), 100), ).all() enable_sorts = asbool(request.params.get('enable_sorts', 'true')) enable_pages = asbool(request.params.get('enable_pages', 'true')) row_type = request.params.get('row_type', 'row') if row_type not in ['row', 'profile_row', 'sidebar_row', 'tiny_row']: abort(400) data = { 'event_pager': pager.events(events, enable_sorts=enable_sorts, enable_pages=enable_pages, row_type=row_type), } return render('/category/events.html', data, overlay=format == 'overlay', overlay_size=OVERLAY_SMALL)
def show(self, id, format='html'): c.page_instance = get_entity_or_abort(model.Instance, id) require.instance.show(c.page_instance) if format == 'json': return render_json(c.page_instance) if format == 'rss': return self.activity(id, format) if c.page_instance != c.instance: redirect(h.entity_url(c.page_instance)) c.tile = tiles.instance.InstanceTile(c.page_instance) proposals = model.Proposal.all(instance=c.page_instance) c.new_proposals_pager = pager.proposals( proposals, size=7, enable_sorts=False, enable_pages=False, default_sort=sorting.entity_newest) c.sidebar_delegations = (_('Delegations are enabled.') if c.page_instance.allow_delegate else _('Delegations are disabled.')) #pages = model.Page.all(instance=c.page_instance, # functions=[model.Page.NORM]) #c.top_pages_pager = pager.pages( # pages, size=7, enable_sorts=False, # enable_pages=False, default_sort=sorting.norm_selections) #tags = model.Tag.popular_tags(limit=40) #c.tags = sorted(text.tag_cloud_normalize(tags), # key=lambda (k, c, v): k.name) if asbool(config.get('adhocracy.show_instance_overview_milestones')) \ and c.page_instance.milestones: number = asint(config.get( 'adhocracy.number_instance_overview_milestones', 3)) milestones = model.Milestone.all_future_q( instance=c.page_instance).limit(number).all() c.next_milestones_pager = pager.milestones( milestones, size=number, enable_sorts=False, enable_pages=False, default_sort=sorting.milestone_time) events = model.Event.find_by_instance(c.page_instance, limit=3) c.events_pager = pager.events(events, enable_pages=False, enable_sorts=False) c.stats = { 'comments': model.Comment.all_q().count(), 'proposals': model.Proposal.all_q( instance=c.page_instance).count(), 'members': model.Membership.all_q().count() } c.tutorial_intro = _('tutorial_instance_show_intro') c.tutorial = 'instance_show' return render("/instance/show.html")
def all(self, format='html'): events = model.Event.all_q( include_hidden=False, event_filter=request.params.getall('event_filter'))\ .order_by(model.Event.time.desc())\ .limit(min(int(request.params.get('count', 50)), 100)).all() if format == 'rss': return event.rss_feed(events, _('%s News' % h.site.name()), h.base_url(instance=None), _("News from %s") % h.site.name()) elif format == 'ajax': query_params = request.params.copy() while True: try: query_params.pop('count') except KeyError: break more_url = h.base_url(instance=None, member='event/all', query_params=query_params) return render_def('/event/tiles.html', 'carousel', events=events, more_url=more_url) else: c.event_pager = pager.events(events, count=50) if format == 'overlay': return render('/event/all.html', overlay=True, overlay_size=OVERLAY_SMALL) else: return render('/event/all.html')
def show(self, id, format="html"): c.page_instance = get_entity_or_abort(model.Instance, id) require.instance.show(c.page_instance) if format == "json": return render_json(c.page_instance) if format == "rss": return self.activity(id, format) if c.page_instance != c.instance: redirect(h.entity_url(c.page_instance)) c.tile = tiles.instance.InstanceTile(c.page_instance) proposals = model.Proposal.all(instance=c.page_instance) c.new_proposals_pager = pager.proposals( proposals, size=7, enable_sorts=False, enable_pages=False, default_sort=sorting.entity_newest ) c.sidebar_delegations = ( _("Delegations are enabled.") if c.page_instance.allow_delegate else _("Delegations are disabled.") ) # pages = model.Page.all(instance=c.page_instance, # functions=[model.Page.NORM]) # c.top_pages_pager = pager.pages( # pages, size=7, enable_sorts=False, # enable_pages=False, default_sort=sorting.norm_selections) # tags = model.Tag.popular_tags(limit=40) # c.tags = sorted(text.tag_cloud_normalize(tags), # key=lambda (k, c, v): k.name) if asbool(config.get("adhocracy.show_instance_overview_milestones")) and c.page_instance.milestones: number = asint(config.get("adhocracy.number_instance_overview_milestones", 3)) milestones = model.Milestone.all_future_q(instance=c.page_instance).limit(number).all() c.next_milestones_pager = pager.milestones( milestones, size=number, enable_sorts=False, enable_pages=False, default_sort=sorting.milestone_time ) events = model.Event.find_by_instance(c.page_instance, limit=3) c.events_pager = pager.events(events, enable_pages=False, enable_sorts=False) c.stats = { "comments": model.Comment.all_q().count(), "proposals": model.Proposal.all_q(instance=c.page_instance).count(), "members": model.Membership.all_q().count(), } c.tutorial_intro = _("tutorial_instance_show_intro") c.tutorial = "instance_show" return render("/instance/show.html")
def activity(self, id, format='html'): c.page_instance = get_entity_or_abort(model.Instance, id) require.instance.show(c.page_instance) if format == 'sline': ret_abort(u'Sparkline data is not available anymore.', code=410) events = model.Event.find_by_instance(c.page_instance, limit=50) if format == 'rss': return event.rss_feed(events, _('%s News' % c.page_instance.label), h.base_url(c.page_instance), _("News from %s") % c.page_instance.label) c.tile = tiles.instance.InstanceTile(c.page_instance) c.events_pager = pager.events(events) return render("/instance/activity.html")
def activity(self, id, format="html"): c.page_instance = get_entity_or_abort(model.Instance, id) require.instance.show(c.page_instance) if format == "sline": ret_abort(u"Sparkline data is not available anymore.", code=410) events = model.Event.find_by_instance(c.page_instance, limit=50) if format == "rss": return event.rss_feed( events, _("%s News" % c.page_instance.label), h.base_url(), _("News from %s") % c.page_instance.label ) c.tile = tiles.instance.InstanceTile(c.page_instance) c.events_pager = pager.events(events) return render("/instance/activity.html")
def all(self, format='html'): query = model.meta.Session.query(model.Event)\ .join(model.Instance)\ .filter(model.Instance.hidden == False) # noqa query = query.order_by(model.Event.time.desc())\ .limit(50) if format == 'rss': events = query.all() return event.rss_feed(events, _('%s News' % h.site.name()), h.base_url(instance=None), _("News from %s") % h.site.name()) c.event_pager = pager.events(query.all(), count=50) if format == 'overlay': return render('/event/all.html', overlay=True) else: return render('/event/all.html')
def activity(self, id, format='html'): c.page_instance = get_entity_or_abort(model.Instance, id) require.instance.show(c.page_instance) if format == 'sline': sline = event.sparkline_samples(instance_activity, c.page_instance) return render_json(dict(activity=sline)) events = model.Event.find_by_instance(c.page_instance) if format == 'rss': return event.rss_feed(events, _('%s News' % c.page_instance.label), h.base_url(c.page_instance), _("News from %s") % c.page_instance.label) c.tile = tiles.instance.InstanceTile(c.page_instance) c.events_pager = pager.events(events) return render("/instance/activity.html")
def show(self, id, format='html'): c.page_user = get_entity_or_abort(model.User, id, instance_filter=False) require.user.show(c.page_user) if format == 'json': return render_json(c.page_user) query = model.meta.Session.query(model.Event) query = query.filter(model.Event.user == c.page_user) query = query.order_by(model.Event.time.desc()) query = query.limit(10) if format == 'rss': return event.rss_feed( query.all(), "%s Latest Actions" % c.page_user.name, h.base_url(None, path='/user/%s' % c.page_user.user_name), c.page_user.bio) c.events_pager = pager.events(query.all()) c.tile = tiles.user.UserTile(c.page_user) self._common_metadata(c.page_user, add_canonical=True) return render("/user/show.html")
def all(self, format='html'): if c.instance is None: require.perm('event.index_all') events = model.Event.all_q( instance=c.instance, include_hidden=False, event_filter=request.params.getall('event_filter'))\ .order_by(model.Event.time.desc())\ .limit(min(int(request.params.get('count', 50)), 100)).all() if format == 'rss': return event.rss_feed(events, _('%s News' % h.site.name()), h.base_url(instance=None), _("News from %s") % h.site.name()) elif format == 'ajax': query_params = request.params.copy() while True: try: query_params.pop('count') except KeyError: break more_url = h.base_url(instance=c.instance, member='event/all', query_params=query_params) return render_def('/event/tiles.html', 'carousel', events=events, more_url=more_url) else: c.event_pager = pager.events(events, count=50) if format == 'overlay': return render('/event/all.html', overlay=True, overlay_size=OVERLAY_SMALL) else: return render('/event/all.html')
def show(self, id, format='html'): c.page_instance = get_entity_or_abort(model.Instance, id) require.instance.show(c.page_instance) if format == 'json': return render_json(c.page_instance) elif format == 'rss': return self.activity(id, format) if c.page_instance != c.instance: redirect(h.entity_url(c.page_instance)) c.tile = tiles.instance.InstanceTile(c.page_instance) c.sidebar_delegations = (_('Delegations are enabled.') if c.page_instance.allow_delegate else _('Delegations are disabled.')) overview_contents = config.get_list( 'adhocracy.instance_overview_contents') overview_sidebar_contents = config.get_list( 'adhocracy.instance_overview_sidebar_contents') if u'milestones' in overview_contents and c.page_instance.milestones: number = config.get_int( 'adhocracy.number_instance_overview_milestones') milestones = model.Milestone.all_future_q( instance=c.page_instance).limit(number).all() c.next_milestones_pager = pager.milestones( milestones, size=number, enable_sorts=False, enable_pages=False, default_sort=sorting.milestone_time) c.events_pager = None if u'events' in overview_contents: events = model.Event.find_by_instance(c.page_instance, limit=10) c.events_pager = pager.events(events, enable_pages=False, enable_sorts=False) c.sidebar_events_pager = None if u'events' in overview_sidebar_contents: events = model.Event.find_by_instance(c.page_instance, limit=3) c.sidebar_events_pager = pager.events(events, enable_pages=False, enable_sorts=False, row_type=u'sidebar_row') c.proposals_pager = None if u'proposals' in overview_contents: proposals = model.Proposal.all(instance=c.page_instance) if config.get_bool( 'adhocracy.show_instance_overview_proposals_all'): c.proposals_pager = pager.proposals(proposals, size=100, initial_size=100) else: c.proposals_pager = pager.proposals( proposals, size=7, enable_sorts=False, enable_pages=False, default_sort=sorting.entity_newest) c.stats = None if config.get_bool('adhocracy.show_instance_overview_stats'): c.stats = { 'comments': model.Comment.all_q().count(), 'proposals': model.Proposal.all_q( instance=c.page_instance).count(), 'members': model.Membership.all_q().count() } c.tutorial_intro = _('tutorial_instance_show_intro') c.tutorial = 'instance_show' if c.page_instance.hidden: h.flash(_(u"This instance is not yet open for public " u"participation."), 'warning') elif c.page_instance.frozen: h.flash(_(u"This instance is not active for use and is archived. " u"It isn't possible to perform any changes to the " u"instance, but all content is available to be read."), 'warning') if format == 'overlay': return render("/instance/show.html", overlay=True) else: return render("/instance/show.html")
def show(self, id, format='html'): c.page_instance = get_entity_or_abort(model.Instance, id) require.instance.show(c.page_instance) if format == 'json': return render_json(c.page_instance) if format == 'rss': return self.activity(id, format) if c.page_instance != c.instance: redirect(h.entity_url(c.page_instance)) c.tile = tiles.instance.InstanceTile(c.page_instance) c.sidebar_delegations = (_('Delegations are enabled.') if c.page_instance.allow_delegate else _('Delegations are disabled.')) if asbool(config.get('adhocracy.show_instance_overview_milestones')) \ and c.page_instance.milestones: number = asint(config.get( 'adhocracy.number_instance_overview_milestones', 3)) milestones = model.Milestone.all_future_q( instance=c.page_instance).limit(number).all() c.next_milestones_pager = pager.milestones( milestones, size=number, enable_sorts=False, enable_pages=False, default_sort=sorting.milestone_time) c.events_pager = None if asbool(config.get('adhocracy.show_instance_overview_events', 'true')): events = model.Event.find_by_instance(c.page_instance, limit=3) c.events_pager = pager.events(events, enable_pages=False, enable_sorts=False) proposals = model.Proposal.all(instance=c.page_instance) show_new_proposals_cfg = config.get( 'adhocracy.show_instance_overview_proposals_new') if show_new_proposals_cfg is None: # Fall back to legacy option show_new_proposals = asbool(config.get( 'adhocracy.show_instance_overview_proposals', 'true')) else: show_new_proposals = asbool(show_new_proposals_cfg) c.new_proposals_pager = None if asbool(show_new_proposals): c.new_proposals_pager = pager.proposals( proposals, size=7, enable_sorts=False, enable_pages=False, default_sort=sorting.entity_newest) c.all_proposals_pager = None if asbool(config.get('adhocracy.show_instance_overview_proposals_all', 'false')): c.all_proposals_pager = pager.proposals(proposals) c.stats = None if asbool(config.get('adhocracy.show_instance_overview_stats', 'true')): c.stats = { 'comments': model.Comment.all_q().count(), 'proposals': model.Proposal.all_q( instance=c.page_instance).count(), 'members': model.Membership.all_q().count() } c.tutorial_intro = _('tutorial_instance_show_intro') c.tutorial = 'instance_show' return render("/instance/show.html")