def get_default_channel(cls): default_channel = cls.DEFAULT_CHANNEL try: return Channel.objects.get(long_slug=default_channel) except Exception as e: logger.warning(str(e)) return Channel.get_homepage()
def get_default_channel(cls): default_channel = cls.DEFAULT_CHANNEL try: return Channel.objects.get(long_slug=default_channel) except Exception as e: logger.warning(str(e)) return Channel.get_homepage()
def inject(): now = datetime.datetime.now() return dict( channels=Channel.objects(published=True, available_at__lte=now, parent=None), Config=Config, Content=Content, Channel=Channel, homepage=Channel.get_homepage(), Link=Link )
def configure(app): app.add_quokka_url_rule('/sitemap.xml', view_func=SiteMap.as_view('sitemap')) app.add_quokka_url_rule('/mediafiles/<path:filename>', view_func=media) app.add_quokka_url_rule('/template_files/<path:filename>', view_func=template_files) app.add_quokka_url_rule( '/theme_template_files/<identifier>/<path:filename>', view_func=theme_template_files ) for filepath in app.config.get('MAP_STATIC_ROOT', []): app.add_quokka_url_rule(filepath, view_func=static_from_root) # Match content detail, .html added to distinguish from channels # better way? how? content_extension = app.config.get("CONTENT_EXTENSION", "html") app.add_quokka_url_rule('/<path:long_slug>.{0}'.format(content_extension), view_func=ContentDetail.as_view('detail')) # Draft preview app.add_quokka_url_rule('/<path:long_slug>.preview', view_func=ContentDetailPreview.as_view('preview')) # Atom Feed app.add_quokka_url_rule( '/<path:long_slug>.atom', view_func=FeedAtom.as_view('atom_list') ) app.add_quokka_url_rule( '/tag/<tag>.atom', view_func=TagAtom.as_view('atom_tag') ) # RSS Feed app.add_quokka_url_rule( '/<path:long_slug>.xml', view_func=FeedRss.as_view('rss_list') ) app.add_quokka_url_rule('/tag/<tag>.xml', view_func=TagRss.as_view('rss_tag')) # Tag list app.add_quokka_url_rule('/tag/<tag>/', view_func=TagList.as_view('tag')) # Match channels by its long_slug mpath app.add_quokka_url_rule('/<path:long_slug>/', view_func=ContentList.as_view('list')) # Home page app.add_quokka_url_rule( '/', view_func=ContentList.as_view('home'), defaults={"long_slug": Channel.get_homepage('long_slug') or "home"} )
def configure(app): app.add_quokka_url_rule('/sitemap.xml', view_func=SiteMap.as_view('sitemap')) app.add_quokka_url_rule('/mediafiles/<path:filename>', view_func=media) app.add_quokka_url_rule('/template_files/<path:filename>', view_func=template_files) app.add_quokka_url_rule( '/theme_template_files/<identifier>/<path:filename>', view_func=theme_template_files) for filepath in app.config.get('MAP_STATIC_ROOT', []): app.add_quokka_url_rule(filepath, view_func=static_from_root) # Match content detail, .html added to distinguish from channels # better way? how? content_extension = app.config.get("CONTENT_EXTENSION", "html") app.add_quokka_url_rule('/<path:long_slug>.{0}'.format(content_extension), view_func=ContentDetail.as_view('detail')) # Draft preview app.add_quokka_url_rule('/<path:long_slug>.preview', view_func=ContentDetailPreview.as_view('preview')) # Atom Feed app.add_quokka_url_rule('/<path:long_slug>.atom', view_func=FeedAtom.as_view('atom_list')) app.add_quokka_url_rule('/tag/<tag>.atom', view_func=TagAtom.as_view('atom_tag')) # RSS Feed app.add_quokka_url_rule('/<path:long_slug>.xml', view_func=FeedRss.as_view('rss_list')) app.add_quokka_url_rule('/tag/<tag>.xml', view_func=TagRss.as_view('rss_tag')) # Tag list app.add_quokka_url_rule('/tag/<tag>/', view_func=TagList.as_view('tag')) # Match channels by its long_slug mpath app.add_quokka_url_rule('/<path:long_slug>/', view_func=ContentList.as_view('list')) # Home page app.add_quokka_url_rule( '/', view_func=ContentList.as_view('home'), defaults={"long_slug": Channel.get_homepage('long_slug') or "home"})
def inject(): now = datetime.datetime.now() return dict( channels=Channel.objects(published=True, available_at__lte=now, parent=None), Config=Config, Content=Content, Channel=Channel, homepage=Channel.get_homepage(), Link=Link, dir=dir, get_url=get_url, request_path=load_req_path, request_endpoint=load_req_endpoint, bp=map(str, app.blueprints), theme_path=load_theme_path, get_unmoderated_comments=get_unmoderated_comments, )
def set_project_campaign(self, donation_to_project, cart=None): cart = cart or self.cart default_campaign = current_app.config.get( 'FUNDRAISING_PROJECT_CAMPAIGN', {'slug': 'project-campaign', 'title': 'Donation to project', 'description': 'Donation to project', 'published': True, 'channel': Channel.get_homepage()} ) try: campaign = Campaign.objects.get(slug=default_campaign.get('slug')) except Campaign.DoesNotExist: campaign = Campaign(**default_campaign) campaign.save() self.values.append( Values(campaign=campaign, value=float(donation_to_project)) ) cart.items.append( Item( uid=campaign.get_uid(), product=campaign, reference=self, title=campaign.get_title(), description=campaign.get_description(), unity_value=float(donation_to_project) ) ) cart.addlog( "Item added %s" % campaign.get_title(), save=False ) self.save()