Exemplo n.º 1
0
def add_members(request, group_id):
    group = confirm_user_in_group(request.user, group_id)
    if not group:
        raise Http404
    form = None
    user = request.user

    if request.method == 'POST':
        form = AddMembersForm(group_id=group_id, user=user, data=request.POST)
        if form.is_valid():
            form.save()
            members = [c for c in form.cleaned_data.get('contacts')]
            members += form.email_users
            for member in members:
                Edit.objects.create(
                    group=group,
                    user=user,
                    change='addmem',
                    added_member=member,
                    )
            send_invitations(request=request, user=user,
                emails=[user.email for user in form.email_users])
            return redirect('view_group', group_id)

    if not form:
        form = AddMembersForm(group_id=group_id, user=user)
    context = {
        'group_name': group.name,
        'group_id': group_id,
        'form': form,
    }
    return render(request, 'quits/add_members.html', context)
Exemplo n.º 2
0
 def test_form_save_does_not_recreate_existing_users_by_email(self):
     existing_users = self.create_users()
     group = Group.objects.create(name='Existing')
     form = AddMembersForm(group_id=group.id, user=self.create_owner(), data={
         'emails_0': '*****@*****.**',
         })
     form.save()
     self.assertListEqual(list(User.objects.exclude(username='******')), existing_users)
Exemplo n.º 3
0
 def add_email_members(self, number=5):
     emails = ['test_{}@email.com'.format(str(i)) for i in range(number)]
     data = {}
     for i in range(len(emails)):
         data['emails_{}'.format(str(i))] = emails[i]
     group = Group.objects.create(name='Existing')
     form = AddMembersForm(group_id=group.id, user=self.create_owner(), data=data)
     form.save()
     return {'group': group, 'emails': emails}
Exemplo n.º 4
0
 def add_email_members(self, number=5):
     emails = ['test_{}@email.com'.format(str(i)) for i in range(number)]
     data = {}
     for i in range(len(emails)):
         data['emails_{}'.format(str(i))] = emails[i]
     group = Group.objects.create(name='Existing')
     form = AddMembersForm(group_id=group.id,
                           user=self.create_owner(),
                           data=data)
     form.save()
     return {'group': group, 'emails': emails}
Exemplo n.º 5
0
 def test_form_save_does_not_recreate_existing_quits_users_by_email(self):
     existing_quits_users = self.create_quits_users()
     group = Group.objects.create(name='Existing')
     form = AddMembersForm(group_id=group.id,
                           user=self.create_owner(),
                           data={
                               'emails_0': '*****@*****.**',
                           })
     form.save()
     self.assertListEqual(
         list(QuitsUser.objects.exclude(user__username='******')),
         existing_quits_users)
Exemplo n.º 6
0
    def test_form_save_adds_contacts_to_group(self):
        user = self.create_owner()
        contacts = self.create_users()
        gang = list(contacts)
        gang.append(user)
        other_group = Group.objects.create(name="Other")
        other_group.user_set.add(*gang)
        contact_ids = [contact.id for contact in contacts]

        group = Group.objects.create(name='Existing')

        form = AddMembersForm(group_id=group.id, user=user, data={
            'name': 'Household expenses',
            'contacts': contact_ids,
            })
        form.save()
        self.assertEqual(list(group.user_set.exclude(username='******')), contacts)
Exemplo n.º 7
0
    def test_form_save_adds_contacts_to_group(self):
        user = self.create_owner()
        contacts = self.create_users()
        gang = list(contacts)
        gang.append(user)
        other_group = Group.objects.create(name="Other")
        other_group.user_set.add(*gang)
        contact_ids = [contact.id for contact in contacts]

        group = Group.objects.create(name='Existing')

        form = AddMembersForm(group_id=group.id,
                              user=user,
                              data={
                                  'name': 'Household expenses',
                                  'contacts': contact_ids,
                              })
        form.save()
        self.assertEqual(
            list(group.user_set.exclude(username='******')), contacts)