diff --git a/app/assets/javascripts/subfield_subdomain_dirs.js.coffee b/app/assets/javascripts/subfield_subdomain_dirs.js.coffee
new file mode 100644
index 000000000..761567942
--- /dev/null
+++ b/app/assets/javascripts/subfield_subdomain_dirs.js.coffee
@@ -0,0 +1,3 @@
+# Place all the behaviors and hooks related to the matching controller here.
+# All this logic will automatically be available in application.js.
+# You can use CoffeeScript in this file: http://jashkenas.github.com/coffee-script/
diff --git a/app/assets/stylesheets/subfield_subdomain_dirs.css.scss b/app/assets/stylesheets/subfield_subdomain_dirs.css.scss
new file mode 100644
index 000000000..6843d92f8
--- /dev/null
+++ b/app/assets/stylesheets/subfield_subdomain_dirs.css.scss
@@ -0,0 +1,3 @@
+// Place all the styles related to the subfield_subdomain_dirs controller here.
+// They will automatically be included in application.css.
+// You can use Sass (SCSS) here: http://sass-lang.com/
diff --git a/app/controllers/org_subfields_controller.rb b/app/controllers/org_subfields_controller.rb
index 3f781c4cc..465bf1208 100644
--- a/app/controllers/org_subfields_controller.rb
+++ b/app/controllers/org_subfields_controller.rb
@@ -1,4 +1,5 @@
class OrgSubfieldsController < ApplicationController
+ layout 'base_org'
def create
if OrgSubfield.where("organization_id=#{params[:organization_id]} and name=?",params[:name]).count == 0
@res = true
@@ -20,13 +21,12 @@ class OrgSubfieldsController < ApplicationController
def show
@organization = Organization.find(params[:id])
- @subfield = @organization.org_subfields.first
- if @subfield.field_type == 'Post'
- redirect_to organization_path(@organization, :org_subfield_id => @subfield.id)
- end
@org_subfield = OrgSubfield.find_by_sql("select distinct org_subfields.* from org_subfields,"+
"subfield_subdomain_dirs where org_subfields.id = subfield_subdomain_dirs.org_subfield_id and "+
- " org_subfields.organization_id=#{@organization.id} and subfield_subdomain_dirs.name=#{params[:name]}").first
+ " org_subfields.organization_id=#{@organization.id} and subfield_subdomain_dirs.name='#{params[:name]}'").first
+ if @org_subfield.field_type == 'Post'
+ redirect_to organization_path(@organization, :org_subfield_id => @org_subfield.id)
+ end
if params[:sort]
params[:sort].split(",").each do |sort_type|
order_by = sort_type.split(":")
@@ -74,17 +74,9 @@ class OrgSubfieldsController < ApplicationController
show_attachments @containers
@tag_list = attachment_tag_list @all_attachments
@page = params[:page] || 1
- render :layout => 'base_org'
- # @org_subfield = OrgSubfield.find(params[:id])
- # @organization = @org_subfield.organization.id
- # @messages = []
- # @messages << @org_subfield.org_document_comments
- # @messages << @org_subfield.messages
- # @messages.sort{|a, b| b.updated_at <=> a.updated_at}
- # respond_to do |format|
- # format.html{render :layout => 'base_org'}
- # end
+ #render :layout => 'base_org'
end
+
def destroy
@subfield = OrgSubfield.find(params[:id])
@organization = Organization.find(@subfield.organization_id)
@@ -97,4 +89,43 @@ class OrgSubfieldsController < ApplicationController
@subfield.update_attributes(:name => params[:name])
end
+ def update_sub_dir
+ @org_subfield = OrgSubfield.find(params[:id])
+ sql = "select subfield_subdomain_dirs.* from subfield_subdomain_dirs, org_subfields where subfield_subdomain_dirs.org_subfield_id = org_subfields.id "+
+ "and org_subfields.organization_id=#{@org_subfield.organization.id} and subfield_subdomain_dirs.name='#{params[:sub_dir_name]}'"
+ if SubfieldSubdomainDir.find_by_sql(sql).count == 0
+ if @org_subfield.subfield_subdomain_dir
+ @sub_dir = @org_subfield.subfield_subdomain_dir
+ @sub_dir.update_attribute(:name, params[:sub_dir_name])
+ else
+ @sub_dir = SubfieldSubdomainDir.create(:org_subfield_id => @org_subfield.id, :name => params[:sub_dir_name])
+ end
+ @exist = false
+ else
+ @exist = true
+ end
+ end
+
+ def show_attachments obj
+ @attachments = []
+ obj.each do |container|
+ @attachments += container.attachments
+ end
+ @all_attachments = User.current.admin? ? @attachments : visable_attachemnts(@attachments)
+ @limit = 10
+ @feedback_count = @all_attachments.count
+ @feedback_pages = Paginator.new @feedback_count, @limit, params['page']
+ @offset ||= @feedback_pages.offset
+ #@curse_attachments_all = @all_attachments[@offset, @limit]
+ @obj_attachments = paginateHelper @all_attachments,10
+ end
+
+ #获取指定资源列表的TAG的集合以及每个TAG的数量,降序排序
+ def attachment_tag_list attachments
+ tag_list = Hash.new
+ attachments.each do |attachment|
+ attachment.tag_list.map{|tag| tag_list.has_key?(tag) ? tag_list[tag] = tag_list[tag] + 1 : tag_list[tag] = 1}
+ end
+ tag_list.sort {|a,b| b[1]<=>a[1]}
+ end
end
diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb
index 31c70e92a..708fbf6cb 100644
--- a/app/controllers/projects_controller.rb
+++ b/app/controllers/projects_controller.rb
@@ -512,6 +512,14 @@ class ProjectsController < ApplicationController
def edit
end
+ def set_public_or_private
+ @project = Project.find(params[:id])
+ if @project.is_public?
+ @project.update_attribute(:is_public, 0)
+ else
+ @project.update_attribute(:is_public, 1)
+ end
+ end
# by young
# include CoursesHelper
def member
diff --git a/app/controllers/subfield_subdomain_dirs_controller.rb b/app/controllers/subfield_subdomain_dirs_controller.rb
new file mode 100644
index 000000000..90c6a7a92
--- /dev/null
+++ b/app/controllers/subfield_subdomain_dirs_controller.rb
@@ -0,0 +1,10 @@
+class SubfieldSubdomainDirsController < ApplicationController
+ def update
+ @org_subfield = OrgSubfield.find(params[:org_subfield_id])
+ if @org_subfield.subfield_subdomain_dir
+ @org_subfield.subfield_subdomain_dir.update_attribute(:name, :params[:sub_dir_name])
+ else
+ SubfieldSubdomainDir.create(:org_subfield_id => @org_subfield.id, :name => params[:sub_dir_name])
+ end
+ end
+end
diff --git a/app/helpers/subfield_subdomain_dirs_helper.rb b/app/helpers/subfield_subdomain_dirs_helper.rb
new file mode 100644
index 000000000..584de578c
--- /dev/null
+++ b/app/helpers/subfield_subdomain_dirs_helper.rb
@@ -0,0 +1,2 @@
+module SubfieldSubdomainDirsHelper
+end
diff --git a/app/models/org_subfield.rb b/app/models/org_subfield.rb
index 146323a32..b109ba042 100644
--- a/app/models/org_subfield.rb
+++ b/app/models/org_subfield.rb
@@ -1,6 +1,6 @@
class OrgSubfield < ActiveRecord::Base
belongs_to :organization, :foreign_key => :organization_id
- has_one :subfield_subdomain_dir
+ has_one :subfield_subdomain_dir,:dependent => :destroy
has_many :org_document_comments, :dependent => :destroy
has_many :files
has_many :org_subfield_messages, :dependent => :destroy
diff --git a/app/views/courses/private_or_public.js.erb b/app/views/courses/private_or_public.js.erb
index 71315e910..1ff81d4ae 100644
--- a/app/views/courses/private_or_public.js.erb
+++ b/app/views/courses/private_or_public.js.erb
@@ -1,8 +1,12 @@
-$("#project_info_<%=@course.id %>").html('<%=escape_javascript(render :partial=>'layouts/project_info') %>');
-if(document.getElementById("course_is_public")) {
- <% if @course.is_public == 0%>
- $("#course_is_public").attr("checked",false);
- <% elsif @course.is_public == 1 %>
- $("#course_is_public").attr("checked",true);
- <% end %>
-}
\ No newline at end of file
+<% if params[:user_page].nil? %>
+ $("#project_info_<%=@course.id %>").html('<%=escape_javascript(render :partial=>'layouts/project_info') %>');
+ if(document.getElementById("course_is_public")) {
+ <% if @course.is_public == 0%>
+ $("#course_is_public").attr("checked",false);
+ <% elsif @course.is_public == 1 %>
+ $("#course_is_public").attr("checked",true);
+ <% end %>
+ }
+<% else %>
+ location.reload();
+<% end %>
\ No newline at end of file
diff --git a/app/views/files/_subfield_files.html.erb b/app/views/files/_subfield_files.html.erb
index 15d7f4cff..1a222780e 100644
--- a/app/views/files/_subfield_files.html.erb
+++ b/app/views/files/_subfield_files.html.erb
@@ -11,58 +11,11 @@
}
});
}
- function show_upload(obj)
- {
- switch(obj)
- {
-// case 1:
-// $('#ajax-modal').html('<%#= escape_javascript(render :partial => 'upload_subfield_file',:locals => {:org_subfield => @org_subfield,:org_subfield_attachment_type => 1}) %>');
-// break;
- case 2:
- $('#ajax-modal').html('<%= escape_javascript(render :partial => 'upload_subfield_file',:locals => {:org_subfield => @org_subfield,:org_subfield_attachment_type => 2}) %>');
- break;
- case 3:
- $('#ajax-modal').html('<%= escape_javascript(render :partial => 'upload_subfield_file',:locals => {:org_subfield => @org_subfield,:org_subfield_attachment_type => 3}) %>');
- break;
- case 4:
- $('#ajax-modal').html('<%= escape_javascript(render :partial => 'upload_subfield_file',:locals => {:org_subfield => @org_subfield,:org_subfield_attachment_type => 4}) %>');
- break;
-// case 6:
-// $('#ajax-modal').html('<%#= escape_javascript(render :partial => 'upload_subfield_file',:locals => {:org_subfield => @org_subfield,:org_subfield_attachment_type => 6}) %>');
-// break;
- default:
- $('#ajax-modal').html('<%= escape_javascript(render :partial => 'upload_subfield_file',:locals => {:org_subfield => @org_subfield,:org_subfield_attachment_type => 5}) %>');
- }
- showModal('ajax-modal', '513px');
- $('#ajax-modal').siblings().remove();
- $('#ajax-modal').before("");
- $('#ajax-modal').parent().css("top","").css("left","");
- $('#ajax-modal').parent().addClass("popbox_polls");
- }
function closeModal()
{
hideModal($("#popbox_upload"));
}
-//
-// function presscss(id)
-// {
-// if(id == "inorg_subfield")
-// {
-// $('#inorg_subfield').attr("class", "re_schbtn b_dblue");
-// $('#insite').attr("class", "re_schbtn b_lblue");
-// }
-// else
-// {
-// $('#inorg_subfield').attr("class", "re_schbtn b_lblue");
-// $('#insite').attr("class", "re_schbtn b_dblue");
-// }
-// }
-// function buttoncss()
-// {
-// $('#inorg_subfield').attr("class", "re_schbtn b_lblue");
-// $('#insite').attr("class", "re_schbtn b_lblue");
-// }
共有 <%= @all_attachments.count %> 个资源
@@ -117,7 +70,7 @@