diff --git a/app/controllers/repositories_controller.rb b/app/controllers/repositories_controller.rb
index c90cc1cc3..5fe953563 100644
--- a/app/controllers/repositories_controller.rb
+++ b/app/controllers/repositories_controller.rb
@@ -236,24 +236,10 @@ update
end
def destroy
- @root_path=RepositoriesHelper::ROOT_PATH
- @repo_name=User.current.login.to_s+"_"+@repository.identifier.to_s
- @repository_name=User.current.login.to_s+"/"+@repository.identifier.to_s+".git"
- @middle=User.current.login.to_s+"_"+@repository.identifier.to_s+"-write:"
- @repository.destroy if request.delete?
+ DestroyRepositoryTask.new.destroy(User.current.id, @repository.id)
+ @repository.hidden = true
+ @repository.save
redirect_to settings_project_url(@project, :tab => 'repositories')
- if(@repository.type=="Repository::Git")
- logger.info "destory the repository value"+"root path"+@root_path+"repo_name"+@repo_name+
- "repository_name"+@repository_name+"user group"+@middle
- system "sed -i /"+@repo_name+"/{d} "+@root_path+"htdocs/user.passwd"
- system "sed -i /"+@middle+"/{d} "+@root_path+"htdocs/group.passwd"
- system "rm -r "+@root_path+"htdocs/"+@repository_name
- # if(@sed_user&&@sed_group&&@remove)
- # else
- # logger.info "An error occured when destory the repository"+"delete form passwd: \n"+
- # @sed_user+"delete from group"+@sed_group+"delete from file"+@remove
- # end
- end
end
def show
diff --git a/app/models/mailer.rb b/app/models/mailer.rb
index eacead013..a930b5467 100644
--- a/app/models/mailer.rb
+++ b/app/models/mailer.rb
@@ -817,12 +817,12 @@ class Mailer < ActionMailer::Base
headers[:references] = @references_objects.collect {|o| "<#{self.class.message_id_for(o)}>"}.join(' ')
end
+ set_language_if_valid @initial_language
super headers do |format|
format.text
format.html unless Setting.plain_text_mail?
end
- set_language_if_valid @initial_language
end
def initialize(*args)
diff --git a/app/models/project.rb b/app/models/project.rb
index 07854822e..f257058ea 100644
--- a/app/models/project.rb
+++ b/app/models/project.rb
@@ -51,7 +51,7 @@ class Project < ActiveRecord::Base
has_many :issue_categories, :dependent => :delete_all, :order => "#{IssueCategory.table_name}.name"
has_many :boards, :dependent => :destroy, :order => "position ASC"
has_one :repository, :conditions => ["is_default = ?", true]
- has_many :repositories, :dependent => :destroy
+ has_many :repositories, :dependent => :destroy, conditions: "hidden=false"
has_many :changesets, :through => :repository
#added by xianbo for delete biding_project
has_many :biding_projects, :dependent => :destroy
diff --git a/app/tasks/destroy_repository_task.rb b/app/tasks/destroy_repository_task.rb
new file mode 100644
index 000000000..3e434422e
--- /dev/null
+++ b/app/tasks/destroy_repository_task.rb
@@ -0,0 +1,25 @@
+#coding=utf-8
+#
+
+class DestroyRepositoryTask
+ def destroy(user_id, rep_id)
+ user = User.find(user_id)
+ repository = Repository.find(rep_id)
+
+ Rails.logger.info "start delete repository #{user} #{repository}"
+ @root_path=RepositoriesHelper::ROOT_PATH
+ @repo_name=user.login.to_s+"_"+repository.identifier.to_s
+ @repository_name=user.login.to_s+"/"+repository.identifier.to_s+".git"
+ @middle=user.login.to_s+"_"+repository.identifier.to_s+"-write:"
+ repository.destroy
+ if(repository.type=="Repository::Git")
+ Rails.logger.info "destory the repository value"+"root path"+@root_path+"repo_name"+@repo_name+
+ "repository_name"+@repository_name+"user group"+@middle
+ system "sed -i /"+@repo_name+"/{d} "+@root_path+"htdocs/user.passwd"
+ system "sed -i /"+@middle+"/{d} "+@root_path+"htdocs/group.passwd"
+ system "rm -r "+@root_path+"htdocs/"+@repository_name
+ end
+ end
+
+ handle_asynchronously :destroy,:queue => 'repository'
+end
diff --git a/app/views/attachments/_homework_jour_link.html.erb b/app/views/attachments/_homework_jour_link.html.erb
index a83640f1f..e0efa211c 100644
--- a/app/views/attachments/_homework_jour_link.html.erb
+++ b/app/views/attachments/_homework_jour_link.html.erb
@@ -1,4 +1,4 @@
-
+
<% for attachment in attachments %>
<%= link_to_short_attachment attachment, :class => 'link_file', :download => true, :length => 100 -%>
@@ -13,5 +13,6 @@
:target => "_blank"%>
<% end %>
+
<% end %>
diff --git a/app/views/homework_attach/_review.html.erb b/app/views/homework_attach/_review.html.erb
index 9c7d9d82c..876980168 100644
--- a/app/views/homework_attach/_review.html.erb
+++ b/app/views/homework_attach/_review.html.erb
@@ -42,9 +42,8 @@
<% unless jour.nil? %>
<% unless jour.attachments.empty?%>
- <% options = {:author => true, :deletable => attach_delete(jour)} %>
<%= render :partial => 'attachments/homework_jour_link',
- :locals => {:attachments => jour.attachments, :options => options} %>
+ :locals => {:attachments => jour.attachments} %>
<% end %>
diff --git a/app/views/homework_attach/edit.html.erb b/app/views/homework_attach/edit.html.erb
index 19c0d9344..63c3051aa 100644
--- a/app/views/homework_attach/edit.html.erb
+++ b/app/views/homework_attach/edit.html.erb
@@ -79,17 +79,11 @@
- <% unless @homework.attachments.empty?%>
-
- <% options = {:author => true, :deletable => attach_delete(@homework)} %>
- <%= render :partial => 'attachments/links',
- :locals => {:attachments => @homework.attachments, :options => options} %>
-
- <% end %>
-
- <%= render :partial => 'attachments/form' %>
-
+
+ <%= render :partial => 'attachments/form', :locals => {:container => @homework}%>
+
+