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"); -// }
@@ -97,7 +50,7 @@
- <%= render :partial => "files/subfield_tags", :locals => {:tag_list => @tag_list,:org_subfield => @org_subfield,:tag_name => @tag_name}%> + <%#= render :partial => "files/subfield_tags", :locals => {:tag_list => @tag_list,:org_subfield => @org_subfield,:tag_name => @tag_name}%>

共有 <%= @all_attachments.count %> 个资源

@@ -117,7 +70,7 @@
- <%= render :partial => 'org_subfield_list',:locals => {org_subfield: @org_subfield,all_attachments: @all_attachments,sort:@sort,order:@order,org_subfield_attachments:@obj_attachments} %> + <%= render :partial => 'files/org_subfield_list',:locals => {org_subfield: @org_subfield,all_attachments: @all_attachments,sort:@sort,order:@order,org_subfield_attachments:@obj_attachments} %>
diff --git a/app/views/layouts/_user_courses.html.erb b/app/views/layouts/_user_courses.html.erb index a8a56b3c5..3d60a2727 100644 --- a/app/views/layouts/_user_courses.html.erb +++ b/app/views/layouts/_user_courses.html.erb @@ -1,7 +1,7 @@ <% courses.each do |course|%>
  • <%= link_to course.name, course_path(course.id,:host=>Setting.host_course), :class => "coursesLineGrey hidden #{course_endTime_timeout?(course) ? 'c_dark_grey' : ''}", - :title => (course.is_public ? "公有课程:":"私有课程:")+course.name+"("+course.time.to_s+course.term+")"%> + :title => (course.is_public? ? "公开课程:":"私有课程:")+course.name+"("+course.time.to_s+course.term+")"%> <% count = ShieldActivity.where("container_type='User' and container_id=#{user.id} and shield_type='Course' and shield_id=#{course.id}").count %>