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 %> )
+
+
+
+ <% 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 @@