diff --git a/i18n/de-DE.json b/i18n/de-DE.json index 57fda0a..4a53d9c 100644 --- a/i18n/de-DE.json +++ b/i18n/de-DE.json @@ -767,23 +767,6 @@ "__version": "4.0", "confirmMobileUnAssignment": "Sie versuchen gerade, die Zuweisung eines mobilen Geräts aufzuheben. Beachten Sie, dass dadurch auch die Verknüpfung der zu diesem Gerät ({{variable}}) zugehörigen Telefonnummer mit diesem Benutzer aufgehoben wird. Möchten Sie den Vorgang fortsetzen?", - "__comment": "UI-2138: Neues Dialogfeld: Benutzer löschen", - "__version": "3.22", - "deleteDialog": { - "title": "Löschen von {{ name }} aus dem System", - "headerAdmin": "Sie versuchen gerade, einen ADMIN zu löschen! Wenn man einen Admin löscht, werden sein Benutzer und seine Voicemailbox gelöscht, und seine Geräte sind ihm nicht länger zugewiesen. Außerdem wird dieser Admin dann nicht mehr in der Lage sein, diese UI zu verwalten. Möchten Sie den Vorgang wirklich fortsetzen?", - "headerUser": "Durch das Löschen eines Benutzers werden dieser Benutzer und seine Voicemailboxen gelöscht. Seine Geräte und Nummern sind ihm nicht länger zugewiesen. Möchten Sie den Vorgang fortsetzen?", - "deleteUser": "Löschen", - "deleteUserName": "„{{variable}}“ löschen", - "proceed": "Fortfahren", - "deleteDevices": "Die Geräte dieses Benutzers ebenfalls entfernen", - "deleteDevicesHelp": "Wenn Sie diese Option nicht aktivieren, verlieren diese Geräte ihre Zuweisung und tauchen in der Liste freier Geräte auf.", - "__comment": "UI-2467: Beim Löschen eines Benutzers in Smart PBX werden auch Konferenzen entfernt", - "__version": "4.0", - "deleteConferences": "Die Konferenzen dieses Benutzers ebenfalls entfernen", - "deleteConferencesHelp": "Wenn Sie diese Option deaktiviert lassen, werden Sie die Konferenznummer des Benutzers nirgends anders verwenden können, da sie weiterhin von dieser Konferenz belegt sein wird." - }, - "__comment": "UI-2921: Neues Dialogfeld: Benutzer löschen", "__version": "4.2", "impersonate": "Identität annehmen", diff --git a/i18n/en-US.json b/i18n/en-US.json index 9b9d6a0..e0407a5 100644 --- a/i18n/en-US.json +++ b/i18n/en-US.json @@ -764,23 +764,6 @@ "__version": "4.0", "confirmMobileUnAssignment": "You are about to un-assign a Mobile device. Be aware the phone number associated with this device ({{variable}}) will also be un-assigned from this user. Are you sure?", - "__comment": "UI-2138: Delete User new Dialog", - "__version": "3.22", - "deleteDialog": { - "title": "Remove {{ name }} from the system", - "headerAdmin": "You're about to delete an ADMIN! Deleting an admin will delete his user, voicemail boxes and unassign his devices. It will also prevent them from managing this UI. Do you want to continue?", - "headerUser": "Deleting a user will delete this user and his Voicemail Box, and unassign the devices and numbers that were assigned to this user. Do you want to continue?", - "deleteUser": "Delete", - "deleteUserName": "Delete \"{{variable}}\"", - "proceed": "Proceed", - "deleteDevices": "Also remove this user's devices from the system", - "deleteDevicesHelp": "If you leave this option unchecked, we'll just unassign these devices and they will show up in the list of Spare Devices", - "__comment": "UI-2467: also remove conferences when deleting a user from smartpbx", - "__version": "4.0", - "deleteConferences": "Also remove this user's conferences from the system", - "deleteConferencesHelp": "If you leave this option unchecked, you won't be able to use the user's conference number anywhere else, as it will still be used by that conference." - }, - "__comment": "UI-2921: Delete User new Dialog", "__version": "4.2", "impersonate": "Impersonate", diff --git a/i18n/ru-RU.json b/i18n/ru-RU.json index f64a0ae..5c6c374 100644 --- a/i18n/ru-RU.json +++ b/i18n/ru-RU.json @@ -618,19 +618,6 @@ } }, "confirmMobileUnAssignment": "Вы собираетесь открепить мобильное устройство. Для информации, номер телефона ассоциированный с устройством ({{variable}}) также будет откреплен от данного пользователя. Вы уверены?", - - "deleteDialog": { - "title": "Удалить {{ name }} из системы", - "headerAdmin": "Вы собираетесь удалить АДМИНИСТРАТОРА! Удаление администратора также удалит его голосовой почтовый ящик и открепит устройства и номера ранее закрепленные за пользователем. Также в дальнейшем он не сможет управлять через данный пользовательский интерфейс. Хотите продолжить?", - "headerUser": "Удаление пользователя также удалит его голосовой почтовый ящик и открепит устройства и номера ранее закрепленные за пользователем. Хотите продолжить?", - "deleteUser": "Удалить", - "deleteUserName": "Удалить \"{{variable}}\"", - "proceed": "Выполняем", - "deleteDevices": "Также удалить устройства пользователя из системы", - "deleteDevicesHelp": "Если оставите эту опцию не выделенной, мы просто открепим его устройства и они будут отображаться в списке Доступных Устройств", - "deleteConferences": "Также удалить конференц-комнаты пользователя из системы", - "deleteConferencesHelp": "Если оставите эту опцию не выделенной, Вы не сможете использовать номер конференции пользователя где-либо еще, так как он будет использоваться данной конференцией." - } }, "strategy": { diff --git a/submodules/users/users.js b/submodules/users/users.js index 865513f..1332e0d 100644 --- a/submodules/users/users.js +++ b/submodules/users/users.js @@ -508,41 +508,6 @@ define(function(require) { return result; }, - usersDeleteDialog: function(user, callback) { - var self = this, - dataTemplate = { - user: user - }, - dialogTemplate = $(self.getTemplate({ - name: 'deleteDialog', - data: dataTemplate, - submodule: 'users' - })); - - monster.ui.tooltips(dialogTemplate); - - dialogTemplate.find('#confirm_button').on('click', function() { - var removeDevices = dialogTemplate.find('#delete_devices').is(':checked'), - removeConferences = dialogTemplate.find('#delete_conferences').is(':checked'); - - self.usersDelete(user.id, removeDevices, removeConferences, function(data) { - popup.dialog('close').remove(); - - callback && callback(data); - }); - }); - - dialogTemplate.find('#cancel_button').on('click', function() { - popup.dialog('close').remove(); - }); - - var popup = monster.ui.dialog(dialogTemplate, { - title: '', - position: ['center', 20], - dialogClass: 'monster-alert' - }); - }, - usersBindEvents: function(template, parent, data) { var self = this, currentUser, @@ -920,17 +885,20 @@ define(function(require) { template.on('click', '#delete_user', function() { var dataUser = $(this).parents('.grid-row').data(); - self.usersDeleteDialog(dataUser, function(data) { - monster.ui.toast({ - type: 'success', - message: self.getTemplate({ - name: '!' + self.i18n.active().users.toastrMessages.userDelete, - data: { - name: data.first_name + ' ' + data.last_name - } - }) - }); - self.usersRender(); + monster.pub('common.deleteSmartUser.renderPopup', { + user: dataUser, + callback: function(data) { + monster.ui.toast({ + type: 'success', + message: self.getTemplate({ + name: '!' + self.i18n.active().users.toastrMessages.userDelete, + data: { + name: data.first_name + ' ' + data.last_name + } + }) + }); + self.usersRender(); + } }); }); @@ -3644,209 +3612,6 @@ define(function(require) { }, /* Utils */ - usersDelete: function(userId, removeDevices, removeConferences, callback) { - var self = this; - - monster.parallel({ - devices: function(callback) { - self.usersListDeviceUser(userId, function(devices) { - callback(null, devices); - }); - }, - vmbox: function(callback) { - self.usersListVMBoxesUser(userId, function(data) { - callback(null, data); - }); - }, - callflows: function(callback) { - self.usersListCallflowsUser(userId, function(data) { - callback(null, data); - }); - }, - conferences: function(callback) { - self.usersListConferences(userId, function(data) { - callback(null, data); - }); - } - }, function(error, results) { - var listFnDelete = []; - - _.each(results.devices, function(device) { - listFnDelete.push(function(callback) { - if (removeDevices) { - self.usersDeleteDevice(device.id, function(data) { - callback(null, ''); - }); - } else { - self.usersUnassignDevice(device.id, function(data) { - callback(null, ''); - }); - } - }); - }); - - listFnDelete.push(function(callback) { - self.usersRemoveBulkConferences(results.conferences, removeConferences, function() { - callback(null, ''); - }); - }); - - _.each(results.callflows, function(callflow) { - /* - Special case for users with mobile devices: - reassign mobile devices to their respective mobile callflow instead of just deleting the callflow - */ - if (callflow.type === 'mobile') { - listFnDelete.push(function(mainCallback) { - monster.parallel({ - callflow: function(callback) { - self.usersGetCallflow(callflow.id, function(data) { - callback(null, data); - }); - }, - mobileDevice: function(callback) { - self.usersGetMobileDevice(callflow.numbers[0].slice(2), function(data) { - callback(null, data); - }); - } - }, function(err, results) { - var fullCallflow = results.callflow, - mobileDeviceId = results.mobileDevice.id; - - delete fullCallflow.owner_id; - - $.extend(true, fullCallflow, { - flow: { - module: 'device', - data: { - id: mobileDeviceId - } - } - }); - - self.usersUpdateCallflow(fullCallflow, function(data) { - mainCallback(null, data); - }); - }); - }); - } else { - listFnDelete.push(function(callback) { - self.usersDeleteCallflow(callflow.id, function(data) { - callback(null, ''); - }); - }); - } - }); - - _.each(results.vmbox, function(vmbox) { - listFnDelete.push(function(callback) { - self.usersDeleteVMBox(vmbox.id, function(data) { - callback(null, ''); - }); - }); - }); - - monster.parallel(listFnDelete, function(err, resultsDelete) { - self.usersDeleteUser(userId, function(data) { - callback && callback(data); - }); - }); - }); - }, - - usersGetCallflow: function(callflowId, callback) { - var self = this; - - self.callApi({ - resource: 'callflow.get', - data: { - accountId: self.accountId, - callflowId: callflowId - }, - success: function(data, status) { - callback(data.data); - } - }); - }, - - usersGetMobileDevice: function(mdn, callback) { - var self = this; - - self.callApi({ - resource: 'device.list', - data: { - accountId: self.accountId, - data: { - filters: { - 'filter_mobile.mdn': encodeURIComponent(mdn) - } - } - }, - success: function(data, status) { - callback(data.data); - } - }); - }, - - usersDeleteUser: function(userId, callback) { - var self = this; - - self.callApi({ - resource: 'user.delete', - data: { - userId: userId, - accountId: self.accountId, - data: {} - }, - success: function(data) { - callback(data.data); - } - }); - }, - - usersDeleteVMBox: function(vmboxId, callback) { - var self = this; - - self.callApi({ - resource: 'voicemail.delete', - data: { - voicemailId: vmboxId, - accountId: self.accountId, - data: {} - }, - success: function(data) { - callback(data.data); - } - }); - }, - - usersUnassignDevice: function(deviceId, callback) { - var self = this; - - self.usersGetDevice(deviceId, function(deviceGet) { - delete deviceGet.owner_id; - - self.usersUpdateDevice(deviceGet, function(updatedDevice) { - callback && callback(updatedDevice); - }); - }); - }, - - usersDeleteDevice: function(deviceId, callback) { - var self = this; - - self.callApi({ - resource: 'device.delete', - data: { - deviceId: deviceId, - accountId: self.accountId, - data: {} - }, - success: function(data) { - callback(data.data); - } - }); - }, usersDeleteCallflow: function(callflowId, callback) { var self = this; diff --git a/submodules/users/users.scss b/submodules/users/users.scss index fb5b682..8501bde 100644 --- a/submodules/users/users.scss +++ b/submodules/users/users.scss @@ -759,11 +759,6 @@ margin-top: 10px; } -/**** CSS for delete user dialog ****/ -.delete-user-wrapper .dialog-text { - margin-top: 10px; -} - .monster-feature-popup-container { .feature-popup-title { display: flex; diff --git a/submodules/users/views/deleteDialog.html b/submodules/users/views/deleteDialog.html deleted file mode 100644 index 07f60e0..0000000 --- a/submodules/users/views/deleteDialog.html +++ /dev/null @@ -1,34 +0,0 @@ -