diff options
| author | Roger Braun <roger@rogerbraun.net> | 2018-05-20 13:16:49 +0200 |
|---|---|---|
| committer | Roger Braun <roger@rogerbraun.net> | 2018-05-20 13:16:49 +0200 |
| commit | 959b2d9d664dbee5fe5c13f29b405bf8904a5437 (patch) | |
| tree | c5284bd784c4714abc99f87005afba0531084fa2 /src/components/user_settings/user_settings.js | |
| parent | 327b6fb5dcbabf5de61e1ce0fa6c65329a8ec45b (diff) | |
| parent | 28c60832c79086f3c230627139396191bea7e9e4 (diff) | |
Merge branch 'develop' into Syldexia/pleroma-fe-feature/account-deletion
Diffstat (limited to 'src/components/user_settings/user_settings.js')
| -rw-r--r-- | src/components/user_settings/user_settings.js | 35 |
1 files changed, 33 insertions, 2 deletions
diff --git a/src/components/user_settings/user_settings.js b/src/components/user_settings/user_settings.js index 5ef38848..1e7b9b12 100644 --- a/src/components/user_settings/user_settings.js +++ b/src/components/user_settings/user_settings.js @@ -8,6 +8,7 @@ const UserSettings = { followList: null, followImportError: false, followsImported: false, + enableFollowsExport: true, uploading: [ false, false, false, false ], previews: [ null, null, null ], deletingAccount: false, @@ -140,6 +141,37 @@ const UserSettings = { this.uploading[3] = false }) }, + /* This function takes an Array of Users + * and outputs a file with all the addresses for the user to download + */ + exportPeople (users, filename) { + // Get all the friends addresses + var UserAddresses = users.map(function (user) { + // check is it's a local user + if (user && user.is_local) { + // append the instance address + // eslint-disable-next-line no-undef + user.screen_name += '@' + location.hostname + } + return user.screen_name + }).join('\n') + // Make the user download the file + var fileToDownload = document.createElement('a') + fileToDownload.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(UserAddresses)) + fileToDownload.setAttribute('download', filename) + fileToDownload.style.display = 'none' + document.body.appendChild(fileToDownload) + fileToDownload.click() + document.body.removeChild(fileToDownload) + }, + exportFollows () { + this.enableFollowsExport = false + this.$store.state.api.backendInteractor + .fetchFriends({id: this.$store.state.users.currentUser.id}) + .then((friendList) => { + this.exportPeople(friendList, 'friends.csv') + }) + }, followListChange () { // eslint-disable-next-line no-undef let formData = new FormData() @@ -156,10 +188,9 @@ const UserSettings = { deleteAccount () { this.$store.state.api.backendInteractor.deleteAccount({password: this.deleteAccountConfirmPasswordInput}) .then((res) => { - console.log(res) if (res.status === 'success') { this.$store.dispatch('logout') - window.location.href = '/main/all' + this.$router.push('/main/all') } else { this.deleteAccountError = res.error } |
