Updates
parent
dc9804973f
commit
cf50f2b839
|
@ -173,18 +173,30 @@ class Admin():
|
||||||
return self.external['roles']
|
return self.external['roles']
|
||||||
|
|
||||||
def upload_json(self,data):
|
def upload_json(self,data):
|
||||||
|
groups=[]
|
||||||
|
for g in data['data']['groups']:
|
||||||
|
# for m in data['data']['d_members']:
|
||||||
|
|
||||||
|
groups.append({'provider':data['provider'],
|
||||||
|
"id": g['id'],
|
||||||
|
"name": g['name'],
|
||||||
|
"description": g['description']})
|
||||||
|
self.external['groups']=groups
|
||||||
|
|
||||||
|
|
||||||
users=[]
|
users=[]
|
||||||
for u in data['data']['users']:
|
for u in data['data']['users']:
|
||||||
users.append({'provider':data['provider'],
|
users.append({'provider':data['provider'],
|
||||||
'id':u['id'],
|
'id':u['id'],
|
||||||
'email': u['primaryEmail'],
|
'email': u['primaryEmail'],
|
||||||
'firstname': u['name']['givenName'],
|
'first': u['name']['givenName'],
|
||||||
'lastname': u['name']['givenName'],
|
'last': u['name']['familyName'],
|
||||||
'username': u['customerId'],
|
'username': u['primaryEmail'].split('@')[0],
|
||||||
'groups':[u['orgUnitPath']],
|
'groups':[u['orgUnitPath']],
|
||||||
'roles':[]})
|
'roles':[]})
|
||||||
self.external['users']=set(self.external['users']+users)
|
self.external['users']=users
|
||||||
return self.external['users']
|
|
||||||
|
return True
|
||||||
|
|
||||||
|
|
||||||
# with open(os.path.join(app.root_path, "../custom/jsons/google_all_imported_espinalt.json"),"r") as crt:
|
# with open(os.path.join(app.root_path, "../custom/jsons/google_all_imported_espinalt.json"),"r") as crt:
|
||||||
|
|
|
@ -24,18 +24,20 @@ $(document).ready(function() {
|
||||||
data: JSON.stringify(formdata),
|
data: JSON.stringify(formdata),
|
||||||
success: function(data)
|
success: function(data)
|
||||||
{
|
{
|
||||||
console.log(data)
|
$("#modalImport").modal('hide');
|
||||||
|
users_table.ajax.reload();
|
||||||
|
groups_table.ajax.reload();
|
||||||
},
|
},
|
||||||
error: function(data)
|
error: function(data)
|
||||||
{
|
{
|
||||||
console.log(data)
|
alert('Something went wrong on our side...')
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
//DataTable Main renderer
|
//DataTable Main renderer
|
||||||
var table = $('#users').DataTable({
|
var users_table = $('#users').DataTable({
|
||||||
"ajax": {
|
"ajax": {
|
||||||
"url": "/isard-sso-admin/external_users_list",
|
"url": "/isard-sso-admin/external_users_list",
|
||||||
"dataSrc": ""
|
"dataSrc": ""
|
||||||
|
@ -63,9 +65,37 @@ $(document).ready(function() {
|
||||||
{ "data": "groups", "width": "10px"},
|
{ "data": "groups", "width": "10px"},
|
||||||
{ "data": "roles", "width": "10px"},
|
{ "data": "roles", "width": "10px"},
|
||||||
],
|
],
|
||||||
"order": [[4, 'asc']],
|
"order": [[3, 'asc']],
|
||||||
"columnDefs": [ ]
|
"columnDefs": [ ]
|
||||||
} );
|
} );
|
||||||
|
|
||||||
|
var groups_table = $('#groups').DataTable({
|
||||||
|
"ajax": {
|
||||||
|
"url": "/isard-sso-admin/external_groups_list",
|
||||||
|
"dataSrc": ""
|
||||||
|
},
|
||||||
|
"language": {
|
||||||
|
"loadingRecords": '<i class="fa fa-spinner fa-pulse fa-3x fa-fw"></i><span class="sr-only">Loading...</span>',
|
||||||
|
"emptyTable": "<h1>You don't have any user created yet.</h1><br><h2>Create one using the +Add new button on top right of this page.</h2>"
|
||||||
|
},
|
||||||
|
"rowId": "id",
|
||||||
|
"deferRender": true,
|
||||||
|
"columns": [
|
||||||
|
{
|
||||||
|
"className": 'details-control',
|
||||||
|
"orderable": false,
|
||||||
|
"data": null,
|
||||||
|
"width": "10px",
|
||||||
|
"defaultContent": '<button class="btn btn-xs btn-info" type="button" data-placement="top" ><i class="fa fa-plus"></i></button>'
|
||||||
|
},
|
||||||
|
{ "data": "id", "width": "10px" },
|
||||||
|
{ "data": "provider", "width": "10px" },
|
||||||
|
{ "data": "name", "width": "10px" },
|
||||||
|
{ "data": "description", "width": "10px"},
|
||||||
|
],
|
||||||
|
"order": [[2, 'asc']],
|
||||||
|
"columnDefs": [ ]
|
||||||
|
} );
|
||||||
});
|
});
|
||||||
|
|
||||||
function readFile (evt) {
|
function readFile (evt) {
|
||||||
|
|
|
@ -18,8 +18,8 @@
|
||||||
<a class="btn-upload"><span style="color: #5499c7; "><i class="fa fa-upload"></i> Upload</span></a>
|
<a class="btn-upload"><span style="color: #5499c7; "><i class="fa fa-upload"></i> Upload</span></a>
|
||||||
<a class="btn-download"><span style="color: #5499c7; "><i class="fa fa-download"></i> Download</span></a>
|
<a class="btn-download"><span style="color: #5499c7; "><i class="fa fa-download"></i> Download</span></a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<div class="clearfix"></div>
|
<div class="clearfix"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="x_content">
|
<div class="x_content">
|
||||||
<p class="text-muted font-13 m-b-30"></p>
|
<p class="text-muted font-13 m-b-30"></p>
|
||||||
|
@ -41,6 +41,22 @@
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="x_content">
|
||||||
|
<p class="text-muted font-13 m-b-30"></p>
|
||||||
|
<table id="groups" class="table" width="100%">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th></th>
|
||||||
|
<th>Id</th>
|
||||||
|
<th>Provider</th>
|
||||||
|
<th>Name</th>
|
||||||
|
<th>Description</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -48,11 +48,15 @@ def groups_list():
|
||||||
# @login_required
|
# @login_required
|
||||||
def external():
|
def external():
|
||||||
if request.method == 'POST':
|
if request.method == 'POST':
|
||||||
pprint(request.get_json(force=True))
|
|
||||||
return json.dumps(app.admin.upload_json(request.get_json(force=True))), 200, {'Content-Type': 'application/json'}
|
return json.dumps(app.admin.upload_json(request.get_json(force=True))), 200, {'Content-Type': 'application/json'}
|
||||||
return render_template('pages/external.html', title="External", nav="External")
|
return render_template('pages/external.html', title="External", nav="External")
|
||||||
|
|
||||||
@app.route('/isard-sso-admin/external_users_list')
|
@app.route('/isard-sso-admin/external_users_list')
|
||||||
# @login_required
|
# @login_required
|
||||||
def external_list():
|
def external_users_list():
|
||||||
return json.dumps(app.admin.get_external_users()), 200, {'Content-Type': 'application/json'}
|
return json.dumps(app.admin.get_external_users()), 200, {'Content-Type': 'application/json'}
|
||||||
|
|
||||||
|
@app.route('/isard-sso-admin/external_groups_list')
|
||||||
|
# @login_required
|
||||||
|
def external_groups_list():
|
||||||
|
return json.dumps(app.admin.get_external_groups()), 200, {'Content-Type': 'application/json'}
|
Loading…
Reference in New Issue