You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							90 lines
						
					
					
						
							2.6 KiB
						
					
					
				
			
		
		
	
	
							90 lines
						
					
					
						
							2.6 KiB
						
					
					
				| module Mobile
 | |
|   module Entities
 | |
|     class CourseDynamic < Grape::Entity
 | |
|       include Redmine::I18n
 | |
|       def self.course_dynamic_expose(field)
 | |
|         expose field do |c,opt|
 | |
|           # if field == :news_count
 | |
|           #   obj  =  nil
 | |
|           #   c[:dynamics].each do |d|
 | |
|           #     if d[:type] == 1
 | |
|           #       obj =  d[:count]
 | |
|           #     end
 | |
|           #   end
 | |
|           #   obj
 | |
|           # elsif field == :document_count
 | |
|           #   obj = nil
 | |
|           #   c[:dynamics].each do |d|
 | |
|           #     if d[:type] == 3
 | |
|           #       obj = d[:count]
 | |
|           #     end
 | |
|           #   end
 | |
|           #   obj
 | |
|           # elsif field == :topic_count
 | |
|           #   obj  =  nil
 | |
|           #   c[:dynamics].each do |d|
 | |
|           #     if d[:type] == 2
 | |
|           #       obj =  d[:count]
 | |
|           #     end
 | |
|           #   end
 | |
|           #   obj
 | |
|           # elsif field == :homework_count
 | |
|           #   obj  =  nil
 | |
|           #   c[:dynamics].each do |d|
 | |
|           #     if d[:type] == 4
 | |
|           #       obj =  d[:count]
 | |
|           #     end
 | |
|           #   end
 | |
|           #   obj
 | |
|           # else
 | |
|             c[field] if (c.is_a?(Hash) && c.key?(field))
 | |
|           # end
 | |
| 
 | |
|         end
 | |
|       end
 | |
|       course_dynamic_expose :course_name
 | |
|       course_dynamic_expose :course_term
 | |
|       course_dynamic_expose :course_time
 | |
|       course_dynamic_expose :course_id
 | |
|       course_dynamic_expose :course_img_url
 | |
|       course_dynamic_expose :message
 | |
|       course_dynamic_expose :news_count
 | |
|       course_dynamic_expose :document_count
 | |
|       course_dynamic_expose :topic_count
 | |
|       course_dynamic_expose :homework_count
 | |
|       course_dynamic_expose :course_student_num
 | |
|       course_dynamic_expose :time_from_now
 | |
|       course_dynamic_expose :current_user_is_member
 | |
|       course_dynamic_expose :current_user_is_teacher
 | |
| 
 | |
|       # expose :documents,using:Mobile::Entities::Attachment do |f,opt|
 | |
|       #   obj = nil
 | |
|       #   f[:dynamics].each do |d|
 | |
|       #     if d[:type] == 3
 | |
|       #       obj = d[:documents]
 | |
|       #     end
 | |
|       #   end
 | |
|       #   obj
 | |
|       # end
 | |
|       expose :topics,using:Mobile::Entities::Message do |f,opt|
 | |
|         f[:topics]
 | |
|       end
 | |
|       expose :homeworks,using:Mobile::Entities::Homework do |f,opt|
 | |
|         f[:homeworks]
 | |
|       end
 | |
| 
 | |
|       expose :news,using:Mobile::Entities::News do |f,opt|
 | |
|         f[:news]
 | |
|       end
 | |
| 
 | |
|       expose :better_students,using:Mobile::Entities::User do |f,opt|
 | |
|         f[:better_students]
 | |
|       end
 | |
| 
 | |
|       expose :active_students,using:Mobile::Entities::User do |f,opt|
 | |
|         f[:active_students]
 | |
|       end
 | |
| 
 | |
|     end
 | |
|   end
 | |
| end |