Added linked accounts profile feature.
This commit is contained in:
parent
1644654972
commit
31c725864d
1 changed files with 77 additions and 0 deletions
|
@ -0,0 +1,77 @@
|
||||||
|
class App.ProfileLinkedAccounts extends App.Controller
|
||||||
|
events:
|
||||||
|
'click [data-type="remove"]': 'remove'
|
||||||
|
|
||||||
|
constructor: ->
|
||||||
|
super
|
||||||
|
return if !@authenticate()
|
||||||
|
@render()
|
||||||
|
|
||||||
|
render: =>
|
||||||
|
auth_provider_all = {
|
||||||
|
facebook: {
|
||||||
|
key: 'facebook'
|
||||||
|
url: '/auth/facebook',
|
||||||
|
name: 'Facebook',
|
||||||
|
config: 'auth_facebook',
|
||||||
|
},
|
||||||
|
twitter: {
|
||||||
|
key: 'twitter'
|
||||||
|
url: '/auth/twitter',
|
||||||
|
name: 'Twitter',
|
||||||
|
config: 'auth_twitter',
|
||||||
|
},
|
||||||
|
linkedin: {
|
||||||
|
key: 'linkedin'
|
||||||
|
url: '/auth/linkedin',
|
||||||
|
name: 'LinkedIn',
|
||||||
|
config: 'auth_linkedin',
|
||||||
|
},
|
||||||
|
google_oauth2: {
|
||||||
|
key: 'google_oauth2'
|
||||||
|
url: '/auth/google_oauth2',
|
||||||
|
name: 'Google',
|
||||||
|
config: 'auth_google_oauth2',
|
||||||
|
},
|
||||||
|
}
|
||||||
|
auth_providers = []
|
||||||
|
for key, provider of auth_provider_all
|
||||||
|
if @Config.get( provider.config ) is true || @Config.get( provider.config ) is "true"
|
||||||
|
auth_providers.push provider
|
||||||
|
|
||||||
|
@html App.view('profile/linked_accounts')(
|
||||||
|
user: App.Session.all()
|
||||||
|
auth_providers: auth_providers
|
||||||
|
)
|
||||||
|
|
||||||
|
remove: (e) =>
|
||||||
|
e.preventDefault()
|
||||||
|
provider = $(e.target).data('provider')
|
||||||
|
uid = $(e.target).data('uid')
|
||||||
|
|
||||||
|
# get data
|
||||||
|
App.Com.ajax(
|
||||||
|
id: 'account'
|
||||||
|
type: 'DELETE'
|
||||||
|
url: 'api/users/account'
|
||||||
|
data: JSON.stringify({ provider: provider, uid: uid })
|
||||||
|
processData: true
|
||||||
|
success: @success
|
||||||
|
error: @error
|
||||||
|
)
|
||||||
|
|
||||||
|
success: (data, status, xhr) =>
|
||||||
|
App.Auth.loginCheck()
|
||||||
|
@render()
|
||||||
|
@notify(
|
||||||
|
type: 'success'
|
||||||
|
msg: App.i18n.translateContent( 'Successfully!' )
|
||||||
|
)
|
||||||
|
|
||||||
|
error: (xhr, status, error) =>
|
||||||
|
@render()
|
||||||
|
data = JSON.parse( xhr.responseText )
|
||||||
|
@notify(
|
||||||
|
type: 'error'
|
||||||
|
msg: App.i18n.translateContent( data.message )
|
||||||
|
)
|
Loading…
Reference in a new issue