def update(campaign_id=None): form = CampaignForm(request.form) list_id = request.form.get('list_id', None) form = setup_campaign_select_choices(form, list_id) campaign = Campaign.find_by_id(campaign_id) if form.validate_on_submit(): params = { 'name': form.name.data, 'from_email_dd': form.from_email_dd.data, 'from_name_dd': form.from_name_dd.data, 'reply_to_dd': form.reply_to_dd.data, 'to_email_dd': form.to_email_dd.data, 'to_name_dd': form.to_name_dd.data, 'from_email_ov': form.from_email_ov.data, 'from_name_ov': form.from_name_ov.data, 'reply_to_ov': form.reply_to_ov.data, 'to_email_ov': form.to_email_ov.data, 'to_name_ov': form.to_name_ov.data, 'selector_col_name': form.selector_col_name.data } if campaign.selector_col_name and campaign.selector_col_name != params['selector_col_name']: flash("Selector column changed, all emails have had selector values removed.", 'warning') for email in campaign.emails: email.update(selector_col_val=None) campaign.update(**params) flash('Campaign Updated') return redirect(url_for('campaign.edit', campaign_id=campaign.id)) flash_errors(form) list_form = CampaignListForm() list_form.list_id.choices = [('','')] + [(str(h.id), h.name) for h in List.find_all()] return render_template('campaign/edit.html', form=form, campaign=campaign, list_form=list_form)
def create_campaign(): form = CampaignForm() if request.method == 'POST': if form.validate_on_submit(): CampaignTitle = form.CampaignTitle.data Description = form.Description.data DatePosted = datetime.datetime.now() Creator = g.user.get_id() campaign = Campaign(CampaignTitle, Description, DatePosted, Creator) commit_to_db(campaign) return redirect(url_for('campaign_info', name = CampaignTitle)) if request.method == 'GET': return render_template('create_campaign.html', form = form)
def create_campaign(): if "user_id" not in session: flash("Please login first!") return redirect('/login') form = CampaignForm() if form.validate_on_submit(): title = form.title.data description = form.description.data max_players = form.max_players.data campaign = Campaign( title=title, description=description, max_players=max_players, user_id=session['user_id'] ) db.session.add(campaign) db.session.commit() return redirect('/campaigns') return render_template('new_campaign.html', form=form)