Пример #1
0
def add_interaction():

    if not g.user:
        flash("Please sign up to access user functionality")
        return redirect("/signup")

    form = InteractionForm()
    reps = [(rep.id, rep.full_name) for rep in g.user.representatives]
    repid = request.args["repId"]
    form.representative.choices = reps
    form.representative.default = repid

    if form.validate_on_submit():

        interaction_date = form.interaction_date.data
        representative = form.representative.data
        medium = form.medium.data
        topic = form.topic.data
        content = form.content.data

        rep = Representative.query.get(representative)
        dist = District.query.get(rep.district.id)
        Interaction.add_intertaction(
            user=g.user,
            representative=rep,
            district=dist,
            interaction_date=interaction_date,
            medium=medium,
            topic=topic,
            content=content,
        )

        flash("Interaction sucessfully added")
        return redirect("/user/interactions")

    form.process()

    return render_template("add-interaction.html", form=form, user=g.user)
    def test_add_interaction(self):
        interaction = Interaction.add_intertaction(self.user1, self.rep1,
                                                   self.rep1.district,
                                                   '2020-08-26', 'email',
                                                   'stuff', 'nonsense')

        testinteraction = Interaction.query.get(1)
        self.assertIsNotNone(testinteraction)
        self.assertEqual(testinteraction.user, self.user1)
        self.assertEqual(testinteraction.representative, self.rep1)
        self.assertEqual(testinteraction.district, self.rep1.district)
        # self.assertEqual(testinteraction.interaction_date, '2020-08-26')
        self.assertEqual(testinteraction.medium, 'email')
        self.assertEqual(testinteraction.topic, 'stuff')
        self.assertEqual(testinteraction.content, 'nonsense')