diff --git a/.gitignore b/.gitignore index fea147b0e..963e1bfc7 100644 --- a/.gitignore +++ b/.gitignore @@ -50,6 +50,7 @@ public/source.tar* tmp/ # Temporary files of every sort +.byebug_history .sass-cache/ .DS_Store .idea diff --git a/Changelog.md b/Changelog.md index 7621f64d5..2a5cb1329 100644 --- a/Changelog.md +++ b/Changelog.md @@ -13,6 +13,7 @@ ## Refactor ## Bug fixes +* Prefill conversation form on contacts page only with mutual contacts [#7744](https://github.com/diaspora/diaspora/pull/7744) ## Features diff --git a/app/assets/javascripts/app/pages/contacts.js b/app/assets/javascripts/app/pages/contacts.js index 9f7b27311..091601516 100644 --- a/app/assets/javascripts/app/pages/contacts.js +++ b/app/assets/javascripts/app/pages/contacts.js @@ -81,7 +81,7 @@ app.pages.Contacts = Backbone.View.extend({ showMessageModal: function(){ $("#conversationModal").on("modal:loaded", function() { var people = _.pluck(app.contacts.filter(function(contact) { - return contact.inAspect(app.aspect.get("id")); + return contact.person.get("relationship") === "mutual" && contact.inAspect(app.aspect.get("id")); }), "person"); new app.views.ConversationsForm({prefill: people}); }); diff --git a/spec/controllers/jasmine_fixtures/contacts_spec.rb b/spec/controllers/jasmine_fixtures/contacts_spec.rb index 35e756660..fdd1beeeb 100644 --- a/spec/controllers/jasmine_fixtures/contacts_spec.rb +++ b/spec/controllers/jasmine_fixtures/contacts_spec.rb @@ -20,6 +20,9 @@ describe ContactsController, :type => :controller do end it "generates the aspects_manage_contacts_json fixture", fixture: true do + # adds one not mutual contact + bob.share_with(FactoryGirl.create(:person), @aspect) + get :index, params: {a_id: @aspect.id, page: "1"}, format: :json save_fixture(response.body, "aspects_manage_contacts_json") end diff --git a/spec/javascripts/app/pages/contacts_spec.js b/spec/javascripts/app/pages/contacts_spec.js index fa9f001d2..485b17dc1 100644 --- a/spec/javascripts/app/pages/contacts_spec.js +++ b/spec/javascripts/app/pages/contacts_spec.js @@ -297,7 +297,9 @@ describe("app.pages.Contacts", function(){ expect(app.views.ConversationsForm.prototype.initialize).toHaveBeenCalled(); var prefill = app.views.ConversationsForm.prototype.initialize.calls.mostRecent().args[0].prefill; - var contacts = app.contacts.filter(function(contact) { return contact.inAspect(app.aspect.get("id")); }); + var contacts = app.contacts.filter(function(contact) { + return contact.person.get("relationship") === "mutual" && contact.inAspect(app.aspect.get("id")); + }); expect(_.pluck(prefill, "id")).toEqual(contacts.map(function(contact) { return contact.person.id; })); }); });