You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kibble.apache.org by hu...@apache.org on 2017/10/20 13:35:34 UTC
[kibble] 10/12: add rudimentary membership list and options
This is an automated email from the ASF dual-hosted git repository.
humbedooh pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/kibble.git
commit 6063629ebbfd3fe4f5941cfda2a4841c3beff38d
Author: Daniel Gruno <hu...@apache.org>
AuthorDate: Fri Oct 20 15:31:18 2017 +0200
add rudimentary membership list and options
---
ui/js/coffee/kibble_organisation.coffee | 41 ++++++++++++++++++++++++++++++++-
ui/js/coffee/pageloader.coffee | 1 +
2 files changed, 41 insertions(+), 1 deletion(-)
diff --git a/ui/js/coffee/kibble_organisation.coffee b/ui/js/coffee/kibble_organisation.coffee
index 5692805..6f4a20a 100644
--- a/ui/js/coffee/kibble_organisation.coffee
+++ b/ui/js/coffee/kibble_organisation.coffee
@@ -99,4 +99,43 @@ orglist = (json, state) ->
fieldset.inject(btn)
state.widget.inject(fieldset)
-
\ No newline at end of file
+
+
+inviteMember = (eml, admin) ->
+ put('org/members', { email: eml, admin: admin}, null, memberInvited)
+
+removeMember = (eml, admin) ->
+ xdelete('org/members', { email: eml, admin: admin}, null, memberInvited)
+
+memberInvited = (json, state) ->
+ window.setTimeout(
+ () ->
+ location.reload()
+ , 1000
+ )
+
+membershipList = (json, state) ->
+ list = new HTML('table')
+
+ for member in json.members
+ tr = new HTML('tr')
+ eml = new HTML('td', { style: { padding: "5px"}}, member)
+ isAdmin = member in json.admins
+ admin = new HTML('td', { style: { padding: "5px"}}, if isAdmin then "Admin" else "Member")
+ alink = new HTML('a', { href: "javascript:void(inviteMember('#{member}', true));"}, "Make admin")
+ if isAdmin
+ alink = new HTML('a', { href: "javascript:void(inviteMember('#{member}', false));"}, "Remove as admin")
+ admopt = new HTML('td', { style: { padding: "5px"}}, alink)
+
+ # Remove member
+ dlink = new HTML('a', { href: "javascript:void(removeMember('#{member}'));"}, "Remove from oganisation")
+ delopt = new HTML('td', { style: { padding: "5px"}}, dlink)
+
+ tr.inject(eml)
+ tr.inject(admin)
+ tr.inject(admopt)
+ tr.inject(delopt)
+ list.inject(tr)
+
+ state.widget.inject(list, true)
+
\ No newline at end of file
diff --git a/ui/js/coffee/pageloader.coffee b/ui/js/coffee/pageloader.coffee
index 9ba57fd..26f3700 100644
--- a/ui/js/coffee/pageloader.coffee
+++ b/ui/js/coffee/pageloader.coffee
@@ -106,6 +106,7 @@ setupPage = (json, state) ->
when 'comstat' then widget.load(comstat)
when 'worldmap' then widget.load(worldmap)
when 'orglist' then widget.load(orglist)
+ when 'membership' then widget.load(membershipList)
--
To stop receiving notification emails like this one, please contact
"commits@kibble.apache.org" <co...@kibble.apache.org>.