Updates
parent
dc9804973f
commit
cf50f2b839
|
@ -173,18 +173,30 @@ class Admin():
|
|||
return self.external['roles']
|
||||
|
||||
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=[]
|
||||
for u in data['data']['users']:
|
||||
users.append({'provider':data['provider'],
|
||||
'id':u['id'],
|
||||
'email': u['primaryEmail'],
|
||||
'firstname': u['name']['givenName'],
|
||||
'lastname': u['name']['givenName'],
|
||||
'username': u['customerId'],
|
||||
'first': u['name']['givenName'],
|
||||
'last': u['name']['familyName'],
|
||||
'username': u['primaryEmail'].split('@')[0],
|
||||
'groups':[u['orgUnitPath']],
|
||||
'roles':[]})
|
||||
self.external['users']=set(self.external['users']+users)
|
||||
return self.external['users']
|
||||
self.external['users']=users
|
||||
|
||||
return True
|
||||
|
||||
|
||||
# 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),
|
||||
success: function(data)
|
||||
{
|
||||
console.log(data)
|
||||
$("#modalImport").modal('hide');
|
||||
users_table.ajax.reload();
|
||||
groups_table.ajax.reload();
|
||||
},
|
||||
error: function(data)
|
||||
{
|
||||
console.log(data)
|
||||
alert('Something went wrong on our side...')
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
//DataTable Main renderer
|
||||
var table = $('#users').DataTable({
|
||||
var users_table = $('#users').DataTable({
|
||||
"ajax": {
|
||||
"url": "/isard-sso-admin/external_users_list",
|
||||
"dataSrc": ""
|
||||
|
@ -63,9 +65,37 @@ $(document).ready(function() {
|
|||
{ "data": "groups", "width": "10px"},
|
||||
{ "data": "roles", "width": "10px"},
|
||||
],
|
||||
"order": [[4, 'asc']],
|
||||
"order": [[3, 'asc']],
|
||||
"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) {
|
||||
|
|
|
@ -18,8 +18,8 @@
|
|||
<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>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="clearfix"></div>
|
||||
</ul>
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
<div class="x_content">
|
||||
<p class="text-muted font-13 m-b-30"></p>
|
||||
|
@ -41,6 +41,22 @@
|
|||
</tbody>
|
||||
</table>
|
||||
</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>
|
||||
|
|
|
@ -48,11 +48,15 @@ def groups_list():
|
|||
# @login_required
|
||||
def external():
|
||||
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 render_template('pages/external.html', title="External", nav="External")
|
||||
|
||||
@app.route('/isard-sso-admin/external_users_list')
|
||||
# @login_required
|
||||
def external_list():
|
||||
return json.dumps(app.admin.get_external_users()), 200, {'Content-Type': 'application/json'}
|
||||
def external_users_list():
|
||||
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