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.
		
		
		
		
		
			
		
			
				
					
					
						
							130 lines
						
					
					
						
							4.1 KiB
						
					
					
				
			
		
		
	
	
							130 lines
						
					
					
						
							4.1 KiB
						
					
					
				| # encoding: utf-8
 | |
| module OrganizationsHelper
 | |
|   include ApplicationHelper
 | |
|   include FilesHelper
 | |
| 
 | |
| 
 | |
|   def find_user_not_in_current_org_by_name org
 | |
|       if params[:q] && params[:q].lstrip.rstrip != ""
 | |
|         scope = Principal.active.sorted.not_member_of_org(org).like(params[:q])
 | |
|       else
 | |
|         scope = []
 | |
|       end
 | |
|       principals = paginateHelper scope,10
 | |
|       s = content_tag('ul', project_member_check_box_tags_ex('membership[user_ids][]', principals), :class => 'mb5', :id => 'principals')
 | |
|       links = pagination_links_full(@obj_pages, @obj_count, :per_page_links => false, :remote => false, :flag => true){|text, parameters, options|
 | |
|         link_to text, org_member_autocomplete_org_member_index_path( parameters.merge(:q => params[:q],:flag => true,:org=>org, :format => 'js')), :remote => true
 | |
|       }
 | |
|       s + content_tag('ul', links,:class => 'wlist',:style=>'float:left !important', :id => "org_member_pagination_links" )
 | |
|   end
 | |
| 
 | |
|   def get_default_name field
 | |
|     case field.name
 | |
|       when 'activity' then
 | |
|         return '动态'
 | |
|       when 'course' then
 | |
|         return '课程'
 | |
|       when 'project' then
 | |
|         return '项目'
 | |
|     end
 | |
|   end
 | |
| 
 | |
|   def get_message_org(org_id, field_id)
 | |
|     OrgDocumentComment.find_by_sql("SELECT * FROM org_document_comments where organization_id = #{org_id} and org_subfield_id = #{field_id} and parent_id is null order by updated_at desc limit 8;")
 | |
|   end
 | |
| 
 | |
|   def get_message_reply_org(org_id, ids)
 | |
|     # OrgDocumentComment.find_by_sql("SELECT * FROM org_document_comments where organization_id = #{org_id} and parent_id is not null order by updated_at desc limit 1;")
 | |
|     OrgDocumentComment.find_by_sql("SELECT * FROM org_document_comments where organization_id = #{org_id} and parent_id in (#{ids}) order by updated_at desc limit 1;")
 | |
|   end
 | |
| 
 | |
|   def get_attach_org(field_id)
 | |
|     Attachment.find_by_sql("SELECT * FROM `attachments` where container_id =#{field_id} and container_type = 'OrgSubfield' and is_public =1 order by created_on limit 6;")
 | |
|   end
 | |
| 
 | |
|   def get_attach_org2(field)
 | |
|     org_attachments = field.attachments
 | |
|     attachments = User.current.admin? ? org_attachments : visable_attachemnts(org_attachments)
 | |
|     return attachments.sort_by{|x| x.created_on}.reverse.first(6)
 | |
|     # Attachment.find_by_sql("SELECT * FROM `attachments` where container_id =#{field_id} and container_type = 'OrgSubfield' and is_public =1 order by created_on limit 6;")
 | |
|   end
 | |
| 
 | |
|   # 从内容中获取路径
 | |
|   def get_image_path_from_content content
 | |
|     r = Regexp.new(/src="\/files\/uploads\/image(.+?)"/)
 | |
|     if r.match(content).nil?
 | |
|       image_path = nil
 | |
|     else
 | |
|       image_path = r.match(content)[1]
 | |
|     end
 | |
|   end
 | |
| 
 | |
|   #排列下拉框
 | |
|   def subfield_status_option
 | |
|     type = []
 | |
|     option1 = []
 | |
|     option1 << "左上"
 | |
|     option1 << "1"
 | |
|     type << option1
 | |
|     option2 = []
 | |
|     option2 << "中一"
 | |
|     option2 << "2"
 | |
|     type << option2
 | |
|     option3 = []
 | |
|     option3 << "中二"
 | |
|     option3 << "3"
 | |
|     type << option3
 | |
|     option4 = []
 | |
|     option4 << "中下"
 | |
|     option4 << "4"
 | |
|     type << option4
 | |
|     option5 = []
 | |
|     option5 << "左下"
 | |
|     option5 << "5"
 | |
|     type << option5
 | |
|     option6 = []
 | |
|     option6 << "右上"
 | |
|     option6 << "6"
 | |
|     type << option6
 | |
|     option7 = []
 | |
|     option7 << "右中"
 | |
|     option7 << "7"
 | |
|     type << option7
 | |
|     option8 = []
 | |
|     option8 << "右下"
 | |
|     option8 << "8"
 | |
|     type << option8
 | |
|     type
 | |
|   end
 | |
| 
 | |
|   def subfield_list_type subfield
 | |
|     case subfield.to_i
 | |
|       when 1
 | |
|         resulet = "左上"
 | |
|       when 2
 | |
|         resulet = "中一"
 | |
|       when 3
 | |
|         resulet = "中二"
 | |
|       when 4
 | |
|         resulet = "中下"
 | |
|       when 5
 | |
|         resulet = "左下"
 | |
|       when 6
 | |
|         resulet = "右上"
 | |
|       when 7
 | |
|         resulet = "右中"
 | |
|       when 8
 | |
|         resulet = "右下"
 | |
|     end
 | |
|   end
 | |
| 
 | |
| 
 | |
|   def get_subfield_acts field
 | |
|     org_subfield = OrgSubfield.find(field.id)
 | |
|     org_subfield_ids = org_subfield.org_document_comments.map(&:id) << 0
 | |
|     org_acts = OrgActivity.where("(org_act_type='OrgDocumentComment'and org_act_id in (#{org_subfield_ids.join(",")})) || (container_type='OrgSubfield' and container_id=#{org_subfield.id})").order('updated_at desc')
 | |
|     org_acts
 | |
|   end
 | |
| 
 | |
| end
 |