diff --git a/app/assets/javascripts/app/pages/profile.js b/app/assets/javascripts/app/pages/profile.js
index 13fa88566..40bf8c2aa 100644
--- a/app/assets/javascripts/app/pages/profile.js
+++ b/app/assets/javascripts/app/pages/profile.js
@@ -24,10 +24,13 @@ app.pages.Profile = app.views.Base.extend({
presenter : function(){
var bio = this.model.get("bio") || ''
+ console.log(this.defaultPresenter().current_user)
+
return _.extend(this.defaultPresenter(),
{text : this.model && app.helpers.textFormatter(bio, this.model),
isOwnProfile : this.isOwnProfile(),
- showFollowButton : this.showFollowButton() })
+ showFollowButton : this.showFollowButton()
+ })
},
initialize : function(options) {
@@ -55,7 +58,8 @@ app.pages.Profile = app.views.Base.extend({
},
followingEnabled : function() {
- return app.currentUser.get("following_count") != 0
+ var user = app.currentUser
+ return user.get("following_count") != 0 && user.get("diaspora_id") !== undefined
},
showFollowButton : function() {
diff --git a/app/assets/templates/profile.jst.hbs b/app/assets/templates/profile.jst.hbs
index b6173ac81..55538e53e 100644
--- a/app/assets/templates/profile.jst.hbs
+++ b/app/assets/templates/profile.jst.hbs
@@ -10,14 +10,24 @@
{{/if}}
-
-
-
-
- HOME
+ {{#if current_user.guid}}
+
+
+
+
+ HOME
+
-
-
+
+ {{else}}
+
+
+
+ DIASPORA
+
+
+
+ {{/if}}
{{#if isOwnProfile}}
diff --git a/app/controllers/people_controller.rb b/app/controllers/people_controller.rb
index 056f3295d..3a950b1c1 100644
--- a/app/controllers/people_controller.rb
+++ b/app/controllers/people_controller.rb
@@ -81,7 +81,7 @@ class PeopleController < ApplicationController
def show
@person = Person.find_from_guid_or_username(params)
- flag = FeatureFlagger.new(current_user)
+ flag = FeatureFlagger.new(current_user, @person)
logger.info(request.format)
raise(ActiveRecord::RecordNotFound) if remote_profile_with_no_user_session?
diff --git a/app/models/feature_flagger.rb b/app/models/feature_flagger.rb
index 3ad5eee2c..869af2543 100644
--- a/app/models/feature_flagger.rb
+++ b/app/models/feature_flagger.rb
@@ -1,6 +1,7 @@
class FeatureFlagger
- def initialize(current_user)
+ def initialize(current_user, person=nil)
@current_user = current_user
+ @person = person
end
def new_publisher?
@@ -8,7 +9,7 @@ class FeatureFlagger
end
def new_profile?
- admin?
+ person_is_beta?
end
def new_hotness?
@@ -25,4 +26,9 @@ class FeatureFlagger
@current_user.try(:admin?)
end
+ def person_is_beta?
+ return unless @person.present?
+ Role.is_beta?(@person) || Role.is_admin?(@person)
+ end
+
end
diff --git a/spec/javascripts/app/pages/profile_spec.js b/spec/javascripts/app/pages/profile_spec.js
index d37cf584d..5837be142 100644
--- a/spec/javascripts/app/pages/profile_spec.js
+++ b/spec/javascripts/app/pages/profile_spec.js
@@ -127,12 +127,17 @@ describe("app.pages.Profile", function(){
describe("followingEnabled", function(){
/* for legacy beta testers */
it("returns false if following_count is zero", function(){
- app.currentUser.set({following_count : 0})
+ loginAs({following_count : 0})
+ expect(this.page.followingEnabled()).toBeFalsy()
+ })
+
+ it("returns false if the user is not signed in", function(){
+ logout()
expect(this.page.followingEnabled()).toBeFalsy()
})
it("returns false if following_count is zero", function(){
- app.currentUser.set({following_count : 1})
+ loginAs({following_count : 1})
expect(this.page.followingEnabled()).toBeTruthy()
})
})