| 
									
										
										
										
											2012-02-07 08:16:48 +00:00
										 |  |  | class ObjectAuth  < PrototypeAuth | 
					
						
							| 
									
										
										
										
											2012-02-16 05:57:28 +00:00
										 |  |  |   include OrbitCoreLib::ObjectTokenUnility | 
					
						
							| 
									
										
										
										
											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-05-14 04:34:15 +00:00
										 |  |  |   after_save :check_user_has_app_auth | 
					
						
							| 
									
										
										
										
											2012-02-07 08:16:48 +00:00
										 |  |  |   # > - Something.find_with_auth(query) | 
					
						
							|  |  |  |   # > - or Something.find(query).auth | 
					
						
							|  |  |  |   def auth_obj | 
					
						
							|  |  |  |     class_obj = eval(self.obj_authable_type) | 
					
						
							|  |  |  |     class_obj.find self.obj_authable_id | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-05-14 04:34:15 +00:00
										 |  |  |   def check_user_has_app_auth | 
					
						
							| 
									
										
										
										
											2012-05-15 10:55:16 +00:00
										 |  |  |     sub_managing_users = auth_obj.app_auth.sub_managing_users rescue [] | 
					
						
							| 
									
										
										
										
											2012-05-14 04:34:15 +00:00
										 |  |  |     app_auth =  auth_obj.app_auth | 
					
						
							|  |  |  |     self.auth_users.each do |auth_user| | 
					
						
							|  |  |  |       if !sub_managing_users.include? auth_user && !auth_user.admin? | 
					
						
							|  |  |  |          app_auth.assign_sub_manager(auth_user,User.current) | 
					
						
							|  |  |  |          app_auth.save! | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-02-07 08:16:48 +00:00
										 |  |  | end |