class PersonTabs
Public Instance Methods
layout()
click to toggle source
# File Views/Person/Tabs.rb, line 2 def layout @order = 10 @update = true @persons_total = Persons.data.count gui_vbox :nogroup do show_str :search show_list_single :persons, '[]', :flexheight => 1, :callback => true show_button :start_search, :delete, :add gui_window :add_person do show_str :complete_name, :width => 150 show_str :login_prop #show_block :address show_button :add_person, :close end gui_window :error do show_html :info show_button :close end gui_window :win_confirm_delete do show_html :delete_txt show_button :confirm_delete, :close end end end
rpc_autofill(session, args)
click to toggle source
# File Views/Person/Tabs.rb, line 121 def rpc_autofill(session, args) ret = [] if args['persons'] and args['persons'].length > 0 p = Persons.match_by_login_name(args['persons'][0]) if args['search'] ret += rpc_callback_search(session, args, false) else ret += reply(:update, :persons => [p.to_list(session.owner)]) + reply(:update, :search => p.login_name) end ret += reply(:update, :persons => [p.login_name]) elsif args['search'] ret += rpc_callback_search(session, args) end ret end
rpc_callback_search(session, data, do_list_choice = true)
click to toggle source
# File Views/Person/Tabs.rb, line 94 def rpc_callback_search(session, data, do_list_choice = true) dputs(3) { "Got data: #{data.inspect}" } s = data._search center = session.owner.permissions.index('center') ? session.owner.login_name : nil result = Persons.search_in(s, center: center) ret = reply(:empty, :persons) if result.length > 0 ret += reply(:update, :persons => result.collect { |p| p.to_list(session.owner) }, :search => s) if do_list_choice ret += reply(:update, :persons => [result[0].login_name]) end else ret += reply(:fade_in, :parent) + reply(:child, reply(:empty_nonlists)) end ret + reply(:focus, :search) end
rpc_list_choice(session, name, args)
click to toggle source
# File Views/Person/Tabs.rb, line 82 def rpc_list_choice(session, name, args) dputs(3) { "args is #{args.inspect}" } dputs(3) { "New choice #{name} - #{args['persons']}" } if name == 'persons' and args and args['persons'] reply(:pass_tabs, ['list_choice', name, {:persons => [args._persons]}]) + reply(:fade_in, :parent_child) else [] end end
rpc_update(session)
click to toggle source
Calls superclass method
# File Views/Person/Tabs.rb, line 31 def rpc_update(session) super(session) #+ rpc_callback_search(session, {}, false) end
rpc_update_view(session, args = nil)
click to toggle source
Calls superclass method
# File Views/Person/Tabs.rb, line 72 def rpc_update_view(session, args = nil) login_prop = session.can_view(:FlagAdminLoginProp) ? :unhide : :hide super(session, args) + reply(:focus, :search) + reply(session.can_view(:FlagPersonDelete) ? :unhide : :hide, :delete) + reply(session.can_view(:FlagPersonAdd) ? :unhide : :hide, :add) + reply(login_prop, :login_prop) + reply(:fade_in, :parent) end