41 lines
1.8 KiB
Ruby
41 lines
1.8 KiB
Ruby
module HomeworkAttachHelper
|
|
#判断是否具有删除的权限
|
|
def attach_delete(project)
|
|
if User.current.logged? && (User.current.admin? || (!Member.where('user_id = ? and project_id = ?', User.current.id, project.bid.courses.first.id).first.nil? && (Member.where('user_id = ? and project_id = ?', User.current.id, project.bid.courses.first.id).first.roles&Role.where('id = ? or id = ?', 3, 7)).size >0) || project.user_id == User.current.id)
|
|
true
|
|
else
|
|
false
|
|
end
|
|
end
|
|
#作业添加、编辑界面的tab页
|
|
def homework_settings_tabs f
|
|
@f = f
|
|
tabs = [{:name => 'info', :partial => 'homework_attach/edit_homework', :label => :label_information_plural},
|
|
{:name => 'members', :partial => 'homework_attach/homework_member', :label => :label_member_plural}
|
|
]
|
|
end
|
|
|
|
#作业可选成员列表分页
|
|
def render_new_members_for_homework members
|
|
#scope = Principal.active.sorted.not_member_of(project).like(params[:q])
|
|
#scope = project.members
|
|
principal_count = members.count
|
|
limit = 10
|
|
principal_pages = Redmine::Pagination::Paginator.new principal_count, limit, params['page'] #by young
|
|
offset ||= principal_pages.offset
|
|
principals = members[offset, limit]
|
|
s = content_tag('div', member_check_box_tags_ex('membership[user_ids][]', principals), :id => 'principals')
|
|
links = pagination_links_full(principal_pages, principal_count, :per_page_links => false,:remote => true)
|
|
|
|
s + content_tag('div', content_tag('ul', links), :class => 'pagination_new')
|
|
end
|
|
|
|
#扩展的checkbox生成
|
|
def member_check_box_tags_ex(name, principals)
|
|
s = ''
|
|
principals.each do |member|
|
|
s << "<label>#{ check_box_tag name, member.id, false, :id => nil } #{h member.user.name }</label>\n"
|
|
end
|
|
s.html_safe
|
|
end
|
|
end |