foreman_packages 1.0.3 → 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -78,7 +78,7 @@ class ForemanPackages::SypackagesController < ApplicationController
78
78
  @sypackage.destroy
79
79
 
80
80
  respond_to do |format|
81
- format.html { redirect_to sypackages_url }
81
+ format.html { redirect_to foreman_packages_sypackages_url }
82
82
  format.json { head :no_content }
83
83
  end
84
84
  end
@@ -1,11 +1,12 @@
1
1
  class ForemanPackages::Sypackage < ActiveRecord::Base
2
2
  require "fileutils"
3
- attr_accessible :name, :ensure, :file_path, :file_ensure, :file_source, :file_mode, :file_onwer, :file_group, :file_notify, :file_require, :service_name, :service_ensure, :service_enable, :service_hasstatus, :service_hasrestart, :filename, :file_cache
3
+ attr_accessible :name, :ensure, :file_path, :file_ensure, :file_source, :file_mode, :file_onwer, :file_group, :file_notify, :file_require, :service_name, :service_ensure, :service_enable, :service_hasstatus, :service_hasrestart, :filename, :file_cache
4
4
 
5
- mount_uploader :filename, ForemanPackages::AttachmentUploader
6
- after_create :create_dir
7
- after_update :create_dir
8
- after_update :change_dir
5
+ mount_uploader :filename, ForemanPackages::AttachmentUploader
6
+ after_create :create_dir
7
+ after_update :create_dir
8
+
9
+ validates :filename, :name #, :contract_id, :presence => true
9
10
  #after_destory :destory_dir
10
11
  def create_dir
11
12
  #目前用 "/home/stdtnt/app/"代替 "/etc/puppet/environments/production/modules/packages"
@@ -23,20 +24,30 @@ class ForemanPackages::Sypackage < ActiveRecord::Base
23
24
  if !File.exist?(root_dir_name + "manifests")
24
25
  Dir::mkdir(root_dir_name + "manifests")
25
26
  end
26
-
27
- #生成files下welcome.conf文件
28
- files_welcome_File = File.new(root_dir_name + "files/welcome.conf", "w+")
29
- files_welcome_File.close
30
- #生成manifests下init.pp文件
31
- main_init_File = File.new(root_dir_name +"manifests/init.pp", "w+")
32
- if main_init_File
33
- main_init_File.syswrite(self.create_content)
34
- else
35
- puts "Unable to open file!"
36
- end
37
- main_init_File.close
38
27
  end
39
28
 
29
+ if File.exist?(root_dir_name + "/files")
30
+ if File.exist?(root_dir_name + "/files/welcome.conf")
31
+ #生成files下welcome.conf文件
32
+ files_welcome_File = File.new(root_dir_name + "/files/welcome.conf", "w+")
33
+ files_welcome_File.close
34
+ end
35
+ end
36
+
37
+ if File.exist?(root_dir_name + "/manifests")
38
+ if File.exist?(root_dir_name + "/manifests/init.pp")
39
+ FileUtils.rm_r (root_dir_name + "/manifests/init.pp")
40
+ end
41
+ #生成manifests下init.pp文件
42
+ main_init_File = File.new(root_dir_name +"/manifests/init.pp", "w+")
43
+ if main_init_File
44
+ main_init_File.syswrite(self.create_content)
45
+ else
46
+ puts "Unable to open file!"
47
+ end
48
+ main_init_File.close
49
+ end
50
+
40
51
  #self.change_dir
41
52
 
42
53
  end
@@ -50,25 +61,22 @@ class ForemanPackages::Sypackage < ActiveRecord::Base
50
61
  dir_exist_status = File.exist?(root_dir_name )
51
62
  if dir_exist_status
52
63
  #使用fileUtils.rm_r 删除该文件夹及其以下所有内容
53
- FileUtils.rm_r root_dir_name
64
+ if ForemanPackages::Sypackage.all.size == 0
65
+ FileUtils.rm_r root_dir_name
66
+ end
54
67
  end
55
68
  end
56
69
 
57
- def create_content
58
- user_content = "class packages {" + "\n" + "\s\s" + "package{'" + self.name + "':" + "\n\s\s\s\s" + "ensure => '" + self.ensure + "'," + "\n\s\s" +"}" + "\n"
59
-
70
+ def create_content
71
+ user_content = "class packages {" + "\n" + "\s\s" + "package{'" + self.name + "':" + "\n\s\s\s\s" + "ensure => '" + self.ensure + "'," + "\n\s\s" +"}" + "\n"
60
72
 
61
- file_content = "\s\s" + "file{'"+ self.file_path + "':" + "\n\s\s\s\s" + "ensure => '" + self.file_ensure + "'," + "\n\s\s\s\s" + "source => '" + self.file_source + "mode => '" + self.file_mode + "'," + "\n\s\s\s\s" + "onwer => '" + self.file_onwer + "group => '" + self.file_group + "'," + "\n\s\s\s\s" + "notify=> Service['" + self.file_notify + "']," + "\n\s\s\s\s" + "require=> Package['" + self.file_require + "']," + "\n\s\s" +"}" + "\n\s\s"
62
73
 
74
+ file_content = "\s\s" + "file{'"+ self.file_path + "':" + "\n\s\s\s\s" + "ensure => '" + self.file_ensure + "'," + "\n\s\s\s\s" + "source => '" + self.file_source + "mode => '" + self.file_mode + "'," + "\n\s\s\s\s" + "onwer => '" + self.file_onwer + "group => '" + self.file_group + "'," + "\n\s\s\s\s" + "notify=> Service['" + self.file_notify + "']," + "\n\s\s\s\s" + "require=> Package['" + self.file_require + "']," + "\n\s\s" +"}" + "\n\s\s"
63
75
 
64
- service_content = "\s\s" + "service{'"+ self.service_name + "':" + "\n\s\s\s\s" + "ensure => '" + self.service_ensure + "'," + "\n\s\s\s\s" + "enable => '" + self.service_enable + "hasstatus => '" + self.service_hasstatus + "'," + "\n\s\s\s\s" + "hasrestart => '" + self.service_hasrestart + "," + "\n\s\s" +"}" + "\n\s\s"
65
- rs = user_content + file_content + service_content + "\n" + "}"
66
- return rs
67
- end
68
76
 
77
+ service_content = "\s\s" + "service{'"+ self.service_name + "':" + "\n\s\s\s\s" + "ensure => '" + self.service_ensure + "'," + "\n\s\s\s\s" + "enable => '" + self.service_enable + "hasstatus => '" + self.service_hasstatus + "'," + "\n\s\s\s\s" + "hasrestart => '" + self.service_hasrestart + "," + "\n\s\s" +"}" + "\n\s\s"
78
+ rs = user_content + file_content + service_content + "\n" + "}"
79
+ return rs
80
+ end
69
81
 
70
- def change_dir
71
- upload_dir = "/home/stdtnt/workspaces/foreman/public/uploads/sypackage/filename/" + self.id.to_s
72
- root_file_dir_name = "/home/stdtnt/app/packages/files/"
73
- end
74
82
  end
@@ -1,3 +1,3 @@
1
1
  module ForemanPackages
2
- VERSION = '1.0.3'
2
+ VERSION = '1.0.4'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: foreman_packages
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.3
4
+ version: 1.0.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: