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)
def test_form_validation_for_no_contacts_no_emails(self): user = self.create_owner() contacts = self.create_users() other_group = Group.objects.create(name="Other") other_group.user_set.add(user) other_group.user_set.add(*contacts) contact_ids = [contact.id for contact in contacts] group = Group.objects.create(name='Existing') data = {} for i in range(5): data['emails_{}'.format(str(i))] = '' form = AddMembersForm(group_id=group.id, user=user, data=data) self.assertFalse(form.is_valid())
def test_form_validation_for_no_contacts_no_emails(self): user = self.create_owner() contacts = self.create_users() other_group = Group.objects.create(name="Other") other_group.user_set.add(user) other_group.user_set.add(*contacts) contact_ids = [contact.id for contact in contacts] group = Group.objects.create(name='Existing') data = {} for i in range(5): data['emails_{}'.format(str(i))] = '' form = AddMembersForm(group_id=group.id, user=user, data=data) self.assertFalse(form.is_valid())