Esempio n. 1
0
 def test_campaign_determiner_duplicates_true(self):
     stack = helpers.create_stack()
     c = Campaign.find_by_id_anon(stack['campaign_id'])
     e = Email.find_by_id_anon(stack['email_id'])
     e.update(selector_col_val='["dog"]')
     e2 = Email.create(account_id=c.account_id, name="EmailTwo", campaign_id=c.id)
     e2.update(selector_col_val='["dog"]')
     self.assertEqual(c.determiner_duplicates(),(True,'dog'))
Esempio n. 2
0
 def test_campaign_email_determiner_none(self):
     stack = helpers.create_stack()
     c = Campaign.find_by_id_anon(stack['campaign_id'])
     c.update(selector_col_name='dog')
     e = Email.find_by_id_anon(stack['email_id'])
     e.update(selector_col_val='["woof"]')
     e2 = Email.create(account_id=c.account_id, name="EmailTwo", campaign_id=c.id)
     e2.update(selector_col_val='["heina"]')
     self.assertEqual(c.email_determiner({'dog': 'cat'}), None)
Esempio n. 3
0
def create(campaign_id=None):
    campaign = Campaign.find_by_id(campaign_id) if campaign_id else None
    if not campaign:
        return abort(404)

    form = NewEmailForm(request.form)

    if campaign.list_id:
        keys = campaign.list_.get_import_data_keys()
        form.selector_col_val.choices = campaign.list_.get_unique_col_values(
            campaign.selector_col_name, True)
    else:
        keys = []

    templates = Template.get_all_choices()

    if form.validate_on_submit():
        params = {
            'name': form.name.data,
            'subject': form.subject.data,
            'preheader': form.preheader.data,
            'selector_col_val': form.selector_col_val.data
        }
        if form.template.data:
            params['html'] = Template.get_html(form.template.data)
        params['account_id'] = current_user.account_id
        params['campaign_id'] = campaign.id
        email = Email.create(**params)
        if email:
            flash('Email Created')
            return redirect(
                url_for('email.edit',
                        email_id=email.id,
                        campaign_id=campaign.id))
    flash_errors(form)
    return render_template('email/new.html',
                           form=form,
                           campaign=campaign,
                           keys=keys,
                           templates=templates)
Esempio n. 4
0
 def test_campaign_email_determiner_no_specification(self):
     stack = helpers.create_stack()
     c = Campaign.find_by_id_anon(stack['campaign_id'])
     e = Email.find_by_id_anon(stack['email_id'])
     e2 = Email.create(account_id=c.account_id, name="EmailTwo", campaign_id=c.id)
     self.assertEqual(c.email_determiner({}), e)
Esempio n. 5
0
 def test_campaign_selector_missing_true(self):
     stack = helpers.create_stack()
     c = Campaign.find_by_id_anon(stack['campaign_id'])
     e2 = Email.create(account_id=c.account_id, name="EmailTwo", campaign_id=c.id)
     self.assertEqual(c.selector_missing(),True)