MCPcopy Create free account
hub / github.com/pgadmin-org/pgadmin4 / Users

Function Users

web/pgadmin/tools/user_management/static/js/Users.jsx:83–298  ·  view source on GitHub ↗
({roles})

Source from the content-addressed store, hash-verified

81};
82
83export default function Users({roles}) {
84 const authSources = useRef([]);
85 const [loading, setLoading] = React.useState('');
86 const [tableData, setTableData] = React.useState([]);
87 const api = getApiInstance();
88 const pgAdmin = usePgAdmin();
89
90 const onDeleteClick = (row) => {
91 const deleteRow = async () => {
92 setLoading(gettext('Deleting user...'));
93 try {
94 await api.delete(url_for('user_management.save_id', { id: row.original.id }));
95 pgAdmin.Browser.notifier.success(gettext('User deleted successfully.'));
96 updateList();
97 } catch (error) {
98 pgAdmin.Browser.notifier.errorText(parseApiError(error));
99 }
100 setLoading('');
101 };
102
103 pgAdmin.Browser.notifier.confirmDelete(gettext('Delete User?'), gettext('Are you sure you want to delete the user %s?', `<strong>${row.original.username}</strong>`),
104 async () => {
105 setLoading(gettext('Deleting user...'));
106 try {
107 const resp = await api.get(url_for('user_management.shared_servers', {'uid': row['id']}));
108 const noOfSharedServers = resp.data?.data?.shared_servers ?? 0;
109 if (noOfSharedServers > 0) {
110 const resp = await api.get(url_for('user_management.admin_users', {'uid': row['id']}));
111 showChangeOwnership(
112 gettext('Change ownership'),
113 resp.data?.data?.result?.data,
114 noOfSharedServers,
115 {'id': row.original['id'], 'name': !isEmptyString(row.original['email']) ? row.original['email'] : row.original['username']},
116 ()=> {
117 pgAdmin.Browser.notifier.confirm(
118 gettext('Object explorer tree refresh required'),
119 gettext('The ownership of the shared server was changed or the shared server was deleted, so the object explorer tree refresh is required. Do you wish to refresh the tree?'),
120 function () {
121 pgAdmin.Browser.tree.destroy();
122 },
123 function () {
124 return true;
125 },
126 gettext('Refresh'),
127 gettext('Later')
128 );
129 deleteRow();
130 }
131 );
132 } else {
133 deleteRow();
134 }
135 }
136 catch (error) {
137 pgAdmin.Browser.notifier.errorText(parseApiError(error));
138 }
139 setLoading('');
140 });

Callers

nothing calls this directly

Calls 8

usePgAdminFunction · 0.90
getDeleteCellFunction · 0.90
getEditCellFunction · 0.90
getSwitchCellFunction · 0.90
getApiInstanceFunction · 0.85
gettextFunction · 0.85
findMethod · 0.80
initializeFunction · 0.70

Tested by

no test coverage detected