def new_podcast(req): uset = UserSettings.get_from_user(req.user) if payment_plans.has_reached_podcast_limit(uset): return _pmrender(req, 'dashboard/podcast/page_new_upgrade.html') ctx = {'PODCAST_CATEGORIES': json.dumps(list(CATEGORIES))} if not req.POST: return _pmrender(req, 'dashboard/podcast/page_new.html', ctx) try: pod = Podcast( slug=req.POST.get('slug'), name=req.POST.get('name'), subtitle=req.POST.get('subtitle'), cover_image=signer.unsign(req.POST.get('image-url')), description=req.POST.get('description'), is_explicit=req.POST.get('is_explicit', 'false') == 'true', homepage=req.POST.get('homepage'), language=req.POST.get('language'), copyright=req.POST.get('copyright'), author_name=req.POST.get('author_name'), owner=req.user) pod.save() # TODO: The following line can throw an exception and create a # duplicate podcast if something has gone really wrong pod.set_category_list(req.POST.get('categories')) except Exception as e: ctx.update(default=req.POST, error=True) return _pmrender(req, 'dashboard/podcast/page_new.html', ctx) return redirect('podcast_dashboard', podcast_slug=pod.slug)
def importer(req): uset = UserSettings.get_from_user(req.user) if uset.plan == plans.PLAN_DEMO: return _pmrender(req, 'dashboard/page_importer_upgrade.html', {'reached_limit': False}) elif plans.has_reached_podcast_limit(uset): return _pmrender(req, 'dashboard/page_importer_upgrade.html', {'reached_limit': True}) else: return _pmrender(req, 'dashboard/page_importer.html')
def new_podcast(req): uset = UserSettings.get_from_user(req.user) if payment_plans.has_reached_podcast_limit(uset): return _pmrender(req, 'dashboard/podcast/page_new_upgrade.html') ctx = { 'LOCALES': constants.locales, 'PODCAST_CATEGORIES': json.dumps(list(CATEGORIES)), 'reached_podcast_limit': payment_plans.has_reached_podcast_limit(uset) } if not req.POST: return _pmrender(req, 'dashboard/podcast/page_new.html', ctx) # Basic validation if (not req.POST.get('slug') or not req.POST.get('name')): ctx.update(default=req.POST, error=True) return _pmrender(req, 'dashboard/podcast/page_new.html', ctx) try: pod = Podcast( slug=req.POST.get('slug'), name=req.POST.get('name'), subtitle=req.POST.get('subtitle'), cover_image=signer.unsign(req.POST.get('image-url')), description=req.POST.get('description'), is_explicit=req.POST.get('is_explicit', 'false') == 'true', homepage=req.POST.get('homepage'), language=req.POST.get('language'), copyright=req.POST.get('copyright'), author_name=req.POST.get('author_name'), owner=req.user) pod.clean() pod.save() except Exception as e: ctx.update(default=req.POST, error=True) return _pmrender(req, 'dashboard/podcast/page_new.html', ctx) try: pod.set_category_list(req.POST.get('categories')) except Exception: pass return redirect('podcast_dashboard', podcast_slug=pod.slug)
def new_podcast(req): uset = UserSettings.get_from_user(req.user) if payment_plans.has_reached_podcast_limit(uset): return _pmrender(req, 'dashboard/podcast/page_new_upgrade.html') ctx = { 'LOCALES': constants.locales, 'reached_podcast_limit': payment_plans.has_reached_podcast_limit(uset) } if not req.POST: return _pmrender(req, 'dashboard/podcast/page_new.html', ctx) # Basic validation if (not req.POST.get('slug') or not req.POST.get('name')): ctx.update(default=req.POST, error=True) return _pmrender(req, 'dashboard/podcast/page_new.html', ctx) try: pod = Podcast( slug=req.POST.get('slug'), name=req.POST.get('name'), subtitle=req.POST.get('subtitle'), cover_image=signer.unsign(req.POST.get('image-url')), description=req.POST.get('description'), is_explicit=req.POST.get('is_explicit', 'false') == 'true', homepage=req.POST.get('homepage'), language=req.POST.get('language'), copyright=req.POST.get('copyright'), author_name=req.POST.get('author_name'), owner=req.user) pod.clean() pod.save() except Exception as e: ctx.update(default=req.POST, error=True) return _pmrender(req, 'dashboard/podcast/page_new.html', ctx) try: pod.set_category_list(req.POST.get('categories')) except Exception: pass return redirect('podcast_dashboard', podcast_slug=pod.slug)