diff --git a/app/controllers/organizations_controller.rb b/app/controllers/organizations_controller.rb index 25d0783fb..0356bd48c 100644 --- a/app/controllers/organizations_controller.rb +++ b/app/controllers/organizations_controller.rb @@ -1,6 +1,6 @@ # encoding: utf-8 class OrganizationsController < ApplicationController - before_filter :find_organization, :only => [:show] + before_filter :find_organization, :only => [:show, :members] layout 'base_org' def index @@ -25,7 +25,7 @@ class OrganizationsController < ApplicationController end def show - if User.current.admin? || User.current.member_of_org?(@organization) + if @organization.is_public? || User.current.admin? || User.current.member_of_org?(@organization) @organization = Organization.find(params[:id]) @activities = OrgActivity.where('(org_act_id = ? and org_act_type = ?) || (container_id =? and org_act_type =? and org_act_id !=?)', @organization.id, 'CreateOrganization ', @organization.id, 'OrgDocumentComment', @organization.home_id).order('updated_at desc') @@ -50,6 +50,7 @@ class OrganizationsController < ApplicationController def check_uniq @check = false; + @org_name = params[:org_name].strip @config_page = params[:config_page] sameName = @config_page ? Organization.where('name = ? and id != ?',params[:org_name],params[:org_id].to_i).count == 0 : Organization.where('name = ?',params[:org_name]).count == 0 if sameName == true @@ -91,4 +92,8 @@ class OrganizationsController < ApplicationController format.js end end + + def members + @members = OrgMember.where("organization_id =?", @organization.id) + end end diff --git a/app/models/org_member.rb b/app/models/org_member.rb index 091c20f22..a1c61f99d 100644 --- a/app/models/org_member.rb +++ b/app/models/org_member.rb @@ -1,6 +1,7 @@ class OrgMember < ActiveRecord::Base attr_accessible :organization_id, :role, :user_id belongs_to :organization + belongs_to :user has_many :roles ,:through => :org_member_roles,:foreign_key => 'role_id' has_many :org_member_roles,:dependent => :destroy diff --git a/app/models/user.rb b/app/models/user.rb index 740523707..79175f42e 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -97,6 +97,7 @@ class User < Principal has_many :org_document_comments, :dependent =>:destroy has_one :api_token, :class_name => 'Token', :conditions => "action='api'" belongs_to :auth_source + has_many :org_members belongs_to :ucourse, :class_name => 'Course', :foreign_key => :id #huang ## added by xianbo for delete # has_many :biding_projects, :dependent => :destroy diff --git a/app/views/layouts/_logined_header.html.erb b/app/views/layouts/_logined_header.html.erb index c750ff3b5..ffda9c559 100644 --- a/app/views/layouts/_logined_header.html.erb +++ b/app/views/layouts/_logined_header.html.erb @@ -86,6 +86,9 @@
  • <%= link_to "修改资料", my_account_path, :class => "menuGrey"%>
  • +
  • + <%= link_to "新建组织", new_organization_path, :class => "menuGrey"%> +
  • <%= link_to "退出",signout_path,:class => "menuGrey",:method => "post"%> diff --git a/app/views/layouts/base_org.html.erb b/app/views/layouts/base_org.html.erb index ef65bf8b2..6209ad260 100644 --- a/app/views/layouts/base_org.html.erb +++ b/app/views/layouts/base_org.html.erb @@ -55,13 +55,16 @@
    - <%= link_to '文章', organization_org_document_comments_path(@organization) %> (  + <%= link_to '文章', organization_org_document_comments_path(@organization) %> ( <%= link_to OrgDocumentComment.where("organization_id =? and parent_id is null", @organization.id).count, organization_org_document_comments_path(@organization), :class => "linkBlue" %> -  ) | 成员 ( <%= @organization.org_members.count %>  ) + ) |  + <%= link_to '成员', members_organization_path(@organization.id ) %> (<%= @organization.org_members.count %> )
    - +
    + <%= link_to "动态",organization_path(@organization), :class => "homepageMenuText" %> +
      diff --git a/app/views/org_document_comments/_new.html.erb b/app/views/org_document_comments/_new.html.erb index 91bcad2a9..6c4934f1b 100644 --- a/app/views/org_document_comments/_new.html.erb +++ b/app/views/org_document_comments/_new.html.erb @@ -1,14 +1,24 @@ <%= javascript_include_tag "/assets/kindeditor/kindeditor",'/assets/kindeditor/pasteimg'%> @@ -30,7 +40,7 @@
      - 确定 + 确定 取消
      diff --git a/app/views/organizations/_org_members.html.erb b/app/views/organizations/_org_members.html.erb new file mode 100644 index 000000000..8f80b2997 --- /dev/null +++ b/app/views/organizations/_org_members.html.erb @@ -0,0 +1,26 @@ +<%= stylesheet_link_tag 'courses' %> +
      +

      组织成员

      +
      +
      +
      +
      + + <% members.each do |member| %> +
      + + <%= member.user.nil? ? '' : (image_tag(url_to_avatar(member.user), :width => 32, :height => 32)) %> + + <%= l(:label_username)%> + <%= link_to(member.user.show_name, user_path(member.user),:class => "ml10 c_blue02") %> + <%= member.user.admin_of_org?(organization)?"组织管理员":"组织成员" %> +
      +
      + <% end%> + +
        + <%#= pagination_links_full @obj_pages, @obj_count, :per_page_links => false, :remote => false, :flag => true%> +
      +
      +
      +
      \ No newline at end of file diff --git a/app/views/organizations/_show_org_document.html.erb b/app/views/organizations/_show_org_document.html.erb index 72b7e00dc..21e16549c 100644 --- a/app/views/organizations/_show_org_document.html.erb +++ b/app/views/organizations/_show_org_document.html.erb @@ -16,28 +16,32 @@ <%= document.content.html_safe %>
      <% end %> -
      -
        -
      • -
          -
        • - <%= form_for('new_form',:url => {:controller => 'organizations',:action => 'set_homepage',:id => document.organization_id, :home_id => document.id},:method => "put",:remote => true) do |f|%> - 设为首页 - <% end %> -
        • -
        • - <%= link_to "编辑文章", edit_org_document_comment_path(:id => document.id, :organization_id => document.organization_id), :class => "postOptionLink" %> -
        • -
        • - <%= link_to "删除文章", org_document_comment_path(:id => document.id, :organization_id => document.organization_id), :method => 'delete',:remote => true, :class => 'postOptionLink' %> + <% if User.current.admin? || User.current.admin_of_org?(Organization.find(document.organization_id) || User.current.id == document.creator_id) %> +
          +
            +
          • +
              +
            • + <%= form_for('new_form',:url => {:controller => 'organizations',:action => 'set_homepage',:id => document.organization_id, :home_id => document.id},:method => "put",:remote => true) do |f|%> + 设为首页 + <% end %> +
            • +
            • + <%= link_to "编辑文章", edit_org_document_comment_path(:id => document.id, :organization_id => document.organization_id), :class => "postOptionLink" %> +
            • +
            • + <%= link_to "删除文章", org_document_comment_path(:id => document.id, :organization_id => document.organization_id), :method => 'delete', + :data => {:confirm => l(:text_are_you_sure)}, + :remote => true, :class => 'postOptionLink' %> +
            • +
          -
        • -
        -
      -
    -
    -
    + + +
    + + <% end %> <% comments_for_doc = document.children.reorder("created_at desc") %> <% count = document.children.count() %> diff --git a/app/views/organizations/check_uniq.js.erb b/app/views/organizations/check_uniq.js.erb index 2d295c4d1..f38578025 100644 --- a/app/views/organizations/check_uniq.js.erb +++ b/app/views/organizations/check_uniq.js.erb @@ -1,18 +1,22 @@ -<%if @check == false %> - $checkName = false - <% if @config_page%> - $("#check_name_hint").html('名字不能重复').show(); - <% else%> - $("#organization_name_notice").html('名字不能重复').show(); +<% if !@org_name.blank? %> + <%if @check == false %> + $checkName = false + <% if @config_page%> + $("#check_name_hint").html('名字不能重复').show(); + <% else%> + $("#organization_name_notice").html('名字不能重复').show(); - <%end%> + <%end%> -<% else %> - $checkName = true; - <% if @config_page%> - $("#check_name_hint").html('名字可以使用').show(); - <% else%> + <% else %> + $checkName = true; + <% if @config_page%> + $("#check_name_hint").html('名字可以使用').show(); + <% else%> - $("#organization_name_notice").html('名字可以使用').show(); + $("#organization_name_notice").html('名字可以使用').show(); + <%end%> <%end%> -<%end%> \ No newline at end of file +<% else %> +$("#check_name_hint").html('名字不能为空').show(); +<% end %> \ No newline at end of file diff --git a/app/views/organizations/members.html.erb b/app/views/organizations/members.html.erb new file mode 100644 index 000000000..91e80b232 --- /dev/null +++ b/app/views/organizations/members.html.erb @@ -0,0 +1 @@ +<%= render :partial => 'org_members', :locals => {:members => @members, :organization => @organization} %> \ No newline at end of file diff --git a/app/views/organizations/new.html.erb b/app/views/organizations/new.html.erb index 2496ac133..08311d51b 100644 --- a/app/views/organizations/new.html.erb +++ b/app/views/organizations/new.html.erb @@ -48,8 +48,8 @@