Skip to content

Commit

Permalink
View users add entity/jira wp 374 (#244)
Browse files Browse the repository at this point in the history
* modified query getting enity from submitters and changed table to include enity_name

* modified query to overcome type and out-of-range errors

* fixed up user table

* modified view to remove column

* modified modal to show entity and removed commenting in view

* Updating users with no info in submitters table to Not Applicable org/entity name

* modified modals and table to show Entity Organization

---------

Co-authored-by: Carrie Arnold <[email protected]>
Co-authored-by: edmondsgarrett <[email protected]>
  • Loading branch information
3 people committed Nov 9, 2023
1 parent ddfde91 commit 6d7a712
Show file tree
Hide file tree
Showing 5 changed files with 30 additions and 13 deletions.
23 changes: 19 additions & 4 deletions apcd-cms/src/apps/utils/apcd_database.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,25 @@ def get_users():
port=APCD_DB['port'],
sslmode='require'
)
query = """SELECT * FROM users
NATURAL JOIN roles
ORDER BY users.org_name ASC
"""
query = """SELECT
users.role_id,
users.user_id,
users.user_email,
users.user_name,
submitters.entity_name,
users.created_at,
users.updated_at,
users.notes,
users.active,
users.user_number,
roles.role_name
FROM users
NATURAL JOIN roles
LEFT JOIN submitter_users ON users.user_id = submitter_users.user_id
AND users.user_number = submitter_users.user_number
LEFT JOIN submitters on submitter_users.submitter_id = submitters.submitter_id
ORDER BY submitters.entity_name ASC;
"""
cur = conn.cursor()
cur.execute(query)
return cur.fetchall()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -95,8 +95,8 @@ <h4 class="modal-header">Edit Selected User</h4>
<dd class="c-data-list__value">{{r.user_number}}</dd>
<dt class="c-data-list__key">Email</dt>
<dd class="c-data-list__value">{{r.user_email}}</dd>
<dt class="c-data-list__key">Organization</dt>
<dd class="c-data-list__value">{{r.org_name}}</dd>
<dt class="c-data-list__key">Entity Organization</dt>
<dd class="c-data-list__value">{{r.entity_name}}</dd>
<dt class="c-data-list__key">Role</dt>
<dd class="c-data-list__value">{{r.role_name}}</dd>
<dt class="c-data-list__key">Status</dt>
Expand Down
4 changes: 2 additions & 2 deletions apcd-cms/src/apps/view_users/templates/view_user_modal.html
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@ <h4 class="modal-title">Details for User: {{r.user_name}} ({{r.user_id}})</h4>
<dd class="c-data-list__value">{{r.user_number}}</dd>
<dt class="c-data-list__key">Email</dt>
<dd class="c-data-list__value">{{r.user_email}}</dd>
<dt class="c-data-list__key">Organization</dt>
<dd class="c-data-list__value">{{r.org_name}}</dd>
<dt class="c-data-list__key">Entity Organization</dt>
<dd class="c-data-list__value">{{r.entity_name}}</dd>
<dt class="c-data-list__key">Role</dt>
<dd class="c-data-list__value">{{r.role_name}}</dd>
<dt class="c-data-list__key">Status</dt>
Expand Down
2 changes: 1 addition & 1 deletion apcd-cms/src/apps/view_users/templates/view_users.html
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ <h1>View Users</h1>
<tr>
<td>{{r.user_id}}</td>
<td>{{r.user_name}}</td>
<td>{{r.org_name}}</td>
<td>{{r.entity_name}}</td>
<td>{{r.role_name}}</td>
<td>{{r.status}}</td>
<td>{{r.user_number}}</td>
Expand Down
10 changes: 6 additions & 4 deletions apcd-cms/src/apps/view_users/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -64,18 +64,18 @@ def _set_user(usr):
'user_id': usr[1],
'user_email': usr[2],
'user_name': usr[3],
'org_name': usr[4],
'entity_name': usr[4] if usr[4] else "Not Applicable",
'created_at': usr[5],
'updated_at': usr[6],
'notes': usr[7],
'status': 'Active' if usr[8] else 'Inactive',
'user_number': usr[9],
'role_name': usr[10],
'org_name_no_parens': usr[4].replace("(", "").replace(")", ""), # just for filtering purposes
'entity_name_no_parens': usr[4].replace("(", "").replace(")", "") if usr[4] else "Not Applicable", # just for filtering purposes
'active': usr[8],
}

context['header'] = ['User ID', 'Name', 'Organization', 'Role', 'Status', 'User Number', 'See More']
context['header'] = ['User ID', 'Name', 'Entity Organization', 'Role', 'Status', 'User Number', 'See More']
context['status_options'] = ['All', 'Active', 'Inactive']
context['filter_options'] = ['All']
context['role_options'] = ['SUBMITTER_USER', 'SUBMITTER_ADMIN','APCD_ADMIN']
Expand All @@ -99,6 +99,8 @@ def _set_user(usr):
org_name = user[4]
if org_name not in context['filter_options']: # prevent duplicates
context['filter_options'].append(user[4])
if org_name is None and 'Not Applicable' not in context['filter_options']:
context['filter_options'].append('Not Applicable')

queryStr = ''
status_filter = self.request.GET.get('status')
Expand All @@ -119,7 +121,7 @@ def _set_user(usr):
if org_filter is not None and org_filter != 'All':
context['selected_org'] = org_filter
queryStr += f'&org={org_filter}'
table_entries = table_filter(org_filter.replace("(", "").replace(")",""), table_entries, 'org_name_no_parens')
table_entries = table_filter(org_filter.replace("(", "").replace(")",""), table_entries, 'entity_name_no_parens')

context['query_str'] = queryStr
context.update(paginator(self.request, table_entries))
Expand Down

0 comments on commit 6d7a712

Please sign in to comment.