foreman_packages 1.0.3 → 1.0.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -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: