Class: Orange::UserResource

Inherits:
ModelResource show all
Defined in:
lib/orange-more/administration/resources/user_resource.rb

Instance Attribute Summary

Attributes inherited from ModelResource

#model_class

Instance Method Summary collapse

Methods inherited from ModelResource

#afterDelete, #afterNew, #afterSave, #beforeDelete, #beforeNew, #beforeSave, #create, #delete, #do_list_view, #do_view, #edit, #find_list, #find_one, #index, #list, #new, new, #onDelete, #save, #show, #table_row, use, #view, #view_opts

Methods inherited from RoutableResource

#routable, #route

Methods inherited from Resource

call_me, #do_view, #init, #initialize, #options, #orange, #orange_name, #routable, #set_orange, set_orange, #view, #view_opts

Methods included from ClassInheritableAttributes

#cattr_accessor, #cattr_reader, #cattr_writer, eval_in_accessor_module, fetch_value, store_value

Constructor Details

This class inherits a constructor from Orange::Resource

Instance Method Details

#access_allowed?(packet, user) ⇒ Boolean

Returns:

  • (Boolean)


9
10
11
12
13
# File 'lib/orange-more/administration/resources/user_resource.rb', line 9

def access_allowed?(packet, user)
  u = model_class.first(:open_id => user)
  return false unless u
  u.allowed?(packet)
end

#afterLoadObject



5
6
7
# File 'lib/orange-more/administration/resources/user_resource.rb', line 5

def afterLoad
  orange[:admin].add_link("Settings", :resource => @my_orange_name, :text => 'Users')
end

#find_extras(packet, mode) ⇒ Object



36
37
38
# File 'lib/orange-more/administration/resources/user_resource.rb', line 36

def find_extras(packet, mode)
  {:sites => OrangeSite.all}
end

#onNew(packet, opts = {}) ⇒ Object



19
20
21
22
23
24
25
26
# File 'lib/orange-more/administration/resources/user_resource.rb', line 19

def onNew(packet, opts = {})
  params = opts
  sites = params.delete 'sites'
  m = model_class.new(params)
  m.save
  sites.each{|k,v| s = OrangeSite.first(:id => k); m.orange_sites << s if s} if sites
  m
end

#onSave(packet, obj, params = {}) ⇒ Object



28
29
30
31
32
33
34
# File 'lib/orange-more/administration/resources/user_resource.rb', line 28

def onSave(packet, obj, params ={})
  sites = params.delete 'sites'
  obj.update(params)
  obj.orange_sites = []
  sites.each{|k,v| s = OrangeSite.first(:id => k); obj.orange_sites << s if s} if sites
  obj.save
end

#user_for(packet) ⇒ Object



15
16
17
# File 'lib/orange-more/administration/resources/user_resource.rb', line 15

def user_for(packet)
  model_class.first(:open_id => packet['user.id'])
end