Browse Source

Make sending email invites configurable

Introduce "SENTRY_ENABLE_INVITES" setting to enable/disable the
ability to send email invites.

And while we're touching the new.html template, change the submit
button text for sending an invite from "Save Changes" to
"Send Invite".
Jay Soffian 10 years ago
parent
commit
73dd9ebf94

+ 3 - 0
src/sentry/conf/server.py

@@ -596,6 +596,9 @@ SENTRY_ALLOW_ORIGIN = None
 # Enable scraping of javascript context for source code
 SENTRY_SCRAPE_JAVASCRIPT_CONTEXT = True
 
+# Enable email invites
+SENTRY_ENABLE_INVITES = True
+
 # Redis connection information (see Nydus documentation)
 SENTRY_REDIS_OPTIONS = {}
 

+ 5 - 0
src/sentry/templates/sentry/teams/members/new.html

@@ -11,6 +11,7 @@
 {% endblock %}
 
 {% block inner %}
+{% if invite_form %}
     <ul class="nav nav-tabs">
         <li class="active"><a href="#invite" data-toggle="tab">{% trans "Invite a new user" %}</a></li>
         <li><a href="#add" data-toggle="tab">{% trans "Add an existing user" %}</a></li>
@@ -19,16 +20,20 @@
         <div class="tab-pane active" id="invite">
             <p>{% trans "Invite a member to join this team via their email address. If they do not already have an account, they will first be asked to create one." %}</p>
             {% with invite_form as form %}
+                {% trans "Send Invite" as submit_label %}
                 {% include "sentry/partial/_form.html" %}
             {% endwith %}
         </div>
         <div class="tab-pane" id="add">
+{% endif %}
             <p>{% trans "You may add a user by their username if they already have an account." %}</p>
             {% with add_form as form %}
                 {% include "sentry/partial/_form.html" %}
             {% endwith %}
+{% if invite_form %}
         </div>
     </div>
+{% endif %}
 
     <script type="text/javascript">
     new app.AddTeamMemberPage();

+ 8 - 2
src/sentry/web/frontend/teams.py

@@ -204,6 +204,8 @@ def manage_team_members(request, team):
 @csrf_protect
 @has_access(MEMBER_OWNER)
 def new_team_member(request, team):
+    from django.conf import settings
+
     if not can_add_team_member(request.user, team):
         return HttpResponseRedirect(reverse('sentry'))
 
@@ -211,7 +213,11 @@ def new_team_member(request, team):
         'type': MEMBER_USER,
     }
 
-    invite_form = InviteTeamMemberForm(team, request.POST or None, initial=initial, prefix='invite')
+    if settings.SENTRY_ENABLE_INVITES:
+        invite_form = InviteTeamMemberForm(team, request.POST or None, initial=initial, prefix='invite')
+    else:
+        invite_form = None
+
     add_form = NewTeamMemberForm(team, request.POST or None, initial=initial, prefix='add')
 
     if add_form.is_valid():
@@ -224,7 +230,7 @@ def new_team_member(request, team):
 
         return HttpResponseRedirect(reverse('sentry-manage-team-members', args=[team.slug]))
 
-    elif invite_form.is_valid():
+    elif invite_form and invite_form.is_valid():
         pm = invite_form.save(commit=False)
         pm.team = team
         pm.save()