module Sinatra::UC3LdapRoutes
client specific routes
Public Class Methods
Source
# File app/lib/routes/ldap.rb, line 13 def self.registered(app) app.get '/ldap/users' do ldap = UC3Ldap::LDAPClient.client ldap.load adminui_show_table( AdminUI::Context.new(request.path, request.params), ldap.users_table ) end app.get '/ldap/users/*' do user = params[:splat][0] ldap = UC3Ldap::LDAPClient.client ldap.load roles = ldap.user_detail_records(user) adminui_show_table( AdminUI::Context.new(request.path, request.params), ldap.user_details_table(roles) ) end app.get '/ldap/collections/details/*' do coll = params[:splat][0] ldap = UC3Ldap::LDAPClient.client ldap.load roles = ldap.collection_detail_records(coll) adminui_show_table( AdminUI::Context.new(request.path, request.params), ldap.collection_details_table(coll, roles) ) end app.get '/ldap/collections/edit/*' do coll = params[:splat][0] ldap = UC3Ldap::LDAPClient.client ldap.load perms = ldap.collection_perm_records(coll) erb :colladmin_collection_roles, layout: :page_layout, locals: { context: AdminUI::Context.new(request.path, request.params), collection: coll, known_users: ldap.users.keys.join(','), perms: perms } end app.post '/ldap/collections/edit' do ldap = UC3Ldap::LDAPClient.client ldap.load coll = request.params.fetch('collection', '') ldap.apply_collection_role_changes( coll, { read: request.params.fetch('read', '').gsub(/\s*/, '').split(','), write: request.params.fetch('write', '').gsub(/\s*/, '').split(','), download: request.params.fetch('download', '').gsub(/\s*/, '').split(','), admin: request.params.fetch('admin', '').gsub(/\s*/, '').split(',') } ) redirect "/ldap/collections/details/#{coll}" end app.get '/ldap/collections' do ldap = UC3Ldap::LDAPClient.client ldap.load adminui_show_table( AdminUI::Context.new(request.path, request.params), ldap.collections_table ) end app.get '/ldap/collections-missing' do ldap = UC3Ldap::LDAPClient.client ldap.load adminui_show_table( AdminUI::Context.new(request.path, request.params), UC3Ldap::LDAPCollectionMapList.new(ldap).ldap_collection_map(request.path) ) end app.post '/ldap/create-collection-groups' do ldap = UC3Ldap::LDAPClient.client coll = ldap.create_collection_groups(request.body.read) content_type :json coll.to_json end end