diff --git a/admin/app/config.router.js b/admin/app/config.router.js index c8e7a696..0f125702 100644 --- a/admin/app/config.router.js +++ b/admin/app/config.router.js @@ -390,7 +390,7 @@ app deps: [ '$ocLazyLoad', function ($ocLazyLoad) { - return $ocLazyLoad.load(['ui.select', 'toaster']).then( + return $ocLazyLoad.load(['ui.select', 'daterangepicker', 'toaster']).then( function () { return $ocLazyLoad.load([{ serie: true, @@ -768,7 +768,7 @@ app deps: [ '$ocLazyLoad', function ($ocLazyLoad) { - return $ocLazyLoad.load(['ui.select', 'ui.checkbox', 'toaster']).then( + return $ocLazyLoad.load(['ui.select', 'ui.checkbox', 'daterangepicker', 'toaster']).then( function () { return $ocLazyLoad.load([{ serie: true, @@ -781,9 +781,6 @@ app }, { name: 'oitozero.ngSweetAlert', files: ['js/plugins/sweetalert/angular-sweetalert.min.js'] - }, { - name: 'daterangepicker', - files: ['js/daterangepicker/angular-daterangepicker.min.js'] }, { serie: true, files: [ @@ -824,7 +821,7 @@ app deps: [ '$ocLazyLoad', function ($ocLazyLoad) { - return $ocLazyLoad.load(['ui.select', 'ui.checkbox', 'toaster']).then( + return $ocLazyLoad.load(['ui.select', 'ui.checkbox', 'daterangepicker', 'toaster']).then( function () { return $ocLazyLoad.load([{ serie: true, @@ -837,9 +834,6 @@ app }, { name: 'oitozero.ngSweetAlert', files: ['js/plugins/sweetalert/angular-sweetalert.min.js'] - }, { - name: 'daterangepicker', - files: ['js/daterangepicker/angular-daterangepicker.min.js'] }, { serie: true, files: [ @@ -880,7 +874,7 @@ app deps: [ '$ocLazyLoad', function ($ocLazyLoad) { - return $ocLazyLoad.load(['ui.select', 'ui.checkbox', 'toaster']).then( + return $ocLazyLoad.load(['ui.select', 'ui.checkbox', 'daterangepicker', 'toaster']).then( function () { return $ocLazyLoad.load([{ serie: true, @@ -893,9 +887,6 @@ app }, { name: 'oitozero.ngSweetAlert', files: ['js/plugins/sweetalert/angular-sweetalert.min.js'] - }, { - name: 'daterangepicker', - files: ['js/daterangepicker/angular-daterangepicker.min.js'] }, { serie: true, files: [ @@ -1171,9 +1162,15 @@ app deps: [ '$ocLazyLoad', function ($ocLazyLoad) { - return $ocLazyLoad.load(['ui.select', 'ui.checkbox', 'toaster']).then( + return $ocLazyLoad.load(['ui.select', 'ui.checkbox', 'daterangepicker','toaster']).then( function () { return $ocLazyLoad.load([{ + serie: true, + files: ['js/daterangepicker/daterangepicker.min.js', 'js/daterangepicker/daterangepicker.min.css'] + }, { + name: 'daterangepicker', + files: ['js/daterangepicker/angular-daterangepicker.min.js'] + }, { files: ['js/plugins/sweetalert/sweetalert.min.js', 'css/plugins/sweetalert/sweetalert.css'] }, { name: 'oitozero.ngSweetAlert', diff --git a/admin/app/controllers/fdd/emailmessage/emailmessageoption.controller.js b/admin/app/controllers/fdd/emailmessage/emailmessageoption.controller.js index 686aa3a3..69eb0b6a 100644 --- a/admin/app/controllers/fdd/emailmessage/emailmessageoption.controller.js +++ b/admin/app/controllers/fdd/emailmessage/emailmessageoption.controller.js @@ -15,10 +15,10 @@ app.controller('EmailMessageOptionController', function($scope, $timeout, autoApply: true, locale:{ format: 'YYYY-MM-DD', - applyLabel: "确定", - cancelLabel: "取消", + applyLabel: "OK", + cancelLabel: "Cancel", }, - + eventHandlers:{ 'apply.daterangepicker':function(ev,picker){ //$scope.execute(); @@ -37,13 +37,13 @@ app.controller('EmailMessageOptionController', function($scope, $timeout, load: true, period:$scope.currentPeriod }); - + EmailMessageAnalysisService.getAnalysisResult(query, function(response) { if (angular.isDefined(response.status) && response.status === 200) { $scope.$emit('handleEmitEmailMessageOptionChanged', response.data); } }); - + }; $timeout(function() { $scope.execute(); diff --git a/admin/app/controllers/fdd/textmessage/textmessageoption.controller.js b/admin/app/controllers/fdd/textmessage/textmessageoption.controller.js index 55b12528..2d9873c1 100644 --- a/admin/app/controllers/fdd/textmessage/textmessageoption.controller.js +++ b/admin/app/controllers/fdd/textmessage/textmessageoption.controller.js @@ -15,10 +15,10 @@ app.controller('TextMessageOptionController', function($scope, $timeout, autoApply: true, locale:{ format: 'YYYY-MM-DD', - applyLabel: "确定", - cancelLabel: "取消", + applyLabel: "OK", + cancelLabel: "Cancel", }, - + eventHandlers:{ 'apply.daterangepicker':function(ev,picker){ //$scope.execute(); @@ -37,13 +37,13 @@ app.controller('TextMessageOptionController', function($scope, $timeout, load: true, period:$scope.currentPeriod }); - + TextMessageAnalysisService.getAnalysisResult(query, function (response) { if (angular.isDefined(response.status) && response.status === 200) { $scope.$emit('handleEmitTextMessageOptionChanged', response.data); } }); - + }; $timeout(function() { $scope.execute(); diff --git a/admin/app/controllers/fdd/webmessage/webmessageoption.controller.js b/admin/app/controllers/fdd/webmessage/webmessageoption.controller.js index 2b30a80d..2301def8 100644 --- a/admin/app/controllers/fdd/webmessage/webmessageoption.controller.js +++ b/admin/app/controllers/fdd/webmessage/webmessageoption.controller.js @@ -15,8 +15,8 @@ app.controller('WebMessageOptionController', function($scope, $timeout, autoApply: true, locale:{ format: 'YYYY-MM-DD', - applyLabel: "确定", - cancelLabel: "取消", + applyLabel: "OK", + cancelLabel: "Cancel", }, eventHandlers:{ diff --git a/admin/app/controllers/fdd/wechatmessage/wechatmessageoption.controller.js b/admin/app/controllers/fdd/wechatmessage/wechatmessageoption.controller.js index ce50da96..8f8b3ce5 100644 --- a/admin/app/controllers/fdd/wechatmessage/wechatmessageoption.controller.js +++ b/admin/app/controllers/fdd/wechatmessage/wechatmessageoption.controller.js @@ -15,8 +15,8 @@ app.controller('WechatMessageOptionController', function($scope, $timeout, autoApply: true, locale:{ format: 'YYYY-MM-DD', - applyLabel: "确定", - cancelLabel: "取消", + applyLabel: "OK", + cancelLabel: "Cancel", }, eventHandlers:{ diff --git a/admin/app/controllers/settings/tariff/tariff.controller.js b/admin/app/controllers/settings/tariff/tariff.controller.js index ddb6d499..d4f2102a 100644 --- a/admin/app/controllers/settings/tariff/tariff.controller.js +++ b/admin/app/controllers/settings/tariff/tariff.controller.js @@ -158,9 +158,8 @@ app.controller('ModalAddTariffCtrl', function($scope, $timeout, $uibModalInstanc $scope.dtOptions = { locale:{ format: 'YYYY-MM-DD HH:mm:ss', - applyLabel: "确定", - cancelLabel: "取消", - customRangeLabel: "自定义", + applyLabel: "OK", + cancelLabel: "Cancel", }, timePicker: true, timePicker24Hour: true, @@ -240,9 +239,8 @@ app.controller('ModalEditTariffCtrl', function($scope, $timeout, $uibModalInstan $scope.dtOptions = { locale:{ format: 'YYYY-MM-DD HH:mm:ss', - applyLabel: "确定", - cancelLabel: "取消", - customRangeLabel: "自定义", + applyLabel: "OK", + cancelLabel: "Cancel", }, timePicker: true, timePicker24Hour: true, diff --git a/admin/app/controllers/settings/tenant/tenant.controller.js b/admin/app/controllers/settings/tenant/tenant.controller.js index 3b31225e..131b7974 100644 --- a/admin/app/controllers/settings/tenant/tenant.controller.js +++ b/admin/app/controllers/settings/tenant/tenant.controller.js @@ -203,9 +203,8 @@ app.controller('ModalAddTenantCtrl', function ($scope, $uibModalInstance, params $scope.dtOptions = { locale: { format: 'YYYY-MM-DD HH:mm:ss', - applyLabel: "确定", - cancelLabel: "取消", - customRangeLabel: "自定义", + applyLabel: "OK", + cancelLabel: "Cancel", }, timePicker: true, timePicker24Hour: true, @@ -232,9 +231,8 @@ app.controller('ModalEditTenantCtrl', function ($scope, $uibModalInstance, param $scope.dtOptions = { locale: { format: 'YYYY-MM-DD HH:mm:ss', - applyLabel: "确定", - cancelLabel: "取消", - customRangeLabel: "自定义", + applyLabel: "OK", + cancelLabel: "Cancel", }, timePicker: true, timePicker24Hour: true, diff --git a/admin/app/controllers/users/user/user.controller.js b/admin/app/controllers/users/user/user.controller.js index c1ff9046..abbea5d3 100644 --- a/admin/app/controllers/users/user/user.controller.js +++ b/admin/app/controllers/users/user/user.controller.js @@ -1,12 +1,12 @@ 'use strict'; -app.controller('UserController', function ($scope, +app.controller('UserController', function ($scope, $window, - $uibModal, - UserService, - PrivilegeService, - toaster, - $translate, + $uibModal, + UserService, + PrivilegeService, + toaster, + $translate, SweetAlert) { $scope.cur_user = JSON.parse($window.localStorage.getItem("myems_admin_ui_current_user")); @@ -123,7 +123,7 @@ app.controller('UserController', function ($scope, modalInstance.result.then(function (modifiedUser) { let data = { - name: modifiedUser.name, + name: modifiedUser.name, password: modifiedUser.password }; let headers = { "User-UUID": $scope.cur_user.uuid, "Token": $scope.cur_user.token }; @@ -190,7 +190,6 @@ app.controller('UserController', function ($scope, $scope.getAllUsers(); $scope.getAllPrivileges(); - }); app.controller('ModalAddUserCtrl', function ($scope, $uibModalInstance, params) { @@ -198,12 +197,27 @@ app.controller('ModalAddUserCtrl', function ($scope, $uibModalInstance, params) $scope.operation = "USER.ADD_USER"; $scope.privileges = params.privileges; $scope.user = { - is_admin: false + is_admin: false, + account_expiration_datetime:moment(), + password_expiration_datetime:moment() }; + $scope.dtOptions = { + locale:{ + format: 'YYYY-MM-DD HH:mm:ss', + applyLabel: "OK", + cancelLabel: "Cancel", + }, + timePicker: true, + timePicker24Hour: true, + timePickerIncrement: 15, + singleDatePicker: true, + }; $scope.ok = function () { if ($scope.user.is_admin) { $scope.user.privilege_id = undefined; } + $scope.user.account_expiration_datetime = $scope.user.account_expiration_datetime.format().slice(0,19); + $scope.user.password_expiration_datetime = $scope.user.password_expiration_datetime.format().slice(0,19); $uibModalInstance.close($scope.user); }; @@ -213,7 +227,7 @@ app.controller('ModalAddUserCtrl', function ($scope, $uibModalInstance, params) }); app.controller('ModalEditUserCtrl', function ($scope, $uibModalInstance, params) { - + $scope.operation = "USER.EDIT_USER"; $scope.user = params.user; $scope.privileges = params.privileges; @@ -222,11 +236,24 @@ app.controller('ModalEditUserCtrl', function ($scope, $uibModalInstance, params) } else { $scope.user.privilege_id = undefined; } + $scope.dtOptions = { + locale: { + format: 'YYYY-MM-DD HH:mm:ss', + applyLabel: "OK", + cancelLabel: "Cancel", + }, + timePicker: true, + timePicker24Hour: true, + timePickerIncrement: 15, + singleDatePicker: true, + }; $scope.ok = function () { if ($scope.user.is_admin) { $scope.user.privilege_id = undefined; } - $uibModalInstance.close($scope.user); + $scope.user.account_expiration_datetime = moment($scope.user.account_expiration_datetime).format().slice(0,19); + $scope.user.password_expiration_datetime = moment($scope.user.password_expiration_datetime).format().slice(0,19); + $uibModalInstance.close($scope.user); }; $scope.cancel = function () { diff --git a/admin/app/translations.js b/admin/app/translations.js index 031ee6fc..9bf44184 100644 --- a/admin/app/translations.js +++ b/admin/app/translations.js @@ -544,6 +544,8 @@ function config($translateProvider) { EMAIL: 'Email', INPUT_EMAIL: 'Please Input Email', INVALID_EMAIL: 'Invalid Email Format(xxx@xxx.xx)', + ACCOUNT_EXPIRATION_DATETIME: 'Account Expiration Datetime', + PASSWORD_EXPIRATION_DATETIME: 'Password Expiration Datetime', }, KNOWLEDGEFILE: { KNOWLEDGE_FILE_LIST: 'Knowledge File List', @@ -669,8 +671,6 @@ function config($translateProvider) { FAILED_TO_UPLOAD_OFFLINE_METER_FILE: 'Failed To Upload Offline Meter File', GATEWAY_NAME_IS_ALREADY_IN_USE: 'Gateway Name Is Already In Use', GATEWAY_NOT_FOUND: 'Gateway Not Found', - GSM_MODEM_NOT_FOUND: 'Gsm Modem Not Found', - GSM_MODEM_SERIAL_PORT_IS_ALREADY_IN_USE: 'Gsm Modem Serial Port Is Already In Use', INVALID_ADDRESS: 'Invalid Address', INVALID_ADDRESS_VALUE: 'Invalid Address Value', INVALID_ADVANCED_REPORT_ID: 'Invalid Advanced Report ID', @@ -736,7 +736,6 @@ function config($translateProvider) { INVALID_FROM_ADDR: 'Invalid From Address', INVALID_GATEWAY_ID: 'Invalid Gateway ID', INVALID_GATEWAY_NAME: 'Invalid Gateway Name', - INVALID_GSM_MODEM_ID: 'Invalid Gsm Modem ID', INVALID_HOURLY_HIGH_LIMIT_VALUE: 'Invalid Hourly High Limit Value', INVALID_HOURLY_LOW_LIMIT_VALUE: 'Invalid Hourly Low Limit Value', INVALID_IS_ADMIN_VALUE: 'Invalid Is Admin Value', @@ -981,8 +980,10 @@ function config($translateProvider) { THIS_SPACE_CANNOT_BE_DELETED: 'This Space Cannot Be Deleted', TIMEZONE_NOT_FOUND: 'Timezone Not Found', TOKEN_NOT_FOUND_IN_HEADERS_PLEASE_LOGIN: 'Token Not Found In Headers Please Login', + USER_ACCOUNT_HAS_EXPIRED: 'User Account Has Expired', USER_NAME_IS_ALREADY_IN_USE: 'User Name Is Already In Use', USER_NOT_FOUND: 'User Not Found', + USER_PASSWORD_HAS_EXPIRED: 'User Password Has Expired', USER_PRIVILEGE_NOT_FOUND: 'User Privilege Not Found', USER_SESSION_NOT_FOUND: 'User Session Not Found', USER_SESSION_TIMEOUT: 'User Session Timeout', @@ -1539,6 +1540,8 @@ function config($translateProvider) { EMAIL: '邮箱', INPUT_EMAIL: '请输入邮箱', INVALID_EMAIL: '邮箱格式不正确(xxx@xxx.xx)', + ACCOUNT_EXPIRATION_DATETIME: '账户失效时间', + PASSWORD_EXPIRATION_DATETIME: '密码失效时间', }, KNOWLEDGEFILE: { KNOWLEDGE_FILE_LIST: '知识文件列表', @@ -1666,8 +1669,6 @@ function config($translateProvider) { FAILED_TO_UPLOAD_OFFLINE_METER_FILE: 'Failed To Upload Offline Meter File', GATEWAY_NAME_IS_ALREADY_IN_USE: 'Gateway Name Is Already In Use', GATEWAY_NOT_FOUND: 'Gateway Not Found', - GSM_MODEM_NOT_FOUND: 'Gsm Modem Not Found', - GSM_MODEM_SERIAL_PORT_IS_ALREADY_IN_USE: 'Gsm Modem Serial Port Is Already In Use', INVALID_ADDRESS: 'Invalid Address', INVALID_ADDRESS_VALUE: 'Invalid Address Value', INVALID_ADVANCED_REPORT_ID: 'Invalid Advanced Report ID', @@ -1733,7 +1734,6 @@ function config($translateProvider) { INVALID_FROM_ADDR: 'Invalid From Address', INVALID_GATEWAY_ID: 'Invalid Gateway ID', INVALID_GATEWAY_NAME: 'Invalid Gateway Name', - INVALID_GSM_MODEM_ID: 'Invalid Gsm Modem ID', INVALID_HOURLY_HIGH_LIMIT_VALUE: 'Invalid Hourly High Limit Value', INVALID_HOURLY_LOW_LIMIT_VALUE: 'Invalid Hourly Low Limit Value', INVALID_IS_ADMIN_VALUE: 'Invalid Is Admin Value', @@ -1978,8 +1978,10 @@ function config($translateProvider) { THIS_SPACE_CANNOT_BE_DELETED: 'This Space Cannot Be Deleted', TIMEZONE_NOT_FOUND: 'Timezone Not Found', TOKEN_NOT_FOUND_IN_HEADERS_PLEASE_LOGIN: 'Token Not Found In Headers Please Login', + USER_ACCOUNT_HAS_EXPIRED: 'User Account Has Expired', USER_NAME_IS_ALREADY_IN_USE: 'User Name Is Already In Use', USER_NOT_FOUND: 'User Not Found', + USER_PASSWORD_HAS_EXPIRED: 'User Password Has Expired', USER_PRIVILEGE_NOT_FOUND: 'User Privilege Not Found', USER_SESSION_NOT_FOUND: 'User Session Not Found', USER_SESSION_TIMEOUT: 'User Session Timeout', @@ -2535,6 +2537,8 @@ function config($translateProvider) { EMAIL: 'Briefkasten', INPUT_EMAIL: 'Bitte geben Sie Ihre E-Mail-Adresse ein', INVALID_EMAIL: 'Falsches E-Mail-Format (xxx@xxx.xx)', + ACCOUNT_EXPIRATION_DATETIME: 'Ablaufdatum des Kontos', + PASSWORD_EXPIRATION_DATETIME: 'Ablaufdatum des Passworts', }, KNOWLEDGEFILE: { KNOWLEDGE_FILE_LIST: 'Liste der Wissensdateien', @@ -2662,8 +2666,6 @@ function config($translateProvider) { FAILED_TO_UPLOAD_OFFLINE_METER_FILE: 'Failed To Upload Offline Meter File', GATEWAY_NAME_IS_ALREADY_IN_USE: 'Gateway Name Is Already In Use', GATEWAY_NOT_FOUND: 'Gateway Not Found', - GSM_MODEM_NOT_FOUND: 'Gsm Modem Not Found', - GSM_MODEM_SERIAL_PORT_IS_ALREADY_IN_USE: 'Gsm Modem Serial Port Is Already In Use', INVALID_ADDRESS: 'Invalid Address', INVALID_ADDRESS_VALUE: 'Invalid Address Value', INVALID_ADVANCED_REPORT_ID: 'Invalid Advanced Report ID', @@ -2729,7 +2731,6 @@ function config($translateProvider) { INVALID_FROM_ADDR: 'Invalid From Address', INVALID_GATEWAY_ID: 'Invalid Gateway ID', INVALID_GATEWAY_NAME: 'Invalid Gateway Name', - INVALID_GSM_MODEM_ID: 'Invalid Gsm Modem ID', INVALID_HOURLY_HIGH_LIMIT_VALUE: 'Invalid Hourly High Limit Value', INVALID_HOURLY_LOW_LIMIT_VALUE: 'Invalid Hourly Low Limit Value', INVALID_IS_ADMIN_VALUE: 'Invalid Is Admin Value', @@ -2974,8 +2975,10 @@ function config($translateProvider) { THIS_SPACE_CANNOT_BE_DELETED: 'This Space Cannot Be Deleted', TIMEZONE_NOT_FOUND: 'Timezone Not Found', TOKEN_NOT_FOUND_IN_HEADERS_PLEASE_LOGIN: 'Token Not Found In Headers Please Login', + USER_ACCOUNT_HAS_EXPIRED: 'User Account Has Expired', USER_NAME_IS_ALREADY_IN_USE: 'User Name Is Already In Use', USER_NOT_FOUND: 'User Not Found', + USER_PASSWORD_HAS_EXPIRED: 'User Password Has Expired', USER_PRIVILEGE_NOT_FOUND: 'User Privilege Not Found', USER_SESSION_NOT_FOUND: 'User Session Not Found', USER_SESSION_TIMEOUT: 'User Session Timeout', diff --git a/admin/views/settings/tariff/tariff.html b/admin/views/settings/tariff/tariff.html index 8170982b..3ce282e6 100644 --- a/admin/views/settings/tariff/tariff.html +++ b/admin/views/settings/tariff/tariff.html @@ -19,7 +19,6 @@