diff --git a/app/controllers/courses_controller.rb b/app/controllers/courses_controller.rb index 0a3c61c90..1a561006a 100644 --- a/app/controllers/courses_controller.rb +++ b/app/controllers/courses_controller.rb @@ -107,7 +107,7 @@ class CoursesController < ApplicationController courses = Course.visible @courses = paginateHelper courses,10 else - courses = Course.visible.where("LOWER(name) like '%#{params[:name].to_s.downcase}%'") + courses = Course.visible.where("LOWER(name) like '%#{params[:name].to_s.downcase}%'").order("time desc, created_at desc") @courses = paginateHelper courses,10 end @name = params[:name] diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 01b126c26..b6c4ec91b 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -615,6 +615,11 @@ module ApplicationHelper return rep.blank? ? true :false end + # 获取单一gitlab项目 + def gitlab_repository(project) + rep = Repository.where("project_id =? and type =?", project.id,"Repository::Gitlab" ).first + end + # 判断当前用户是否为项目管理员 def is_project_manager?(user_id, project_id) @result = false diff --git a/app/helpers/projects_helper.rb b/app/helpers/projects_helper.rb index 48766813c..51d1846d8 100644 --- a/app/helpers/projects_helper.rb +++ b/app/helpers/projects_helper.rb @@ -125,7 +125,7 @@ module ProjectsHelper # 获取新项目的版本库地址 def rep_gitlab_url(project) gitlab_address = Redmine::Configuration['gitlab_address'] - url = gitlab_address.to_s+"/"+project.owner.to_s+"/"+project.identifier+"."+"git" + url = gitlab_address.to_s+"/"+project.owner.to_s+"/"+ rep_gitlab(project).first.identifier+"."+"git" end # # 获取Forge历史版本库 diff --git a/app/views/members/update.js.erb b/app/views/members/update.js.erb index c5ef983e7..7c27e39fc 100644 --- a/app/views/members/update.js.erb +++ b/app/views/members/update.js.erb @@ -2,6 +2,8 @@ $('#pro_st_tbc_03').html('<%= escape_javascript(render :partial => 'projects/settings/new_members') %>'); <%elsif @course%> $('#course_members_setting').html('<%= escape_javascript(render :partial => 'courses/course_members') %>'); +$("#teacher_number").html("<%= searchTeacherAndAssistant(@course).count %>") +$("#student_number").html("<%= studentCount(@course) %>"); <%end%> hideOnLoad(); diff --git a/app/views/my/account.html.erb b/app/views/my/account.html.erb index 7e39ad5fa..be178607f 100644 --- a/app/views/my/account.html.erb +++ b/app/views/my/account.html.erb @@ -17,7 +17,7 @@ - <%=l(:lable_project_rep_create) %> - <%=l(:button_cancel)%> + <%=l(:lable_project_rep_create) %> + <%=l(:button_cancel)%> <% end %> @@ -64,7 +72,7 @@ <%= repository.identifier %> <%=h repository.scm_name %> <%if repository.scm_name=="Git"%> - <%=truncate( 'http://' << repository.login.to_s << '_'<< repository.identifier.to_s << '@'<< ip.to_s << h( repository.url.slice(project_path_cut, repository.url.length)),:length=>60) %> diff --git a/app/views/users/_user_homework_form.html.erb b/app/views/users/_user_homework_form.html.erb index e5fabee0c..c9be16521 100644 --- a/app/views/users/_user_homework_form.html.erb +++ b/app/views/users/_user_homework_form.html.erb @@ -18,13 +18,13 @@
<%= link_to("导入作业", user_import_homeworks_user_path(User.current.id,:select_course => defined?(select_course)),:class => "BlueCirBtn fl mr10",:remote => true) unless edit_mode%>
- - <%= calendar_for('homework_publish_time')%> -
-
<%= calendar_for('homework_end_time')%>
+
+ + <%= calendar_for('homework_publish_time')%> +

diff --git a/app/views/users/user_resource.html.erb b/app/views/users/user_resource.html.erb index f6bb3c8cb..5c6339e59 100644 --- a/app/views/users/user_resource.html.erb +++ b/app/views/users/user_resource.html.erb @@ -145,6 +145,7 @@ var id; //资源id var sendType; //发送到课程 1 发送到项目 2 var lastSendType; //保存上次发送的发送类型 + var last_op $("#resources_list").mousedown(function(e) { //如果是右键的话 if (3 == e.which) { @@ -179,6 +180,28 @@ last_line = line; } }); + + //鼠标经过时,背景颜色设为灰色 + $("#resources_list").mouseover(function(e){ + pageX = e.clientX; + pageY = e.clientY; + var ele = document.elementFromPoint(pageX,pageY); + line = $(ele).parent(); + if(last_op != null){ + last_op.children().css("background-color", 'white'); + restore(); + last_op == null; + } + //如果当前的tag是li,那么还要li的父级元素 + if(line.get(0).tagName === 'LI'){ + line = line.parent(); + } + //将当前的元素的所有子元素的背景色改为蓝色 + line.children().css("background-color", '#e1e1e1'); + //将当前元素赋给 上一个对象 保存起来。 + last_op = line; + }); + //元素包含关系计算 var contains = function(root, el) { if (root.compareDocumentPosition) diff --git a/db/migrate/20151102083844_drop_organization.rb b/db/migrate/20151102083844_drop_organization.rb new file mode 100644 index 000000000..1abb0f6d9 --- /dev/null +++ b/db/migrate/20151102083844_drop_organization.rb @@ -0,0 +1,8 @@ +class DropOrganization < ActiveRecord::Migration + def up + drop_table :organizations + end + + def down + end +end diff --git a/db/migrate/20151102084419_create_organization.rb b/db/migrate/20151102084419_create_organization.rb new file mode 100644 index 000000000..af84ebee9 --- /dev/null +++ b/db/migrate/20151102084419_create_organization.rb @@ -0,0 +1,18 @@ +class CreateOrganization < ActiveRecord::Migration + def up + create_table :organizations do |t| + t.string :name + t.text :description + t.integer :creator_id + t.integer :home_id + t.string :domain + t.boolean :is_public + + t.timestamps + end + end + + def down + drop_table :organizations + end +end diff --git a/db/migrate/20151102090519_create_org_members.rb b/db/migrate/20151102090519_create_org_members.rb new file mode 100644 index 000000000..037d8a3c6 --- /dev/null +++ b/db/migrate/20151102090519_create_org_members.rb @@ -0,0 +1,14 @@ +class CreateOrgMembers < ActiveRecord::Migration + def up + create_table :org_members do |t| + t.integer :user_id + t.integer :organization_id + t.string :role + + end + end + + def down + drop_table :org_members + end +end diff --git a/lib/tasks/update_rep_if_fault.rake b/lib/tasks/update_rep_if_fault.rake index 7bcf63c4c..1c1f5a36e 100644 --- a/lib/tasks/update_rep_if_fault.rake +++ b/lib/tasks/update_rep_if_fault.rake @@ -7,16 +7,17 @@ namespace :rep_fault do if project.repositories.count > 0 unless Repository.where("project_id =? and type = ?",project, "Repository::Gitlab").blank? project.repositories.each do |repository| - repository.update_attributes(:is_default => false) + repository.is_default =1 + repository.save end end end end end - desc "update ossean's data" - task :update_type => :environment do - repository = Repository.find(400) - repository.update_attributes(:type => "Repository::Git") - end + # desc "update ossean's data" + # task :update_type => :environment do + # repository = Repository.find(400) + # repository.update_attributes(:type => "Repository::Git") + # end end \ No newline at end of file diff --git a/public/javascripts/project.js b/public/javascripts/project.js index 5ba7c7145..9344434eb 100644 --- a/public/javascripts/project.js +++ b/public/javascripts/project.js @@ -517,6 +517,11 @@ function jsCopy(){ e.select(); document.execCommand("Copy"); } +function jsCopy2(){ + var e=document.getElementById("copy_rep_content2"); + e.select(); + document.execCommand("Copy"); +} function zip(){ alert("该功能正在紧张的开发中,我们会争取在最短时间内上线,如若对您工作造成不便敬请谅解!") diff --git a/public/stylesheets/public.css b/public/stylesheets/public.css index 0c4479907..49b2906aa 100644 --- a/public/stylesheets/public.css +++ b/public/stylesheets/public.css @@ -117,6 +117,7 @@ h4{ font-size:14px; color:#3b3b3b;} .mb10{ margin-bottom:10px !important;} .mb20{ margin-bottom:20px;} .pl15{ padding-left:15px;} +.pl5{ padding-left:5px;} .pt5{ padding-top:5px;} .pt10{ padding-top:10px;} .pb5{ padding-bottom: 5px;}