UNPKG

wejsv2old-plugin-cdp-profile

Version:
141 lines (124 loc) 4.27 kB
$( document ).ready(function (){ App.UserController = Ember.ObjectController.extend(App.UserSaveAttributeMixin, { breadCrumb: function(){ var displayName = this.get('user.displayName'); if(displayName){ return displayName; } return null; }.property('user.displayName'), ensureLink: function (){ var user = this.get('user'); if (!user) return; var hasHttp = new RegExp(/^(http|https):\/\/.*/); var prefix = 'http://'; var social = ['fbprofile', 'twitprofile', 'lkinprofile', 'instprofile', 'youtbprofile']; for (var prop in Ember.get(user, '_data')){ if (social.indexOf(prop) === -1) continue; if (hasHttp.test(Ember.get(user, '_data')[prop])) continue; if (!Ember.get(user, '_data')[prop]) continue; user.set(prop, 'http://' + Ember.get(user, '_data')[prop]); } }.observes('user').on('init'), isAuthenticated: function (){ return App.auth.get('isAuthenticated'); }.property('auth.isAuthenticated'), totalRelatos: function (){ var counts = this.get('counts.relatos'); var total = 0; for ( var count in counts ) { total += counts[count]; } return total; }.property('counts.relatos'), actions: { //Show the modal showLoginModal: function() { return jQuery('#we-auth-modal-need-login').modal('show'); }, contactButtomClicked: function() { switch(this.get('contact.currentUserStatus')){ case 'requested': // TODO! this.send('cancelContactRequest'); break; case 'requestsToYou': this.send('acceptAddInContactList'); break; case 'accepted': this.send('deleteContact'); break; case 'ignored': this.send('deleteContact'); break; default: this.send('requestAddInContactList'); } }, requestAddInContactList: function(){ var self = this; Ember.$.post('/api/v1/user/'+this.get('user.id')+'/contact-request') .done(function(data) { console.warn('contact',data.contact); self.set('contact',self.get('store').push('contact',data.contact)); FollowObject.follow( 'user', self.get('user.id'), self.get('store') ).then(function(){ // self.set('flag',flag); // self.set('isLoading', false); }); }) .fail(function(data) { Ember.Logger.error('Error on requestAddInContactList contact:',data.contact); }); }, acceptAddInContactList: function(){ var self = this; Ember.$.post('/api/v1/user/'+this.get('user.id')+'/contact-accept') .done(function(data) { self.set('contact.status',data.contact.status); FollowObject.follow( 'user', self.get('user.id'), self.get('store') ).then(function(){ // self.set('flag',flag); // self.set('isLoading', false); }); }) .fail(function(data) { Ember.Logger.error('Error on acceptAddInContactList contact:',data); }); }, ignoreContact: function(){ var self = this; Ember.$.post('/api/v1/user/'+this.get('user.id')+'/contact-ignore') .done(function(data) { console.warn('ignoreContact',data.contact); self.set('contact.status',data.contact.status); }) .fail(function(data) { Ember.Logger.error('Error on ignoreContact contact:',data); }); }, deleteContact: function(){ if(confirm('Tem certeza que deseja canselar a amizade com o '+ this.get('user.displayName') + ' ?') ){ Ember.$.ajax({ url: '/api/v1/user/'+this.get('user.id')+'/contact/', type: 'DELETE' }) .done(function(data) { console.warn('ignoreContact',data.contact); }) .fail(function(data) { Ember.Logger.error('Error on deleteContact:',data); }); } } } }); });