diff --git a/app/assets/javascripts/admin/templates/group.hbs b/app/assets/javascripts/admin/templates/group.hbs index 79ba4466969..9f4f2a941ce 100644 --- a/app/assets/javascripts/admin/templates/group.hbs +++ b/app/assets/javascripts/admin/templates/group.hbs @@ -11,6 +11,11 @@ {{#if model.id}} {{#unless model.automatic}} +
+ + {{input type='text' name='full_name' value=model.full_name class='group-edit-full-name'}} +
+
{{d-editor value=model.bio_raw}} diff --git a/app/assets/javascripts/discourse/controllers/group.js.es6 b/app/assets/javascripts/discourse/controllers/group.js.es6 index 1e38992e8a2..2686d92b470 100644 --- a/app/assets/javascripts/discourse/controllers/group.js.es6 +++ b/app/assets/javascripts/discourse/controllers/group.js.es6 @@ -36,9 +36,9 @@ export default Ember.Controller.extend({ return !automatic && isGroupOwner; }, - @computed('model.name', 'model.title') - groupName(name, title) { - return (title || name).capitalize(); + @computed('model.name', 'model.full_name') + groupName(name, fullName) { + return (fullName || name).capitalize(); }, @computed('model.name', 'model.flair_url', 'model.flair_bg_color', 'model.flair_color') diff --git a/app/assets/javascripts/discourse/models/group.js.es6 b/app/assets/javascripts/discourse/models/group.js.es6 index c4cd97ddf00..d3ca40baef7 100644 --- a/app/assets/javascripts/discourse/models/group.js.es6 +++ b/app/assets/javascripts/discourse/models/group.js.es6 @@ -134,7 +134,8 @@ const Group = Discourse.Model.extend({ flair_color: this.get('flairHexColor'), bio_raw: this.get('bio_raw'), public: this.get('public'), - allow_membership_requests: this.get('allow_membership_requests') + allow_membership_requests: this.get('allow_membership_requests'), + full_name: this.get('full_name') }; }, diff --git a/app/assets/javascripts/discourse/templates/group-edit.hbs b/app/assets/javascripts/discourse/templates/group-edit.hbs index 136cd09ffa5..03122d2abaa 100644 --- a/app/assets/javascripts/discourse/templates/group-edit.hbs +++ b/app/assets/javascripts/discourse/templates/group-edit.hbs @@ -1,8 +1,8 @@
- - {{input type='text' name='title' value=model.title class='group-edit-title'}} + + {{input type='text' name='full_name' value=model.full_name class='group-edit-full-name'}}
diff --git a/app/assets/javascripts/discourse/templates/group.hbs b/app/assets/javascripts/discourse/templates/group.hbs index bacefc99715..68204c0276c 100644 --- a/app/assets/javascripts/discourse/templates/group.hbs +++ b/app/assets/javascripts/discourse/templates/group.hbs @@ -16,7 +16,7 @@ {{groupName}} - {{#if model.title}} + {{#if model.full_name}}

@{{model.name}}

{{/if}} diff --git a/app/controllers/admin/groups_controller.rb b/app/controllers/admin/groups_controller.rb index ed96b325100..3b5445f0704 100644 --- a/app/controllers/admin/groups_controller.rb +++ b/app/controllers/admin/groups_controller.rb @@ -69,6 +69,7 @@ class Admin::GroupsController < Admin::AdminController group.flair_color = group_params[:flair_color].presence group.public = group_params[:public] if group_params[:public] group.bio_raw = group_params[:bio_raw] if group_params[:bio_raw] + group.full_name = group_params[:full_name] if group_params[:full_name] if group.save Group.reset_counters(group.id, :group_users) @@ -145,7 +146,7 @@ class Admin::GroupsController < Admin::AdminController :name, :alias_level, :visible, :automatic_membership_email_domains, :automatic_membership_retroactive, :title, :primary_group, :grant_trust_level, :incoming_email, :flair_url, :flair_bg_color, - :flair_color, :bio_raw, :public, :allow_membership_requests + :flair_color, :bio_raw, :public, :allow_membership_requests, :full_name ) end end diff --git a/app/controllers/groups_controller.rb b/app/controllers/groups_controller.rb index 42c6f466012..058aa8851bc 100644 --- a/app/controllers/groups_controller.rb +++ b/app/controllers/groups_controller.rb @@ -239,7 +239,7 @@ class GroupsController < ApplicationController :flair_bg_color, :flair_color, :bio_raw, - :title, + :full_name, :public, :allow_membership_requests ) diff --git a/app/models/group.rb b/app/models/group.rb index 1adbaa4a292..d1fbf372e28 100644 --- a/app/models/group.rb +++ b/app/models/group.rb @@ -514,6 +514,7 @@ end # bio_cooked :text # public :boolean default(FALSE), not null # allow_membership_requests :boolean default(FALSE), not null +# full_name :string # # Indexes # diff --git a/app/serializers/basic_group_serializer.rb b/app/serializers/basic_group_serializer.rb index 264013cbdaf..b37184e7232 100644 --- a/app/serializers/basic_group_serializer.rb +++ b/app/serializers/basic_group_serializer.rb @@ -18,7 +18,8 @@ class BasicGroupSerializer < ApplicationSerializer :bio_raw, :bio_cooked, :public, - :allow_membership_requests + :allow_membership_requests, + :full_name def include_incoming_email? staff? diff --git a/config/locales/client.en.yml b/config/locales/client.en.yml index 099224f7f21..cacf9fd0abc 100644 --- a/config/locales/client.en.yml +++ b/config/locales/client.en.yml @@ -396,7 +396,7 @@ en: to: "To" edit: title: 'Edit Group' - group_title: 'Title' + full_name: 'Full Name' add_members: "Add Members" delete_member_confirm: "Remove '%{username}' from the '%{group}' group?" request_membership_pm: diff --git a/db/migrate/20161213073938_add_full_name_to_groups.rb b/db/migrate/20161213073938_add_full_name_to_groups.rb new file mode 100644 index 00000000000..655b89551b5 --- /dev/null +++ b/db/migrate/20161213073938_add_full_name_to_groups.rb @@ -0,0 +1,5 @@ +class AddFullNameToGroups < ActiveRecord::Migration + def change + add_column :groups, :full_name, :string + end +end diff --git a/spec/controllers/admin/groups_controller_spec.rb b/spec/controllers/admin/groups_controller_spec.rb index f9ee82f9ee6..dacdde2568e 100644 --- a/spec/controllers/admin/groups_controller_spec.rb +++ b/spec/controllers/admin/groups_controller_spec.rb @@ -41,7 +41,8 @@ describe Admin::GroupsController do "bio_raw"=>nil, "bio_cooked"=>nil, "public"=>false, - "allow_membership_requests"=>false + "allow_membership_requests"=>false, + "full_name"=>group.full_name }]) end diff --git a/spec/integration/groups_spec.rb b/spec/integration/groups_spec.rb index 0a53cee2f89..7d4b2a0644c 100644 --- a/spec/integration/groups_spec.rb +++ b/spec/integration/groups_spec.rb @@ -54,7 +54,7 @@ describe "Groups" do flair_color: 'BBB', flair_url: 'fa-adjust', bio_raw: 'testing', - title: 'awesome team', + full_name: 'awesome team', public: true, allow_membership_requests: true } } @@ -68,7 +68,7 @@ describe "Groups" do expect(group.flair_color).to eq('BBB') expect(group.flair_url).to eq('fa-adjust') expect(group.bio_raw).to eq('testing') - expect(group.title).to eq('awesome team') + expect(group.full_name).to eq('awesome team') expect(group.public).to eq(true) expect(group.allow_membership_requests).to eq(true) expect(GroupHistory.last.subject).to eq('allow_membership_requests') diff --git a/test/javascripts/acceptance/group-edit-test.js.es6 b/test/javascripts/acceptance/group-edit-test.js.es6 index a5e8a513efb..234505277d6 100644 --- a/test/javascripts/acceptance/group-edit-test.js.es6 +++ b/test/javascripts/acceptance/group-edit-test.js.es6 @@ -10,7 +10,7 @@ test("Editing group", () => { andThen(() => { ok(find('.group-flair-inputs').length === 1, 'it should display avatar flair inputs'); ok(find('.group-edit-bio').length === 1, 'it should display group bio input'); - ok(find('.group-edit-title').length === 1, 'it should display group title input'); + ok(find('.group-edit-full-name').length === 1, 'it should display group full name input'); ok(find('.group-edit-public').length === 1, 'it should display group public input'); ok(find('.group-edit-allow-membership-requests').length === 1, 'it should display group allow_membership_requets input'); ok(find('.group-members-input .item').length === 7, 'it should display group members');