From dd3b6676d3f1f74c2463fda8cac6c4f41856dc2d Mon Sep 17 00:00:00 2001 From: Montana Date: Tue, 23 Oct 2018 10:40:28 -0400 Subject: [PATCH 01/18] Fix __repr__ on workspace user model --- atst/models/workspace_user.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/atst/models/workspace_user.py b/atst/models/workspace_user.py index 216b07aa..aae7b88a 100644 --- a/atst/models/workspace_user.py +++ b/atst/models/workspace_user.py @@ -67,8 +67,5 @@ class WorkspaceUser(object): def __repr__(self): return "".format( - self.user.full_name, - self.role, - self.workspace.name, - self.num_environment_roles, + self.user_name, self.role, self.workspace.name, self.num_environment_roles ) From 3de1e5544035ca764e5fc749953a046c66220869 Mon Sep 17 00:00:00 2001 From: Montana Date: Wed, 24 Oct 2018 15:10:16 -0400 Subject: [PATCH 02/18] Basic Vue function for search --- atst/routes/workspaces.py | 11 ++++++++-- js/components/forms/members_list.js | 29 +++++++++++++++++++++++++ js/index.js | 2 ++ templates/workspaces/members/index.html | 11 ++++++++-- 4 files changed, 49 insertions(+), 4 deletions(-) create mode 100644 js/components/forms/members_list.js diff --git a/atst/routes/workspaces.py b/atst/routes/workspaces.py index b0c751a6..324153dd 100644 --- a/atst/routes/workspaces.py +++ b/atst/routes/workspaces.py @@ -1,4 +1,4 @@ -import re +import re, json from datetime import date, timedelta from flask import ( @@ -102,9 +102,16 @@ def workspace_members(workspace_id): new_member = next( filter(lambda m: m.user_name == new_member_name, workspace.members), None ) + members_list = [ + {"name": k.user_name, "role": k.role, "num_env": k.num_environment_roles} + for k in workspace.members + ] return render_template( - "workspaces/members/index.html", workspace=workspace, new_member=new_member + "workspaces/members/index.html", + workspace=workspace, + members=members_list, + new_member=new_member, ) diff --git a/js/components/forms/members_list.js b/js/components/forms/members_list.js new file mode 100644 index 00000000..983c98ce --- /dev/null +++ b/js/components/forms/members_list.js @@ -0,0 +1,29 @@ + +export default { + name: 'members-list', + + template: '#search-template', + + props: { + members: Array, + }, + + data: function () { + return { + searchValue: '', + searchedList: [], + } + }, + + mounted: function () { + // console.log(this.members) + }, + + methods: { + search: function () { + console.log(this.members) + this.searchedList = this.members.filter(member => member.name.includes(this.searchValue)) + console.log(this.searchedList) + }, + }, +} diff --git a/js/index.js b/js/index.js index a91f06c2..ac1f7c79 100644 --- a/js/index.js +++ b/js/index.js @@ -20,6 +20,7 @@ import selector from './components/selector' import BudgetChart from './components/charts/budget_chart' import SpendTable from './components/tables/spend_table' import CcpoApproval from './components/forms/ccpo_approval' +import MembersList from './components/forms/members_list' import LocalDatetime from './components/local_datetime' Vue.use(VTooltip) @@ -41,6 +42,7 @@ const app = new Vue({ BudgetChart, SpendTable, CcpoApproval, + MembersList, LocalDatetime, EditEnvironmentRole, EditProjectRoles, diff --git a/templates/workspaces/members/index.html b/templates/workspaces/members/index.html index 90b650f5..329143cd 100644 --- a/templates/workspaces/members/index.html +++ b/templates/workspaces/members/index.html @@ -45,11 +45,16 @@ ) }} {% endif %} + + + + +
+ +
{% endif %} From 256ae73c9206d4463160439701e03af02bcefe07 Mon Sep 17 00:00:00 2001 From: Montana Date: Thu, 25 Oct 2018 10:01:15 -0400 Subject: [PATCH 03/18] Clean up Vue --- js/components/forms/members_list.js | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/js/components/forms/members_list.js b/js/components/forms/members_list.js index 983c98ce..71234478 100644 --- a/js/components/forms/members_list.js +++ b/js/components/forms/members_list.js @@ -16,14 +16,15 @@ export default { }, mounted: function () { - // console.log(this.members) + this.searchedList = this.members }, methods: { search: function () { - console.log(this.members) - this.searchedList = this.members.filter(member => member.name.includes(this.searchValue)) - console.log(this.searchedList) + this.searchedList = this.members.filter( + member => member.name.toLowerCase() + .includes(this.searchValue.toLowerCase()) + ) }, }, } From c5856c539d1dce5d1692c349f7ccacff8f5de8e7 Mon Sep 17 00:00:00 2001 From: Montana Date: Thu, 25 Oct 2018 10:56:23 -0400 Subject: [PATCH 04/18] Use Vue for template rendering --- atst/routes/workspaces.py | 8 +++++++- templates/workspaces/members/index.html | 26 ++++++++++++------------- 2 files changed, 20 insertions(+), 14 deletions(-) diff --git a/atst/routes/workspaces.py b/atst/routes/workspaces.py index 324153dd..8547f9bc 100644 --- a/atst/routes/workspaces.py +++ b/atst/routes/workspaces.py @@ -103,7 +103,13 @@ def workspace_members(workspace_id): filter(lambda m: m.user_name == new_member_name, workspace.members), None ) members_list = [ - {"name": k.user_name, "role": k.role, "num_env": k.num_environment_roles} + { + "name": k.user_name, + "status": k.status, + "id": k.user_id, + "role": k.role, + "num_env": k.num_environment_roles, + } for k in workspace.members ] diff --git a/templates/workspaces/members/index.html b/templates/workspaces/members/index.html index 329143cd..8bde5d24 100644 --- a/templates/workspaces/members/index.html +++ b/templates/workspaces/members/index.html @@ -80,7 +80,6 @@ -
@@ -91,20 +90,21 @@ + - {% for m in workspace.members %} - {% set num_environment_roles = m.num_environment_roles %} - - - {% if num_environment_roles %} - - {% else %} - - {% endif %} - - + + + + + + - {% endfor %}
Workspace Role
{{ m.user_name }}{{ num_environment_roles }}No Environment Access{{ m.status }}{{ m.role_displayname }}
+ + + + + No Environment Access +
From 8c767b75352a4c1ea4ea9ed85780198eec1ef49a Mon Sep 17 00:00:00 2001 From: Montana Date: Thu, 25 Oct 2018 11:40:41 -0400 Subject: [PATCH 05/18] Search if form is submitted --- templates/workspaces/members/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/workspaces/members/index.html b/templates/workspaces/members/index.html index 8bde5d24..fb76c7bd 100644 --- a/templates/workspaces/members/index.html +++ b/templates/workspaces/members/index.html @@ -50,7 +50,7 @@
-