FEATURE: display github profile links on user card and profile

Can be disabled by unchecking "public_github_screen_name"
This commit is contained in:
Sam 2014-11-04 13:33:58 +11:00
parent e14e2b8158
commit 95c518329a
8 changed files with 30 additions and 2 deletions

View File

@ -437,7 +437,15 @@ Discourse.User = Discourse.Model.extend({
});
}
}, function () {});
}
},
githubProfileUrl: function(){
var screenName = this.get('github_screen_name');
if(screenName) {
return "https://github.com/" + screenName;
}
}.property()
});

View File

@ -61,6 +61,8 @@
<div class="metadata">
<h3><i class="fa fa-comment"></i> {{i18n last_post}} {{format-date path="user.last_posted_at" leaveAgo="true"}} </h3>
<h3><i class="fa fa-user"></i> {{i18n joined}} {{format-date path="user.created_at" leaveAgo="true"}}</h3>
{{#if user.githubProfileUrl}}
<a href="{{unbound user.githubProfileUrl}}"><h3><i class="fa fa-github"></i> GitHub</h3></a>
{{/if}}
</div>

View File

@ -150,6 +150,10 @@
{{/if}}
</dd>
{{/if}}
{{#if github_screen_name}}
<dt>GitHub</dt>
<dd><a href="{{unbound githubProfileUrl}}">{{github_screen_name}}</a></dd>
{{/if}}
</dl>
{{plugin-outlet "user-profile-secondary"}}
</div>

View File

@ -215,6 +215,9 @@
overflow: hidden;
text-overflow: ellipsis;
color: $primary;
a {
color: $primary;
}
}
dt {

View File

@ -257,6 +257,9 @@
overflow: hidden;
text-overflow: ellipsis;
color: $primary;
a {
color: $primary;
}
}
dt {

View File

@ -48,7 +48,8 @@ class UserSerializer < BasicUserSerializer
:has_title_badges,
:edit_history_public,
:custom_fields,
:user_fields
:user_fields,
:github_screen_name
has_one :invited_by, embed: :object, serializer: BasicUserSerializer
has_many :custom_groups, embed: :object, serializer: BasicGroupSerializer
@ -88,6 +89,11 @@ class UserSerializer < BasicUserSerializer
###
### ATTRIBUTES
###
def github_screen_name
if SiteSetting.public_github_screen_name
object.github_user_info && object.github_user_info.screen_name
end
end
def include_email?
object.id && object.id == scope.user.try(:id)

View File

@ -808,6 +808,7 @@ en:
facebook_app_secret: "App secret for Facebook authentication, registered at https://developers.facebook.com/apps"
enable_github_logins: "Enable Github authentication, requires github_client_id and github_client_secret"
public_github_screen_name: "Display Github screen names publicly in the forum (on user page and profile)"
github_client_id: "Client id for Github authentication, registered at https://github.com/settings/applications"
github_client_secret: "Client secret for Github authentication, registered at https://github.com/settings/applications"

View File

@ -212,6 +212,7 @@ login:
enable_github_logins:
client: true
default: false
public_github_screen_name: true
github_client_id:
default: ''
regex: "^[a-f0-9]*$"