diff --git a/docs/en_US/release_notes_4_30.rst b/docs/en_US/release_notes_4_30.rst index 6c727a840..d93250336 100644 --- a/docs/en_US/release_notes_4_30.rst +++ b/docs/en_US/release_notes_4_30.rst @@ -37,6 +37,7 @@ Bug fixes | `Issue #6077 `_ - Fixed accessibility issues in various dialogs. | `Issue #6084 `_ - Fixed TypeError exception in schema diff when selected any identical object. | `Issue #6096 `_ - Updated deployment documentation, refer correctly to uWSGI where Gunicorn had been referenced. +| `Issue #6120 `_ - Ensure that the account expiration date for role/user can’t be older than the current date. | `Issue #6121 `_ - Fixed an issue where the database list in the new connection window is not visible. | `Issue #6128 `_ - Fixed an issue where sequences are not created. | `Issue #6140 `_ - Ensure that verbose logs should be visible for Utility(Backup, Maintenance) jobs. diff --git a/web/pgadmin/browser/server_groups/servers/roles/static/js/role.js b/web/pgadmin/browser/server_groups/servers/roles/static/js/role.js index 68909fd88..966681b9c 100644 --- a/web/pgadmin/browser/server_groups/servers/roles/static/js/role.js +++ b/web/pgadmin/browser/server_groups/servers/roles/static/js/role.js @@ -562,6 +562,28 @@ define('pgadmin.node.role', [ } } + // Check Account expiration date should not be older than current selected date. + let currdate = null; + let oldDate = null; + if(this.get('rolvaliduntil') != this.origSessAttrs.rolvaliduntil && this.get('rolvaliduntil') != '' && this.origSessAttrs.rolvaliduntil != 'infinity') { + currdate = new Date(this.get('rolvaliduntil')); + oldDate = new Date(this.origSessAttrs.rolvaliduntil); + } else if (this.origSessAttrs.rolvaliduntil == 'infinity') { + if(this.get('rolvaliduntil') == '') { + let $el = this.panelEl.find('.datetimepicker-input'); + currdate = $el.data('datetimepicker').date().clone()._d; + } else { + currdate = new Date(this.get('rolvaliduntil')); + } + oldDate = new Date(); + oldDate.setHours(0,0,0,0); + } + + if(currdate < oldDate) { + err['rolvaliduntil'] = gettext('Account expiration date can’t be older than the current date'); + errmsg = gettext('Account expiration date can’t be older than the current date'); + } + this.errorModel.clear().set(err); if (_.size(err)) {