Exemple #1
0
def invite_members(request, team_id):
    team = get_object_or_404(Team, id=team_id)
    if not request.user.profile.can_edit_team(team):
        messages.add_message(request, messages.WARNING, message=_('You can not manage this team\'s members.'))
        return redirect('manage-members', team_id)
    if not request.user.account.is_email_confirmed:
        messages.add_message(request, messages.WARNING, message=_('You must confirm your own email address before you can invite others.'))
        return redirect('edit-profile')

    if request.method == 'POST':
        invite_form = TeamInviteForm(request.POST)
        if invite_form.is_valid():
            to = invite_form.cleaned_data['to']
            for email in to:
                invite_member(email, team, request.user.profile)

            messages.add_message(request, messages.SUCCESS, message=_('Sent %s invites' % len(to)))
            return redirect('manage-members', team_id)

    else:
        invite_form = TeamInviteForm()

    context = {
        'team': team,
        'invite_form': invite_form,
        'can_edit_team': request.user.profile.can_edit_team(team),
    }
    return render(request, 'get_together/teams/invite_members.html', context)
Exemple #2
0
def invite_members(request, team_id):
    team = get_object_or_404(Team, id=team_id)
    if not request.user.profile.can_edit_team(team):
        messages.add_message(
            request,
            messages.WARNING,
            message=_("You can not manage this team's members."),
        )
        return redirect("manage-members", team_id)
    if not request.user.account.is_email_confirmed:
        messages.add_message(
            request,
            messages.WARNING,
            message=
            _("You must confirm your own email address before you can invite others."
              ),
        )
        return redirect("edit-profile")

    if request.method == "POST":
        invite_form = TeamInviteForm(request.POST)
        if invite_form.is_valid():
            to = invite_form.cleaned_data["to"]
            for email in to:
                invitation = TeamMembershipRequest.objects.create(
                    invite_email=email,
                    team=team,
                    request_origin=TeamMembershipRequest.TEAM,
                    requested_by=request.user.profile,
                )
                invite_member(invitation)

            messages.add_message(request,
                                 messages.SUCCESS,
                                 message=_("Sent %s invites" % len(to)))
            return redirect("manage-members", team_id)

    else:
        invite_form = TeamInviteForm()

    context = {
        "team": team,
        "invite_form": invite_form,
        "can_edit_team": request.user.profile.can_edit_team(team),
    }
    return render(request, "get_together/teams/invite_members.html", context)
Exemple #3
0
def invite_members(request, team_id):
    team = get_object_or_404(Team, id=team_id)
    if not request.user.profile.can_edit_team(team):
        messages.add_message(
            request,
            messages.WARNING,
            message=_("You can not manage this team's members."),
        )
        return redirect("manage-members", team_id)
    if not request.user.account.is_email_confirmed:
        messages.add_message(
            request,
            messages.WARNING,
            message=
            _("You must confirm your own email address before you can invite others."
              ),
        )
        return redirect("edit-profile")

    if request.method == "POST":
        invite_form = TeamInviteForm(request.POST)
        if invite_form.is_valid():
            to = invite_form.cleaned_data["to"]
            remaining_emails = request.user.account.remaining_emails_allowed()
            if remaining_emails <= 0:
                messages.add_message(
                    request,
                    messages.WARNING,
                    message=_(
                        "You have exceeded the %s email messages you are allowed to send in one day. Please try again tomorrow."
                        % settings.ALLOWED_EMAILS_PER_DAY),
                )
                return redirect("invite-members", team_id=team_id)
            if len(to) > remaining_emails:
                messages.add_message(
                    request,
                    messages.WARNING,
                    message=_(
                        "You can only send %s more email messages today. Please choose fewer recipients or try again tomorrow."
                        % remaining_emails),
                )
                return redirect("invite-members", team_id=team_id)
            for email in to:
                invitation = TeamMembershipRequest.objects.create(
                    invite_email=email,
                    team=team,
                    request_origin=TeamMembershipRequest.TEAM,
                    requested_by=request.user.profile,
                )
                invite_member(invitation)

            messages.add_message(request,
                                 messages.SUCCESS,
                                 message=_("Sent %s invites" % len(to)))
            return redirect("manage-members", team_id)

    else:
        invite_form = TeamInviteForm()

    context = {
        "team": team,
        "invite_form": invite_form,
        "can_edit_team": request.user.profile.can_edit_team(team),
    }
    return render(request, "get_together/teams/invite_members.html", context)