示例#1
0
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)
示例#2
0
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)
示例#3
0
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)
示例#4
0
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)