def action_new(self): self.form_header = Markup( render_template('campaign_action_edit_header.html.jinja2', campaign=self.obj)) form = CampaignActionForm() if request.method == 'GET': form.seq.data = max([a.seq for a in self.obj.actions] or [0]) + 1 if form.validate_on_submit(): action = CampaignAction(campaign=self.obj) db.session.add(action) form.populate_obj(action) action.name = uuid_b58( ) # Use a random name since it needs to be permanent db.session.commit() flash("Added campaign action ‘%s’" % action.title, 'interactive') return redirect(self.obj.url_for(), code=303) return render_form( form=form, title="Add a new campaign action…", submit="Save", formid="campaign_action_new", cancel_url=self.obj.url_for(), ajax=False, )
def setUp(self): self.ctx = self.app.test_request_context() self.ctx.push() db.create_all() # Initial Setup random_user_id = uuid_b58() self.user = User( username='******'.format(userid=random_user_id.lower()), fullname="Luke Skywalker", email='luke{userid}@dagobah.org'.format(userid=random_user_id), ) db.session.add(self.user) db.session.commit() self.organization = Organization(name='spacecon', title="SpaceCon", owner=self.user) db.session.add(self.organization) db.session.commit() self.profile = self.organization.profile self.project = Project( title="20000 AD", tagline="In a galaxy far far away...", profile=self.profile, user=self.user, ) db.session.add(self.project) self.project.make_name() db.session.commit() self.ticket_client = TicketClient( name="test client", client_eventid='123', clientid='123', client_secret='123', client_access_token='123', project=self.project, ) db.session.add(self.ticket_client) db.session.commit() bulk_upsert(self.project, event_ticket_types) db.session.commit() self.session = db.session
def new(self): self.message = "Campaigns appear around the job board and provide a call to action for users" form = CampaignForm() if request.method == 'GET' and g.board: form.boards.data = [g.board] if form.validate_on_submit(): campaign = Campaign(user=g.user) form.populate_obj(campaign) # Use a random name since it's also used in user action submit forms campaign.name = uuid_b58() db.session.add(campaign) db.session.commit() flash("Created a campaign", 'success') return render_redirect(campaign.url_for(), code=303) return render_form( form=form, title="Create a campaign…", submit="Next", formid="campaign_new", cancel_url=url_for(self.list_current.endpoint), ajax=False, )