added expiration datetimes to User in Admin UI
parent
344d928ce9
commit
ff501fdf2f
|
@ -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',
|
||||
|
|
|
@ -15,8 +15,8 @@ app.controller('EmailMessageOptionController', function($scope, $timeout,
|
|||
autoApply: true,
|
||||
locale:{
|
||||
format: 'YYYY-MM-DD',
|
||||
applyLabel: "确定",
|
||||
cancelLabel: "取消",
|
||||
applyLabel: "OK",
|
||||
cancelLabel: "Cancel",
|
||||
},
|
||||
|
||||
eventHandlers:{
|
||||
|
|
|
@ -15,8 +15,8 @@ app.controller('TextMessageOptionController', function($scope, $timeout,
|
|||
autoApply: true,
|
||||
locale:{
|
||||
format: 'YYYY-MM-DD',
|
||||
applyLabel: "确定",
|
||||
cancelLabel: "取消",
|
||||
applyLabel: "OK",
|
||||
cancelLabel: "Cancel",
|
||||
},
|
||||
|
||||
eventHandlers:{
|
||||
|
|
|
@ -15,8 +15,8 @@ app.controller('WebMessageOptionController', function($scope, $timeout,
|
|||
autoApply: true,
|
||||
locale:{
|
||||
format: 'YYYY-MM-DD',
|
||||
applyLabel: "确定",
|
||||
cancelLabel: "取消",
|
||||
applyLabel: "OK",
|
||||
cancelLabel: "Cancel",
|
||||
},
|
||||
|
||||
eventHandlers:{
|
||||
|
|
|
@ -15,8 +15,8 @@ app.controller('WechatMessageOptionController', function($scope, $timeout,
|
|||
autoApply: true,
|
||||
locale:{
|
||||
format: 'YYYY-MM-DD',
|
||||
applyLabel: "确定",
|
||||
cancelLabel: "取消",
|
||||
applyLabel: "OK",
|
||||
cancelLabel: "Cancel",
|
||||
},
|
||||
|
||||
eventHandlers:{
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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);
|
||||
};
|
||||
|
||||
|
@ -222,10 +236,23 @@ 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;
|
||||
}
|
||||
$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);
|
||||
};
|
||||
|
||||
|
|
|
@ -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',
|
||||
|
|
|
@ -19,7 +19,6 @@
|
|||
<th class="text-center">{{'SETTING.START_DATETIME' | translate}}</th>
|
||||
<th class="text-center">{{'SETTING.END_DATETIME' | translate}}</th>
|
||||
<th class="text-center">{{'SETTING.ACTION' | translate}}</th>
|
||||
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
|
|
@ -17,8 +17,9 @@
|
|||
<th class="text-center">{{'USER.EMAIL' | translate}}</th>
|
||||
<th class="text-center">{{'USER.IS_ADMIN' | translate}}</th>
|
||||
<th class="text-center">{{'USER.PRIVILEGE' | translate}}</th>
|
||||
<th class="text-center">{{'USER.ACCOUNT_EXPIRATION_DATETIME' | translate}}</th>
|
||||
<th class="text-center">{{'USER.PASSWORD_EXPIRATION_DATETIME' | translate}}</th>
|
||||
<th class="text-center">{{'SETTING.ACTION' | translate}}</th>
|
||||
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
@ -27,8 +28,10 @@
|
|||
<td class="text-center">{{ user.name }}</td>
|
||||
<td class="text-center">{{ user.display_name }}</td>
|
||||
<td class="text-center">{{ user.email }}</td>
|
||||
<td class="text-center">{{ user.is_admin==1?'是':'否' }}</td>
|
||||
<td class="text-center">{{ user.is_admin==1?'Y':'N' }}</td>
|
||||
<td class="text-center">{{ user.privilege.name }}</td>
|
||||
<td class="text-center">{{ user.account_expiration_datetime }}</td>
|
||||
<td class="text-center">{{ user.password_expiration_datetime }}</td>
|
||||
<td class="text-center">
|
||||
<a class="btn btn-primary btn-rounded btn-xs" ng-click="editUser(user)" >{{'SETTING.EDIT' | translate}}</a>
|
||||
<a ng-hide="user.name=='administrator'" class="btn btn-info btn-rounded btn-xs" ng-click="resetPassword(user)" >{{'USER.RESET_PASSWORD' | translate}}</a>
|
||||
|
|
|
@ -59,7 +59,20 @@
|
|||
</ui-select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="hr-line-dashed"></div>
|
||||
<div class="form-group"><label class="col-sm-3 control-label">{{'USER.ACCOUNT_EXPIRATION_DATETIME' | translate}}</label>
|
||||
<div class="col-sm-5">
|
||||
<input date-range-picker class="form-control date-picker" type="text" ng-model="user.account_expiration_datetime" options="dtOptions"
|
||||
placeholder="{{'SETTING.SELECT_DATE' | translate}}" readonly="" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="hr-line-dashed"></div>
|
||||
<div class="form-group"><label class="col-sm-3 control-label">{{'USER.PASSWORD_EXPIRATION_DATETIME' | translate}}</label>
|
||||
<div class="col-sm-5">
|
||||
<input date-range-picker class="form-control date-picker" type="text" ng-model="user.password_expiration_datetime" options="dtOptions"
|
||||
placeholder="{{'SETTING.SELECT_DATE' | translate}}" readonly="" />
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
|
|
|
@ -37,11 +37,17 @@ class UserCollection:
|
|||
cursor.close()
|
||||
cnx.disconnect()
|
||||
|
||||
timezone_offset = int(config.utc_offset[1:3]) * 60 + int(config.utc_offset[4:6])
|
||||
if config.utc_offset[0] == '-':
|
||||
timezone_offset = -timezone_offset
|
||||
|
||||
result = list()
|
||||
if rows is not None and len(rows) > 0:
|
||||
for row in rows:
|
||||
account_expiration_datetime_utc = row[8].replace(tzinfo=timezone.utc)
|
||||
password_expiration_datetime_utc = row[9].replace(tzinfo=timezone.utc)
|
||||
account_expiration_datetime_local = row[8].replace(tzinfo=timezone.utc) + \
|
||||
timedelta(minutes=timezone_offset)
|
||||
password_expiration_datetime_local = row[9].replace(tzinfo=timezone.utc) + \
|
||||
timedelta(minutes=timezone_offset)
|
||||
meta_result = {"id": row[0],
|
||||
"name": row[1],
|
||||
"display_name": row[2],
|
||||
|
@ -51,8 +57,10 @@ class UserCollection:
|
|||
"privilege": {
|
||||
"id": row[6],
|
||||
"name": row[7]} if row[6] is not None else None,
|
||||
"account_expiration_datetime": account_expiration_datetime_utc.timestamp() * 1000,
|
||||
"password_expiration_datetime": password_expiration_datetime_utc.timestamp() * 1000}
|
||||
"account_expiration_datetime":
|
||||
account_expiration_datetime_local.strftime('%Y-%m-%dT%H:%M:%S'),
|
||||
"password_expiration_datetime":
|
||||
password_expiration_datetime_local.strftime('%Y-%m-%dT%H:%M:%S')}
|
||||
result.append(meta_result)
|
||||
|
||||
resp.body = json.dumps(result)
|
||||
|
@ -218,8 +226,13 @@ class UserItem:
|
|||
if row is None:
|
||||
raise falcon.HTTPError(falcon.HTTP_404, title='API.NOT_FOUND',
|
||||
description='API.USER_NOT_FOUND')
|
||||
account_expiration_datetime_utc = row[8].replace(tzinfo=timezone.utc)
|
||||
password_expiration_datetime_utc = row[9].replace(tzinfo=timezone.utc)
|
||||
timezone_offset = int(config.utc_offset[1:3]) * 60 + int(config.utc_offset[4:6])
|
||||
if config.utc_offset[0] == '-':
|
||||
timezone_offset = -timezone_offset
|
||||
|
||||
account_expiration_datetime_local = row[8].replace(tzinfo=timezone.utc) + timedelta(minutes=timezone_offset)
|
||||
password_expiration_datetime_local = row[9].replace(tzinfo=timezone.utc) + timedelta(minutes=timezone_offset)
|
||||
|
||||
result = {"id": row[0],
|
||||
"name": row[1],
|
||||
"display_name": row[2],
|
||||
|
@ -229,8 +242,8 @@ class UserItem:
|
|||
"privilege": {
|
||||
"id": row[6],
|
||||
"name": row[7]} if row[6] is not None else None,
|
||||
"account_expiration_datetime": account_expiration_datetime_utc.timestamp() * 1000,
|
||||
"password_expiration_datetime": password_expiration_datetime_utc.timestamp() * 1000}
|
||||
"account_expiration_datetime": account_expiration_datetime_local.strftime('%Y-%m-%dT%H:%M:%S'),
|
||||
"password_expiration_datetime": password_expiration_datetime_local.strftime('%Y-%m-%dT%H:%M:%S')}
|
||||
resp.body = json.dumps(result)
|
||||
|
||||
@staticmethod
|
||||
|
|
|
@ -429,8 +429,6 @@ const resources = {
|
|||
"API.FAILED_TO_UPLOAD_OFFLINE_METER_FILE": "Failed to upload offline meter file",
|
||||
"API.GATEWAY_NAME_IS_ALREADY_IN_USE": "Gateway name is already in use",
|
||||
"API.GATEWAY_NOT_FOUND": "Gateway not found",
|
||||
"API.GSM_MODEM_NOT_FOUND": "Gsm modem not found",
|
||||
"API.GSM_MODEM_SERIAL_PORT_IS_ALREADY_IN_USE": "Gsm modem serial port is already in use",
|
||||
"API.INVALID_": "Invalid ",
|
||||
"API.INVALID_ADDRESS": "Invalid address",
|
||||
"API.INVALID_ADDRESS_VALUE": "Invalid address value",
|
||||
|
@ -498,7 +496,6 @@ const resources = {
|
|||
"API.INVALID_FROM_ADDR": "Invalid from addr",
|
||||
"API.INVALID_GATEWAY_ID": "Invalid gateway id",
|
||||
"API.INVALID_GATEWAY_NAME": "Invalid gateway name",
|
||||
"API.INVALID_GSM_MODEM_ID": "Invalid gsm modem id",
|
||||
"API.INVALID_HOURLY_HIGH_LIMIT_VALUE": "Invalid hourly high limit value",
|
||||
"API.INVALID_HOURLY_LOW_LIMIT_VALUE": "Invalid hourly low limit value",
|
||||
"API.INVALID_IS_ADMIN_VALUE": "Invalid is admin value",
|
||||
|
@ -744,8 +741,10 @@ const resources = {
|
|||
"API.THIS_SPACE_CANNOT_BE_DELETED": "This space cannot be deleted",
|
||||
"API.TIMEZONE_NOT_FOUND": "Timezone not found",
|
||||
"API.TOKEN_NOT_FOUND_IN_HEADERS_PLEASE_LOGIN": "Token not found in headers please login",
|
||||
"API.USER_ACCOUNT_HAS_EXPIRED": "User Account Has Expired",
|
||||
"API.USER_NAME_IS_ALREADY_IN_USE": "User name is already in use",
|
||||
"API.USER_NOT_FOUND": "User not found",
|
||||
"API.USER_PASSWORD_HAS_EXPIRED": "User Password Has Expired",
|
||||
"API.USER_PRIVILEGE_NOT_FOUND": "User privilege not found",
|
||||
"API.USER_SESSION_NOT_FOUND": "User session not found",
|
||||
"API.USER_SESSION_TIMEOUT": "User session timeout",
|
||||
|
@ -1187,8 +1186,6 @@ const resources = {
|
|||
"API.FAILED_TO_UPLOAD_OFFLINE_METER_FILE": "Failed to upload offline meter file",
|
||||
"API.GATEWAY_NAME_IS_ALREADY_IN_USE": "Gateway name is already in use",
|
||||
"API.GATEWAY_NOT_FOUND": "Gateway not found",
|
||||
"API.GSM_MODEM_NOT_FOUND": "Gsm modem not found",
|
||||
"API.GSM_MODEM_SERIAL_PORT_IS_ALREADY_IN_USE": "Gsm modem serial port is already in use",
|
||||
"API.INVALID_": "Invalid ",
|
||||
"API.INVALID_ADDRESS": "Invalid address",
|
||||
"API.INVALID_ADDRESS_VALUE": "Invalid address value",
|
||||
|
@ -1256,7 +1253,6 @@ const resources = {
|
|||
"API.INVALID_FROM_ADDR": "Invalid from addr",
|
||||
"API.INVALID_GATEWAY_ID": "Invalid gateway id",
|
||||
"API.INVALID_GATEWAY_NAME": "Invalid gateway name",
|
||||
"API.INVALID_GSM_MODEM_ID": "Invalid gsm modem id",
|
||||
"API.INVALID_HOURLY_HIGH_LIMIT_VALUE": "Invalid hourly high limit value",
|
||||
"API.INVALID_HOURLY_LOW_LIMIT_VALUE": "Invalid hourly low limit value",
|
||||
"API.INVALID_IS_ADMIN_VALUE": "Invalid is admin value",
|
||||
|
@ -1502,8 +1498,10 @@ const resources = {
|
|||
"API.THIS_SPACE_CANNOT_BE_DELETED": "This space cannot be deleted",
|
||||
"API.TIMEZONE_NOT_FOUND": "Timezone not found",
|
||||
"API.TOKEN_NOT_FOUND_IN_HEADERS_PLEASE_LOGIN": "Token not found in headers please login",
|
||||
"API.USER_ACCOUNT_HAS_EXPIRED": "User Account Has Expired",
|
||||
"API.USER_NAME_IS_ALREADY_IN_USE": "User name is already in use",
|
||||
"API.USER_NOT_FOUND": "User not found",
|
||||
"API.USER_PASSWORD_HAS_EXPIRED": "User Password Has Expired",
|
||||
"API.USER_PRIVILEGE_NOT_FOUND": "User privilege not found",
|
||||
"API.USER_SESSION_NOT_FOUND": "User session not found",
|
||||
"API.USER_SESSION_TIMEOUT": "User session timeout",
|
||||
|
@ -1944,8 +1942,6 @@ const resources = {
|
|||
"API.FAILED_TO_UPLOAD_OFFLINE_METER_FILE": "Failed to upload offline meter file",
|
||||
"API.GATEWAY_NAME_IS_ALREADY_IN_USE": "Gateway name is already in use",
|
||||
"API.GATEWAY_NOT_FOUND": "Gateway not found",
|
||||
"API.GSM_MODEM_NOT_FOUND": "Gsm modem not found",
|
||||
"API.GSM_MODEM_SERIAL_PORT_IS_ALREADY_IN_USE": "Gsm modem serial port is already in use",
|
||||
"API.INVALID_": "Invalid ",
|
||||
"API.INVALID_ADDRESS": "Invalid address",
|
||||
"API.INVALID_ADDRESS_VALUE": "Invalid address value",
|
||||
|
@ -2013,7 +2009,6 @@ const resources = {
|
|||
"API.INVALID_FROM_ADDR": "Invalid from addr",
|
||||
"API.INVALID_GATEWAY_ID": "Invalid gateway id",
|
||||
"API.INVALID_GATEWAY_NAME": "Invalid gateway name",
|
||||
"API.INVALID_GSM_MODEM_ID": "Invalid gsm modem id",
|
||||
"API.INVALID_HOURLY_HIGH_LIMIT_VALUE": "Invalid hourly high limit value",
|
||||
"API.INVALID_HOURLY_LOW_LIMIT_VALUE": "Invalid hourly low limit value",
|
||||
"API.INVALID_IS_ADMIN_VALUE": "Invalid is admin value",
|
||||
|
@ -2259,8 +2254,10 @@ const resources = {
|
|||
"API.THIS_SPACE_CANNOT_BE_DELETED": "This space cannot be deleted",
|
||||
"API.TIMEZONE_NOT_FOUND": "Timezone not found",
|
||||
"API.TOKEN_NOT_FOUND_IN_HEADERS_PLEASE_LOGIN": "Token not found in headers please login",
|
||||
"API.USER_ACCOUNT_HAS_EXPIRED": "User Account Has Expired",
|
||||
"API.USER_NAME_IS_ALREADY_IN_USE": "User name is already in use",
|
||||
"API.USER_NOT_FOUND": "User not found",
|
||||
"API.USER_PASSWORD_HAS_EXPIRED": "User Password Has Expired",
|
||||
"API.USER_PRIVILEGE_NOT_FOUND": "User privilege not found",
|
||||
"API.USER_SESSION_NOT_FOUND": "User session not found",
|
||||
"API.USER_SESSION_TIMEOUT": "User session timeout",
|
||||
|
|
Loading…
Reference in New Issue