diff --git a/Changelog.md b/Changelog.md
index 3b80a43e1..acdf21aa8 100644
--- a/Changelog.md
+++ b/Changelog.md
@@ -71,6 +71,7 @@ With the port to Bootstrap 3, app/views/terms/default.haml has a new structure.
* Fix indentation and a link title on the default home page [#6212](https://github.com/diaspora/diaspora/pull/6212)
* Bring peeping Tom on the 404 page back [#6226](https://github.com/diaspora/diaspora/pull/6226)
* Fix mobile photos index page [#6243](https://github.com/diaspora/diaspora/pull/6243)
+* Fix conversations view with no contacts [#6266](https://github.com/diaspora/diaspora/pull/6266)
## Features
diff --git a/app/assets/javascripts/app/views/conversations_form_view.js b/app/assets/javascripts/app/views/conversations_form_view.js
index 7c124da3d..4f5ac7133 100644
--- a/app/assets/javascripts/app/views/conversations_form_view.js
+++ b/app/assets/javascripts/app/views/conversations_form_view.js
@@ -8,6 +8,10 @@ app.views.ConversationsForm = Backbone.View.extend({
initialize: function(opts) {
this.contacts = _.has(opts, "contacts") ? opts.contacts : null;
+ if(!this.contacts || this.contacts.length === 0) {
+ this.displayNoContactsMessage();
+ return;
+ }
this.prefill = [];
if (_.has(opts, "prefillName") && _.has(opts, "prefillValue")) {
this.prefill = [{name : opts.prefillName,
@@ -32,6 +36,12 @@ app.views.ConversationsForm = Backbone.View.extend({
$("#contact_ids").attr("aria-labelledby", "toLabel");
},
+ displayNoContactsMessage: function() {
+ $("form#new_conversation").replaceWith(
+ "
" + Diaspora.I18n.t("conversation.new.no_contacts") + "
"
+ );
+ },
+
keyDown : function(evt) {
if( evt.keyCode === 13 && evt.ctrlKey ) {
$(evt.target).parents("form").submit();
diff --git a/app/assets/stylesheets/conversations.scss b/app/assets/stylesheets/conversations.scss
index b606e6afc..6c46ce67b 100644
--- a/app/assets/stylesheets/conversations.scss
+++ b/app/assets/stylesheets/conversations.scss
@@ -216,6 +216,11 @@
#conversation_new {
label { font-weight: bold; }
+ .well {
+ font-weight: bold;
+ margin-top: 25px;
+ }
+
#new_conversation #conversation_text{
width: 100%;
max-width: 100%;
diff --git a/config/locales/javascript/javascript.en.yml b/config/locales/javascript/javascript.en.yml
index aa07f7303..eb2c0efb5 100644
--- a/config/locales/javascript/javascript.en.yml
+++ b/config/locales/javascript/javascript.en.yml
@@ -165,6 +165,8 @@ en:
conversation:
participants: "Participants"
+ new:
+ no_contacts: "You need to add some contacts before you can start a conversation."
notifications:
mark_read: "Mark read"
diff --git a/features/desktop/conversations.feature b/features/desktop/conversations.feature
index b9fc82d28..d1186ae6b 100644
--- a/features/desktop/conversations.feature
+++ b/features/desktop/conversations.feature
@@ -8,10 +8,16 @@ Feature: private conversations
Given a user named "Robert Grimm" with email "bob@bob.bob"
And a user named "Alice Awesome" with email "alice@alice.alice"
And a user with username "robert_grimm" is connected with "alice_awesome"
- When I sign in as "bob@bob.bob"
+
+ Scenario: open the conversations page without any contacts
+ Given a user with email "eve@eve.eve"
+ When I sign in as "eve@eve.eve"
+ And I am on the conversations page
+ Then I should see "You need to add some contacts before you can start a conversation"
Scenario: send a message
- Given I send a message with subject "Greetings" and text "hello, alice!" to "Alice Awesome"
+ When I sign in as "bob@bob.bob"
+ And I send a message with subject "Greetings" and text "hello, alice!" to "Alice Awesome"
Then I should see "Greetings" within "#conversation_inbox"
And I should see "Greetings" within "#conversation_show"
And I should see "less than a minute ago" within "#conversation_inbox"
@@ -26,7 +32,8 @@ Feature: private conversations
Then I should see "hey, how you doing?" within ".stream_container"
Scenario: send a message using keyboard shortcuts
- Given I send a message with subject "Greetings" and text "hello, alice!" to "Alice Awesome" using keyboard shortcuts
+ When I sign in as "bob@bob.bob"
+ And I send a message with subject "Greetings" and text "hello, alice!" to "Alice Awesome" using keyboard shortcuts
Then I should see "Greetings" within "#conversation_inbox"
And I should see "Greetings" within "#conversation_show"
And "Alice Awesome" should be part of active conversation