diff --git a/app/assets/javascripts/discourse/components/group-membership-button.js.es6 b/app/assets/javascripts/discourse/components/group-membership-button.js.es6 index b5911799093..5c7449532d9 100644 --- a/app/assets/javascripts/discourse/components/group-membership-button.js.es6 +++ b/app/assets/javascripts/discourse/components/group-membership-button.js.es6 @@ -17,6 +17,22 @@ export default Ember.Component.extend({ } }, + @computed + disableRequestMembership() { + if (this.currentUser) { + return this.currentUser.trust_level < this.siteSettings.min_trust_to_send_messages; + } else { + return false; + } + }, + + @computed("disableRequestMembership") + requestMembershipButtonTitle(disableRequestMembership) { + if (disableRequestMembership) { + return "groups.request_membership_pm.disabled"; + } + }, + _showLoginModal() { this.sendAction('showLogin'); $.cookie('destination_url', window.location.href); diff --git a/app/assets/javascripts/discourse/templates/components/group-membership-button.hbs b/app/assets/javascripts/discourse/templates/components/group-membership-button.hbs index fb1444bbf37..0bb4ff804cc 100644 --- a/app/assets/javascripts/discourse/templates/components/group-membership-button.hbs +++ b/app/assets/javascripts/discourse/templates/components/group-membership-button.hbs @@ -25,7 +25,9 @@ {{d-button action="requestMembership" class="group-index-request" icon="envelope" - label="groups.request"}} + label="groups.request" + title=requestMembershipButtonTitle + disabled=disableRequestMembership}} {{/if}} {{else}} {{yield}} diff --git a/config/locales/client.en.yml b/config/locales/client.en.yml index b6a8e2f549b..52b4e5301f1 100644 --- a/config/locales/client.en.yml +++ b/config/locales/client.en.yml @@ -410,6 +410,7 @@ en: request_membership_pm: title: "Membership Request" body: "I would like to apply for membership in @%{groupName}." + disabled: "Insufficient trust level to request for group membership" name_placeholder: "Group name, no spaces, same as username rule" public: "Allow users to join/leave the group freely (Requires group to be visible)" empty: diff --git a/config/site_settings.yml b/config/site_settings.yml index 76afea633e1..62a6b009bd8 100644 --- a/config/site_settings.yml +++ b/config/site_settings.yml @@ -821,6 +821,7 @@ trust: min_trust_to_send_messages: default: 1 enum: 'TrustLevelSetting' + client: true tl1_requires_topics_entered: 5 tl1_requires_read_posts: default: 30