diff --git a/app/controllers/repositories_controller.rb b/app/controllers/repositories_controller.rb
index 4cec85833..8a1b3bbe0 100644
--- a/app/controllers/repositories_controller.rb
+++ b/app/controllers/repositories_controller.rb
@@ -125,20 +125,8 @@ update
@repository.type = 'Repository::Gitlab'
@repository.url = @repository.identifier
if request.post? && @repository.save
- g = ::Gitlab.client
- gid = @project.owner.gid
- gproject = g.create_project(@repository.identifier,
- path: @repository.identifier,
- description: @project.description,
- wiki_enabled: false,
- wall_enabled: false,
- issues_enabled: false,
- snippets_enabled: false,
- public: false,
- user_id: gid
- )
- @project.gpid = gproject.id
- @project.save!
+ s = Trustie::Gitlab::Sync.new
+ s.create_project(@project, @repository)
redirect_to settings_project_url(@project, :tab => 'repositories')
else
redirect_to settings_project_url(@project, :tab => 'repositories',:repository_error_message=>@repository.errors.full_messages)
diff --git a/app/models/user.rb b/app/models/user.rb
index e68fc7d8e..edc29c015 100644
--- a/app/models/user.rb
+++ b/app/models/user.rb
@@ -209,7 +209,7 @@ class User < Principal
validates_inclusion_of :mail_notification, :in => MAIL_NOTIFICATION_OPTIONS.collect(&:first), :allow_blank => true
validate :validate_password_length
# validates_email_realness_of :mail
- before_create :set_mail_notification, :sync_gitlab_user
+ before_create :set_mail_notification
before_save :update_hashed_password
before_destroy :remove_references_before_destroy
# added by fq
@@ -218,6 +218,8 @@ class User < Principal
# 更新邮箱用户或用户名的同事,同步更新邀请信息
after_update :update_invite_list
+ include Trustie::Gitlab::ManageUser
+
scope :in_group, lambda {|group|
group_id = group.is_a?(Group) ? group.id : group.to_i
where("#{User.table_name}.id IN (SELECT gu.user_id FROM #{table_name_prefix}groups_users#{table_name_suffix} gu WHERE gu.group_id = ?)", group_id)
diff --git a/app/views/courses/syllabus.html.erb b/app/views/courses/syllabus.html.erb
index 18f5817b0..bf6980dd2 100644
--- a/app/views/courses/syllabus.html.erb
+++ b/app/views/courses/syllabus.html.erb
@@ -58,7 +58,7 @@
'取消大纲',
{:controller => 'blog_comments',:action => 'destroy',:user_id=>BlogComment.find(@course.outline).author_id,:blog_id=>BlogComment.find(@course.outline).blog_id, :id => @course.outline,:course_id=>@course.id},
:method => :delete,
- :data => {:confirm => l(:text_are_you_sure)},
+ :data => {:confirm => '确定取消么'},
:class => 'postOptionLink'
) if User.current && User.current.id == @article.author.id %>
diff --git a/app/views/layouts/_new_feedback.html.erb b/app/views/layouts/_new_feedback.html.erb
index 8814d1043..0ef55d278 100644
--- a/app/views/layouts/_new_feedback.html.erb
+++ b/app/views/layouts/_new_feedback.html.erb
@@ -25,7 +25,7 @@
<%#= l(:label_technical_support) %>
-
+
请加入:师姐答疑群
diff --git a/app/views/layouts/new_base_user.html.erb b/app/views/layouts/new_base_user.html.erb
index 7b951f152..1eddeb517 100644
--- a/app/views/layouts/new_base_user.html.erb
+++ b/app/views/layouts/new_base_user.html.erb
@@ -46,7 +46,7 @@
<% end %>
+ <% if homework_common.homework_detail_manual.comment_status == 0 %>
+
+ <%= l(:label_publish_time)%>:<%= homework_common.publish_time%>
+
+ <% end %>
<%= l(:label_end_time)%>:<%= homework_common.end_time%>
diff --git a/config/locales/zh.yml b/config/locales/zh.yml
index a7274c3c2..12c1b9258 100644
--- a/config/locales/zh.yml
+++ b/config/locales/zh.yml
@@ -2024,6 +2024,7 @@ zh:
label_creat: 创建
#api end
+ label_publish_time: 发布时间
label_end_time: 截止时间
label_send_email: 确定发送
label_input_email: 请输入邮箱地址(必填)
diff --git a/lib/gitlab-cli/lib/gitlab/client/users.rb b/lib/gitlab-cli/lib/gitlab/client/users.rb
index 3fc83cd1b..37bfc0d74 100644
--- a/lib/gitlab-cli/lib/gitlab/client/users.rb
+++ b/lib/gitlab-cli/lib/gitlab/client/users.rb
@@ -60,6 +60,11 @@ class Gitlab::Client
put("/users/#{user_id}", :body => options)
end
+
+ def delete_user(user_id)
+ delete("/users/#{user_id}")
+ end
+
# Creates a new user session.
#
# @example
diff --git a/lib/trustie/gitlab/helper.rb b/lib/trustie/gitlab/helper.rb
index 5ea4c13e1..57c333875 100644
--- a/lib/trustie/gitlab/helper.rb
+++ b/lib/trustie/gitlab/helper.rb
@@ -4,15 +4,26 @@ module Trustie
module Gitlab
module Helper
def change_password(uid, en_pwd, salt)
+ return unless uid
options = {:encrypted_password=>en_pwd, :password_salt=>salt}
self.g.put("/users/ext/#{uid}", :body => options)
# g.edit_user(uid, :encrypted_password=>en_pwd, :password_salt=>salt)
end
+ def find_user(user)
+ us = self.g.get("/users?search=#{user.mail}")
+ if Array === us
+ us.each do |u|
+ return u if u.email == user.mail
+ end
+ end
+ return nil
+ end
+
def add_user(user)
u = nil
begin
- u = self.g.get("/users?search=#{user.mail}").first
+ u = find_user(user)
unless u
u = self.g.create_user(user.mail,
user.hashed_password,
@@ -29,7 +40,8 @@ module Trustie
end
def del_user(user)
- ## gitlab unimplement
+ return unless user.gid
+ self.g.delete_user(user.gid)
end
end
diff --git a/lib/trustie/gitlab/manage_user.rb b/lib/trustie/gitlab/manage_user.rb
index 76528739c..a87984490 100644
--- a/lib/trustie/gitlab/manage_user.rb
+++ b/lib/trustie/gitlab/manage_user.rb
@@ -9,8 +9,8 @@ module Trustie
def self.included(base)
base.class_eval {
- before_create :add_gitlab_user
- before_destroy :delete_gitlab_user
+ #before_create :add_gitlab_user
+ #before_destroy :delete_gitlab_user
before_save :change_gitlab_user
}
end
@@ -27,7 +27,6 @@ module Trustie
change_password(self.gid, self.hashed_password, self.salt)
end
- private
def g
@g ||= ::Gitlab.client
end
diff --git a/lib/trustie/gitlab/sync.rb b/lib/trustie/gitlab/sync.rb
index ae1cded6c..3a8e8380c 100644
--- a/lib/trustie/gitlab/sync.rb
+++ b/lib/trustie/gitlab/sync.rb
@@ -26,10 +26,37 @@ module Trustie
user.mail_notification = "day"
end
user.save!
+ u
+ end
+
+
+ def create_project(project, repository)
+ gid = project.owner.gid
+ unless gid
+ gid = sync_user(project.owner).id
+ end
+ raise "unknow gid" unless gid
+
+ gproject = g.create_project(repository.identifier,
+ path: repository.identifier,
+ description: project.description,
+ wiki_enabled: false,
+ wall_enabled: false,
+ issues_enabled: false,
+ snippets_enabled: false,
+ public: false,
+ user_id: gid
+ )
+ project.gpid = gproject.id
+ project.save!
end
def sync_project(project, opt={})
gid = project.owner.gid
+ unless gid
+ gid = sync_user(project.owner).id
+ end
+
raise "unknow gid" unless gid
path = opt[:path]
raise "unknow path" unless path
@@ -61,7 +88,11 @@ module Trustie
project.members.each do |m|
begin
- self.g.add_team_member(gproject.id, m.user.gid, UserLevel::DEVELOPER)
+ gid = m.user.gid
+ unless gid
+ gid = sync_user(m.user).id
+ end
+ self.g.add_team_member(gproject.id, gid, UserLevel::DEVELOPER)
rescue => e
puts e
end
diff --git a/public/javascripts/course.js b/public/javascripts/course.js
index ed920b48a..da24e2878 100644
--- a/public/javascripts/course.js
+++ b/public/javascripts/course.js
@@ -666,6 +666,7 @@ function regex_homework_end_publish_time()
$("#homework_publish_time").val(myDate.toLocaleDateString());
}
var publish_time = Date.parse($("#homework_publish_time").val());
+ var end_time = Date.parse($("#homework_end_time").val());
if(end_time < publish_time)
{
$("#homework_end_time_span").text("截止日期不能小于发布日期");
@@ -1258,4 +1259,4 @@ function course_outline(id){
// $('#course_outline_search').on('input',function(){
// alert('<%= @course.id%>')
// })
-//})
+//})