| 
									
										
										
										
											2012-02-07 08:16:48 +00:00
										 |  |  | class ObjectAuth  < PrototypeAuth | 
					
						
							| 
									
										
										
										
											2012-12-03 10:52:36 +00:00
										 |  |  |   include OrbitCoreLib::ObjectTokenUtility | 
					
						
							| 
									
										
										
										
											2012-03-22 06:33:59 +00:00
										 |  |  |   validates_uniqueness_of :title ,:scope => [:obj_authable_type,:obj_authable_id]  #{ |c| } | 
					
						
							| 
									
										
										
										
											2012-02-07 08:16:48 +00:00
										 |  |  |   belongs_to :obj_authable, polymorphic: true | 
					
						
							| 
									
										
										
										
											2012-10-16 06:23:44 +00:00
										 |  |  |   after_save :check_user_has_can_access_app | 
					
						
							| 
									
										
										
										
											2012-02-07 08:16:48 +00:00
										 |  |  |   # > - Something.find_with_auth(query) | 
					
						
							|  |  |  |   # > - or Something.find(query).auth | 
					
						
							| 
									
										
										
										
											2012-10-04 10:20:21 +00:00
										 |  |  |   def siblings | 
					
						
							|  |  |  |     ObjectAuth.where({obj_authable_type: obj_authable_type,title: title}) | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-02-07 08:16:48 +00:00
										 |  |  |   def auth_obj | 
					
						
							|  |  |  |     class_obj = eval(self.obj_authable_type) | 
					
						
							|  |  |  |     class_obj.find self.obj_authable_id | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-10-16 06:23:44 +00:00
										 |  |  |   def check_user_has_can_access_app | 
					
						
							|  |  |  |     sub_managing_users = auth_obj.module_app.sub_managing_users rescue [] | 
					
						
							|  |  |  |     module_app =  auth_obj.module_app | 
					
						
							| 
									
										
										
										
											2012-05-14 04:34:15 +00:00
										 |  |  |     self.auth_users.each do |auth_user| | 
					
						
							|  |  |  |       if !sub_managing_users.include? auth_user && !auth_user.admin? | 
					
						
							| 
									
										
										
										
											2012-10-16 06:23:44 +00:00
										 |  |  |          module_app.assign_sub_manager(auth_user,User.current) | 
					
						
							|  |  |  |          module_app.save | 
					
						
							| 
									
										
										
										
											2012-05-14 04:34:15 +00:00
										 |  |  |       end | 
					
						
							|  |  |  |     end | 
					
						
							| 
									
										
										
										
											2012-10-16 06:23:44 +00:00
										 |  |  |      | 
					
						
							| 
									
										
										
										
											2012-05-14 04:34:15 +00:00
										 |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-02-07 08:16:48 +00:00
										 |  |  | end |