예제 #1
0
    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,
        )
예제 #2
0
    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
예제 #3
0
    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,
        )