diff --git a/app/controllers/admin/personal_plugin_fields_controller.rb b/app/controllers/admin/personal_plugin_fields_controller.rb
index 52cd83e..1b5ef35 100644
--- a/app/controllers/admin/personal_plugin_fields_controller.rb
+++ b/app/controllers/admin/personal_plugin_fields_controller.rb
@@ -11,6 +11,22 @@ class Admin::PersonalPluginFieldsController < OrbitAdminController
@member = MemberProfile.find_by(:uid=>params['uid']) rescue nil
@personal_plugin_field = PersonalPluginField.new
end
+ def download
+ zip_path = "tmp/"
+ FileUtils.mkdir_p(zip_path) if !Dir.exist?(zip_path)
+ personal_plugin_field = PersonalPluginField.find(params[:personal_plugin_field_id]) rescue nil
+ if personal_plugin_field
+ zip_file_path = zip_path + "#{personal_plugin_field.module_name}.zip"
+ zip_file= ZipFileGenerator.new(zip_path + personal_plugin_field.module_name ,zip_file_path)
+ begin
+ zip_file.write
+ rescue
+ File.delete(zip_path + "#{personal_plugin_field.module_name}.zip")
+ zip_file.write
+ end
+ send_file(zip_file_path)
+ end
+ end
def copy
@member = MemberProfile.find_by(:uid=>params['uid']) rescue nil
attributes = PersonalPluginField.find(params[:personal_plugin_field_id]).attributes rescue {}
diff --git a/app/views/admin/personal_plugin_fields/_personal_plugin_fields.html.erb b/app/views/admin/personal_plugin_fields/_personal_plugin_fields.html.erb
index 51ac488..a017dc8 100644
--- a/app/views/admin/personal_plugin_fields/_personal_plugin_fields.html.erb
+++ b/app/views/admin/personal_plugin_fields/_personal_plugin_fields.html.erb
@@ -6,6 +6,7 @@
<%= link_to thead_field('fields_display_setting') ,admin_personal_plugin_field_fields_setting_path(personal_plugin_field.id),:class=> "btn btn-primary" %>
<%= link_to thead_field(:copy) ,admin_personal_plugin_field_copy_path(personal_plugin_field.id),:class=> "btn btn-primary" %>
+ <%= link_to thead_field(:download) ,admin_personal_plugin_field_download_path(personal_plugin_field.id),:class=> "btn btn-primary" %>
<%= t(:delete_) %>
diff --git a/config/locales/en.yml b/config/locales/en.yml
index b0e85b4..8c00dd2 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -4,6 +4,7 @@ en:
restful_actions:
fields_setting: Fields Setting
personal_plugin_generator:
+ download: Download
author_translation_name: Author translation name
personal_plugin_generator: Personal Plugin Generate
personal_plugin_name: Personal Plugin Name Translation
diff --git a/config/locales/zh_tw.yml b/config/locales/zh_tw.yml
index 15c99bc..04df5f9 100644
--- a/config/locales/zh_tw.yml
+++ b/config/locales/zh_tw.yml
@@ -4,6 +4,7 @@ zh_tw:
restful_actions:
fields_setting: 欄位設定
personal_plugin_generator:
+ download: 下載
author_translation_name: 著作人翻譯名稱
personal_plugin_generator: 個人外掛生成
personal_plugin_name: 個人外掛翻譯名稱
diff --git a/config/routes.rb b/config/routes.rb
index 0799707..2a2daab 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -8,6 +8,7 @@ Rails.application.routes.draw do
patch 'update_fields_setting' , to: 'personal_plugin_fields#update_fields_setting'
get 'generate_plugin' , to: 'personal_plugin_fields#generate_plugin'
get 'copy' , to: 'personal_plugin_fields#copy'
+ get 'download' , to: 'personal_plugin_fields#download'
end
resource :personal_plugin_field do
post 'check_plugin_exist' ,to: 'personal_plugin_fields#check_plugin_exist'