def admin_add_article_form(): current_user = get_current_user() article_fields = [ "title", "subtitle", "url", "author_name", "image_url", "content", "mins_to_read", "order_id", "is_visible" ] ArticleForm = model_form(Article, article_fields) article = Article(current_user.id) form = ArticleForm(request.form, obj=article) if form.validate_on_submit(): form.populate_obj(article) db.session.add(article) db.session.commit() print 'Inserted article ' + str(article.title) + ' <--' return redirect(url_for('articles')) elif form.is_submitted(): flash(form.errors) return render_template("admin_add_article_form.html", fields=article_fields, form=form)
def new_campaign(): user = get_current_user() if not user: return redirect(url_for('index')) CampaignForm = model_form(Campaign, CAMPAIGN_FIELDS) campaign = Campaign(user.id) form = CampaignForm(request.form, obj=campaign) if form.validate_on_submit(): form.populate_obj(campaign) db.session.add(campaign) db.session.commit() print 'Created new campaign: ' + str(campaign.name) return redirect(url_for('list_campaigns')) return render_template("new_campaign.html", form=form)
def admin_edit(company_id, edit_mode): if edit_mode == 'advanced': fields = ADMIN_ADVANCED_FIELDS else: fields = ADMIN_BASIC_FIELDS CompanyForm = model_form(Company, fields) company = Company.query.get(company_id) form = CompanyForm(request.form, obj=company) if form.validate_on_submit(): form.populate_obj(company) db.session.commit() print 'Updated ' + str(company.id) + ', ' + company.name.encode('utf8') if request.form.get('do_rescrape_from_url'): print ' also rescrape!' rescrape_companies_from_list([company], mode=FROM_URL_RESCRAPE_MODE) return redirect(url_for('profile', company_id=company.id)) elif form.is_submitted(): flash(form.errors) return render_template("admin_edit.html", fields=fields, form=form, company=company, edit_mode=edit_mode)
def edit_campaign(campaign_id): user = get_current_user() if not user: return redirect(url_for('index')) CampaignForm = model_form(Campaign, CAMPAIGN_FIELDS) campaign = Campaign.query.get(campaign_id) if not campaign: return 'No such campaign id' # TODO better if campaign.user_id != user.id: return 'This is not your campaign' # TODO better form = CampaignForm(request.form, obj=campaign) if form.validate_on_submit(): form.populate_obj(campaign) db.session.commit() print 'Edited campaign id ' + str(campaign.id) return redirect(url_for('view_campaign', campaign_id=campaign_id)) elif form.is_submitted(): flash(form.errors) return render_template("edit_campaign.html", form=form, campaign=campaign)