initial commit.
This commit is contained in:
124
public/javascripts/spacedeck_account.js
Normal file
124
public/javascripts/spacedeck_account.js
Normal file
@@ -0,0 +1,124 @@
|
||||
/*
|
||||
SpacedeckAccount
|
||||
This module contains functions dealing with the spacedeck account.
|
||||
*/
|
||||
|
||||
SpacedeckAccount = {
|
||||
data: {
|
||||
account_confirmed_sent: false,
|
||||
account_tab: 'invoices',
|
||||
password_change_error: null,
|
||||
feedback_text: ""
|
||||
},
|
||||
methods: {
|
||||
show_account: function(user) {
|
||||
this.activate_dropdown('account');
|
||||
this.load_subscription();
|
||||
this.load_billing();
|
||||
},
|
||||
|
||||
account_save_user_digest: function(val) {
|
||||
this.user.preferences.daily_digest = val;
|
||||
this.save_user(function(){
|
||||
});
|
||||
},
|
||||
|
||||
account_save_user_notifications: function(val) {
|
||||
this.user.preferences.email_notifications = val;
|
||||
this.save_user(function(){
|
||||
});
|
||||
},
|
||||
|
||||
save_user_email: function() {
|
||||
this.save_user(function() {
|
||||
}.bind(this));
|
||||
},
|
||||
|
||||
save_user_language: function(lang) {
|
||||
localStorage.lang = lang;
|
||||
if (this.user.preferences) {
|
||||
this.user.preferences.language = lang;
|
||||
this.save_user(function() {
|
||||
window._spacedeck_location_change = true;
|
||||
location.href="/spaces";
|
||||
}.bind(this));
|
||||
}
|
||||
},
|
||||
|
||||
save_user: function(on_success) {
|
||||
if (this.user.email_changed) {
|
||||
this.user.confirmed_at = null;
|
||||
}
|
||||
window._spacedeck_location_change = true;
|
||||
|
||||
save_user(this.user, function(user) {
|
||||
if (on_success) on_success();
|
||||
else location.href="/spaces";
|
||||
|
||||
}.bind(this), function(xhr){
|
||||
console.error(xhr)
|
||||
});
|
||||
},
|
||||
|
||||
save_user_password: function(oldPass, newPass, newPassConfirm) {
|
||||
this.password_change_error = null;
|
||||
|
||||
if (!oldPass) {
|
||||
this.password_change_error = "Current password required";
|
||||
return;
|
||||
}
|
||||
|
||||
if (!newPass || !newPassConfirm) {
|
||||
this.password_change_error = "New password/password confirmation required";
|
||||
return;
|
||||
}
|
||||
|
||||
if (newPass!=newPassConfirm) {
|
||||
this.password_change_error = "New Passwords do not match";
|
||||
return;
|
||||
}
|
||||
|
||||
if (newPass.length < 6) {
|
||||
this.password_change_error = "New Password to short";
|
||||
return;
|
||||
}
|
||||
|
||||
save_user_password(this.user, oldPass, newPass, function() {
|
||||
alert("OK. Password Changed.");
|
||||
this.password_change_current = "";
|
||||
this.password_change_new = "";
|
||||
this.password_change_new_confirmation = "";
|
||||
}.bind(this), function(xhr) {
|
||||
if (xhr.status == 403) {
|
||||
this.password_change_error = "Old Password not correct";
|
||||
} else {
|
||||
this.password_change_error = "Something went wrong. Please try again later.";
|
||||
}
|
||||
}.bind(this));
|
||||
},
|
||||
|
||||
confirm_again: function() {
|
||||
resent_confirm_mail(this.user, function(re) {
|
||||
this.account_confirmed_sent = true;
|
||||
|
||||
alert(__("confirm_again"));
|
||||
|
||||
}.bind(this), function(xhr){
|
||||
console.error(xhr);
|
||||
alert("Something went wrong, please try again.");
|
||||
});
|
||||
},
|
||||
|
||||
confirm_account: function(token) {
|
||||
confirm_user(this.user, token, function(re) {
|
||||
smoke.alert(__("confirmed"), function() {
|
||||
this.redirect_to("/spaces");
|
||||
}.bind(this));
|
||||
}.bind(this), function(xhr) {
|
||||
console.error(xhr);
|
||||
alert(xhr.responseText);
|
||||
this.redirect_to("/spaces");
|
||||
}.bind(this));
|
||||
},
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user