def test_form_validation_for_blank_group_name(self):
     form = GroupForm(owner=self.create_owner(),
                      data={
                          'name': '',
                          'contacts': self.create_member_ids()
                      })
     self.assertFalse(form.is_valid())
Example #2
0
 def test_form_validation_for_valid_data_email_no_members(self):
     form = GroupForm(owner=self.create_owner(), data={
         'name': 'Household expenses',
         'contacts': [],
         'emails_0': '*****@*****.**',
         })
     self.assertTrue(form.is_valid())
 def test_form_validation_for_bad_email(self):
     form = GroupForm(owner=self.create_owner(),
                      data={
                          'name': 'Household expenses',
                          'emails_0': 'not_an_email',
                      })
     self.assertFalse(form.is_valid())
 def test_form_validation_for_valid_data_email_no_members(self):
     form = GroupForm(owner=self.create_owner(),
                      data={
                          'name': 'Household expenses',
                          'contacts': [],
                          'emails_0': '*****@*****.**',
                      })
     self.assertTrue(form.is_valid())
 def test_form_validation_for_no_members_and_no_email(self):
     form = GroupForm(owner=self.create_owner(),
                      data={
                          'name': 'Household expenses',
                          'contacts': [],
                          'emails_0': '',
                          'emails_1': '',
                          'emails_2': '',
                          'emails_3': '',
                          'emails_4': '',
                      })
     self.assertFalse(form.is_valid())
     self.assertRaises(ValidationError, form.clean)
Example #6
0
 def test_form_validation_for_no_members_and_no_email(self):
     form = GroupForm(owner=self.create_owner(), data={
         'name': 'Household expenses',
         'contacts': [],
         'emails_0': '',
         'emails_1': '',
         'emails_2': '',
         'emails_3': '',
         'emails_4': '',
         })
     self.assertFalse(form.is_valid())
     self.assertRaises(
         ValidationError,
         form.clean
     )
Example #7
0
 def test_form_validation_for_valid_data_members_and_email(self):
     owner = self.create_owner()
     members = self.create_users(3)
     gang = list(members)
     gang.append(owner)
     other_group = Group.objects.create(name="Other")
     other_group.user_set.add(*gang)
     form = GroupForm(owner=owner, data={
         'name': 'Household expenses',
         'contacts': [member.id for member in members],
         'emails_0': '*****@*****.**',
         'emails_1': '*****@*****.**',
         'emails_2': '*****@*****.**',
         'emails_3': '*****@*****.**',
         'emails_4': '*****@*****.**',
         })
     self.assertTrue(form.is_valid())
Example #8
0
def new_group(request):
    group_form = None
    quits_group_form = None
    user = request.user
    
    if request.method == 'POST':
        members = [id_ for id_ in request.POST.getlist('contacts')]
        group_data = {
            'name': request.POST['name'],
            'contacts': members,
        }
        emails = []
        for i in range(5):
            key = 'emails_{}'.format(str(i))
            try:
                group_data[key] = request.POST[key]
                emails.append(request.POST[key])
            except:
                pass
        group_form = GroupForm(owner=user, data=group_data)
        if group_form.is_valid() and request.POST.get('currency'):
            group = group_form.save()
            quits_group_data = {
                'currency': request.POST['currency'],
                'group': group.id,
            }
            quits_group_form = QuitsGroupForm(
                owner=user, data=quits_group_data)
            if quits_group_form.is_valid():
                quits_group_form.save()

                emails = [user.email for user in group.user_set.exclude(is_active=True)]
                send_invitations(request=request, user=user, emails=emails)
                
                return redirect('view_group', group.id)

    if not group_form:
        group_form = GroupForm(owner=user)
    if not quits_group_form:
        quits_group_form = QuitsGroupForm(owner=request.user)

    context = {
        'group_form': group_form,
        'quits_group_form': quits_group_form,
    }
    return render(request, 'quits/new_group.html', context)
 def test_form_validation_for_valid_data_members_and_email(self):
     owner = self.create_owner()
     members = self.create_users(3)
     gang = list(members)
     gang.append(owner)
     other_group = Group.objects.create(name="Other")
     other_group.user_set.add(*gang)
     form = GroupForm(owner=owner,
                      data={
                          'name': 'Household expenses',
                          'contacts': [member.id for member in members],
                          'emails_0': '*****@*****.**',
                          'emails_1': '*****@*****.**',
                          'emails_2': '*****@*****.**',
                          'emails_3': '*****@*****.**',
                          'emails_4': '*****@*****.**',
                      })
     self.assertTrue(form.is_valid())
Example #10
0
 def test_form_validation_for_blank_group_name(self):
     form = GroupForm(owner=self.create_owner(), data={
         'name': '',
         'contacts': self.create_member_ids()
         })
     self.assertFalse(form.is_valid())
Example #11
0
 def test_form_validation_for_bad_email(self):
     form = GroupForm(owner=self.create_owner(), data={
         'name': 'Household expenses',
         'emails_0': 'not_an_email',
         })
     self.assertFalse(form.is_valid())