keithsalisbury-subtrac 0.1.4 → 0.1.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (113) hide show
  1. data/VERSION.yml +1 -1
  2. data/bin/subtrac +2 -0
  3. data/lib/subtrac.rb +85 -50
  4. data/lib/subtrac/config/config.yml +22 -19
  5. data/lib/subtrac/templates/location.erb +2 -2
  6. data/lib/subtrac/templates/projects/blank/trac/wiki/WikiStart +1 -1
  7. data/lib/subtrac/templates/trac.erb +1 -1
  8. data/lib/subtrac/templates/vhost.erb +6 -6
  9. metadata +1 -105
  10. data/lib/subtrac/trac-plugins/advancedticketworkflowplugin/advancedworkflow/__init__.py +0 -0
  11. data/lib/subtrac/trac-plugins/advancedticketworkflowplugin/advancedworkflow/controller.py +0 -419
  12. data/lib/subtrac/trac-plugins/advancedticketworkflowplugin/setup.cfg +0 -3
  13. data/lib/subtrac/trac-plugins/advancedticketworkflowplugin/setup.py +0 -20
  14. data/lib/subtrac/trac-plugins/clientsplugin/clients/__init__.py +0 -0
  15. data/lib/subtrac/trac-plugins/clientsplugin/clients/action.py +0 -28
  16. data/lib/subtrac/trac-plugins/clientsplugin/clients/action_email.py +0 -168
  17. data/lib/subtrac/trac-plugins/clientsplugin/clients/action_zendesk_forum.py +0 -137
  18. data/lib/subtrac/trac-plugins/clientsplugin/clients/admin.py +0 -91
  19. data/lib/subtrac/trac-plugins/clientsplugin/clients/api.py +0 -199
  20. data/lib/subtrac/trac-plugins/clientsplugin/clients/client.py +0 -105
  21. data/lib/subtrac/trac-plugins/clientsplugin/clients/events.py +0 -287
  22. data/lib/subtrac/trac-plugins/clientsplugin/clients/eventsadmin.py +0 -71
  23. data/lib/subtrac/trac-plugins/clientsplugin/clients/htdocs/clients.css +0 -4
  24. data/lib/subtrac/trac-plugins/clientsplugin/clients/model.py +0 -135
  25. data/lib/subtrac/trac-plugins/clientsplugin/clients/processor.py +0 -70
  26. data/lib/subtrac/trac-plugins/clientsplugin/clients/reportmanager.py +0 -142
  27. data/lib/subtrac/trac-plugins/clientsplugin/clients/reports.py +0 -231
  28. data/lib/subtrac/trac-plugins/clientsplugin/clients/summary.py +0 -27
  29. data/lib/subtrac/trac-plugins/clientsplugin/clients/summary_milestone.py +0 -152
  30. data/lib/subtrac/trac-plugins/clientsplugin/clients/summary_ticketchanges.py +0 -160
  31. data/lib/subtrac/trac-plugins/clientsplugin/clients/templates/admin_client_events.html +0 -124
  32. data/lib/subtrac/trac-plugins/clientsplugin/clients/templates/admin_clients.html +0 -134
  33. data/lib/subtrac/trac-plugins/clientsplugin/cron/changes.xslt +0 -132
  34. data/lib/subtrac/trac-plugins/clientsplugin/cron/run-client-event +0 -97
  35. data/lib/subtrac/trac-plugins/clientsplugin/cron/summary.xslt +0 -161
  36. data/lib/subtrac/trac-plugins/clientsplugin/setup.py +0 -43
  37. data/lib/subtrac/trac-plugins/estimationtoolsplugin/estimationtools/__init__.py +0 -4
  38. data/lib/subtrac/trac-plugins/estimationtoolsplugin/estimationtools/burndownchart.py +0 -273
  39. data/lib/subtrac/trac-plugins/estimationtoolsplugin/estimationtools/hoursinplaceeditor.py +0 -44
  40. data/lib/subtrac/trac-plugins/estimationtoolsplugin/estimationtools/hoursremaining.py +0 -36
  41. data/lib/subtrac/trac-plugins/estimationtoolsplugin/estimationtools/htdocs/jquery-1.2.3.min.js +0 -32
  42. data/lib/subtrac/trac-plugins/estimationtoolsplugin/estimationtools/htdocs/jquery.jeditable.js +0 -409
  43. data/lib/subtrac/trac-plugins/estimationtoolsplugin/estimationtools/htdocs/jquery.jeditable.mini.js +0 -30
  44. data/lib/subtrac/trac-plugins/estimationtoolsplugin/estimationtools/templates/edithours.html +0 -53
  45. data/lib/subtrac/trac-plugins/estimationtoolsplugin/estimationtools/tests/burndownchart.py +0 -181
  46. data/lib/subtrac/trac-plugins/estimationtoolsplugin/estimationtools/tests/hoursremaining.py +0 -66
  47. data/lib/subtrac/trac-plugins/estimationtoolsplugin/estimationtools/tests/workloadchart.py +0 -47
  48. data/lib/subtrac/trac-plugins/estimationtoolsplugin/estimationtools/utils.py +0 -93
  49. data/lib/subtrac/trac-plugins/estimationtoolsplugin/estimationtools/workloadchart.py +0 -86
  50. data/lib/subtrac/trac-plugins/estimationtoolsplugin/setup.py +0 -20
  51. data/lib/subtrac/trac-plugins/timingandestimationplugin/scripts/SumRollups.js +0 -23
  52. data/lib/subtrac/trac-plugins/timingandestimationplugin/scripts/adw_tracdb.py +0 -128
  53. data/lib/subtrac/trac-plugins/timingandestimationplugin/scripts/git-post-receive +0 -40
  54. data/lib/subtrac/trac-plugins/timingandestimationplugin/scripts/trac-post-commit.py +0 -285
  55. data/lib/subtrac/trac-plugins/timingandestimationplugin/scripts/trac_billing.py +0 -173
  56. data/lib/subtrac/trac-plugins/timingandestimationplugin/scripts/utils/__init__.py +0 -0
  57. data/lib/subtrac/trac-plugins/timingandestimationplugin/scripts/utils/mail.py +0 -164
  58. data/lib/subtrac/trac-plugins/timingandestimationplugin/setup.py +0 -69
  59. data/lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/__init__.py +0 -1
  60. data/lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/api.py +0 -292
  61. data/lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/blackmagic.py +0 -172
  62. data/lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/dbhelper.py +0 -178
  63. data/lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/htdocs/billingplugin.css +0 -25
  64. data/lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/htdocs/field_disabler.js +0 -6
  65. data/lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/htdocs/formatDate.js +0 -356
  66. data/lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/htdocs/js/tip_centerwindow.js +0 -100
  67. data/lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/htdocs/js/tip_followscroll.js +0 -84
  68. data/lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/htdocs/js/wz_tooltip.js +0 -1149
  69. data/lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/htdocs/linkifyer.js +0 -119
  70. data/lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/htdocs/query.js +0 -73
  71. data/lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/htdocs/ticket.js +0 -165
  72. data/lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/query_webui.py +0 -28
  73. data/lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/reportmanager.py +0 -221
  74. data/lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/reports.py +0 -675
  75. data/lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/reports_filter.py +0 -150
  76. data/lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/statuses.py +0 -25
  77. data/lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/tande_filters.py +0 -131
  78. data/lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/templates/billing.cs +0 -84
  79. data/lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/templates/billing.html +0 -104
  80. data/lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/ticket_daemon.py +0 -194
  81. data/lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/ticket_policy.py +0 -62
  82. data/lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/ticket_webui.py +0 -28
  83. data/lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/usermanual.py +0 -127
  84. data/lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/webui.py +0 -129
  85. data/lib/subtrac/trac-plugins/worklogplugin/setup.py +0 -29
  86. data/lib/subtrac/trac-plugins/worklogplugin/worklog/__init__.py +0 -1
  87. data/lib/subtrac/trac-plugins/worklogplugin/worklog/api.py +0 -187
  88. data/lib/subtrac/trac-plugins/worklogplugin/worklog/htdocs/jqModal.css +0 -40
  89. data/lib/subtrac/trac-plugins/worklogplugin/worklog/htdocs/jqModal.js +0 -67
  90. data/lib/subtrac/trac-plugins/worklogplugin/worklog/htdocs/jquery.mousewheel.pack.js +0 -12
  91. data/lib/subtrac/trac-plugins/worklogplugin/worklog/htdocs/jquery.timeentry.pack.js +0 -7
  92. data/lib/subtrac/trac-plugins/worklogplugin/worklog/htdocs/tracWorklog.js +0 -40
  93. data/lib/subtrac/trac-plugins/worklogplugin/worklog/htdocs/ui.datepicker.css +0 -208
  94. data/lib/subtrac/trac-plugins/worklogplugin/worklog/htdocs/ui.datepicker.js +0 -1439
  95. data/lib/subtrac/trac-plugins/worklogplugin/worklog/htdocs/work.png +0 -0
  96. data/lib/subtrac/trac-plugins/worklogplugin/worklog/htdocs/work.xcf +0 -0
  97. data/lib/subtrac/trac-plugins/worklogplugin/worklog/htdocs/worklogplugin.css +0 -80
  98. data/lib/subtrac/trac-plugins/worklogplugin/worklog/htdocs/workstart.png +0 -0
  99. data/lib/subtrac/trac-plugins/worklogplugin/worklog/htdocs/workstop.png +0 -0
  100. data/lib/subtrac/trac-plugins/worklogplugin/worklog/manager.py +0 -336
  101. data/lib/subtrac/trac-plugins/worklogplugin/worklog/reports.py +0 -598
  102. data/lib/subtrac/trac-plugins/worklogplugin/worklog/templates/worklog.html +0 -45
  103. data/lib/subtrac/trac-plugins/worklogplugin/worklog/templates/worklog_stop.html +0 -70
  104. data/lib/subtrac/trac-plugins/worklogplugin/worklog/templates/worklog_user.html +0 -40
  105. data/lib/subtrac/trac-plugins/worklogplugin/worklog/templates/worklog_webadminui.html +0 -59
  106. data/lib/subtrac/trac-plugins/worklogplugin/worklog/ticket_daemon.py +0 -33
  107. data/lib/subtrac/trac-plugins/worklogplugin/worklog/ticket_filter.py +0 -153
  108. data/lib/subtrac/trac-plugins/worklogplugin/worklog/timeline_hook.py +0 -96
  109. data/lib/subtrac/trac-plugins/worklogplugin/worklog/usermanual.py +0 -29
  110. data/lib/subtrac/trac-plugins/worklogplugin/worklog/util.py +0 -31
  111. data/lib/subtrac/trac-plugins/worklogplugin/worklog/webadminui.py +0 -47
  112. data/lib/subtrac/trac-plugins/worklogplugin/worklog/webui.py +0 -174
  113. data/lib/subtrac/trac-plugins/worklogplugin/worklog/xmlrpc.py +0 -73
data/VERSION.yml CHANGED
@@ -1,4 +1,4 @@
1
1
  ---
2
- :patch: 4
2
+ :patch: 5
3
3
  :major: 0
4
4
  :minor: 1
data/bin/subtrac CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  require 'rubygems'
4
4
  require 'commander'
5
+
6
+ $:.unshift File.join(File.dirname(__FILE__), '..', 'lib')
5
7
  require 'subtrac'
6
8
 
7
9
  program :name, 'subtrac'
data/lib/subtrac.rb CHANGED
@@ -41,7 +41,11 @@ require 'fileutils'
41
41
  require 'subtrac/version'
42
42
 
43
43
  module Subtrac
44
- DEV_ENV = 'test' # should be a system environment var
44
+ SUBTRAC_ROOT = File.join(File.dirname(__FILE__), "subtrac")
45
+ DEV_ENV = 'test' # should be a system environment var
46
+
47
+ attr_accessor :server_name, :server_hostname, :server_ip, :default_client, :default_project, :install_dir, :docs_dir, :conf_dir, :locations_dir, :svn_dir, :trac_dir, :temp_dir
48
+
45
49
  module Commands
46
50
  class Install
47
51
  def initialize(args, options)
@@ -51,8 +55,8 @@ module Subtrac
51
55
  end
52
56
  class Create
53
57
  def initialize(args, options)
54
- project = ask("What is the name of the project you would like to create?") if !options.project
55
- client = ask("Which client is this project for?") if !options.client
58
+ project = ask("What is the name of the project you would like to create? ") if !options.project
59
+ client = ask("Which client is this project for? ") if !options.client
56
60
  Subtrac.load_config()
57
61
  Subtrac.create_project(options.project,options.client)
58
62
  end
@@ -61,31 +65,39 @@ module Subtrac
61
65
 
62
66
  # Install
63
67
  def self.install(args,options)
68
+ puts "\n==== Installing development server files ===="
64
69
  # Ask if the user agrees (yes or no)
65
- confirm = agree("Are you sure?") if options.clean
66
- if confirm
67
- # clear previous data
68
- clean()
69
- create_environment_directories()
70
- else
71
- puts "\nAttempt install without overwrites"
72
- end
70
+ confirm_clean = agree("Are you sure you would like a clean install? [Y/n]") if options.clean
71
+ # clear previous data
72
+ clean() if confirm_clean
73
+ # right lets install
74
+ change_server_name = agree("The default server name is \"#{@server_name}\". Would you like to change this? [Y/n]")
75
+ @server_name = ask("What would you like to call your new development server? ") if change_server_name
76
+
77
+ create_environment_directories()
73
78
  install_common_files()
74
79
  create_virtual_host()
80
+ confirm_default_client = agree("Do you want to create a default client project? [Y/n]")
75
81
  # create default project and client
76
- #create_client(@APP_CONFIG[:default_client])
77
- create_project(@APP_CONFIG[:default_project],@APP_CONFIG[:default_client])
82
+ if confirm_default_client
83
+ change_client = agree("The default client name is \"#{@default_client}\". Would you like to change this? [Y/n]")
84
+ @default_client = ask("What client name would you like to use? ") if change_client
85
+ change_project = agree("The default project name is \"#{@default_project}\". Would you like to change this? [Y/n]")
86
+ @default_project = ask("What would you like to call your new project? ") if change_project
87
+ create_project(@default_project,@default_client)
88
+ end
78
89
  end
79
90
 
80
91
  private
81
92
 
93
+ =begin
82
94
  # Loads the configuration YML file
83
95
  def self.load_config
84
96
  puts "\n==== Loading configuration file ===="
85
97
  # load configuration file
86
98
  begin
87
- file_path = File.join(File.dirname(__FILE__), "subtrac/config/config.yml")
88
- yamlFile = YAML.load_file(file_path)
99
+ raw_config = File.read(SUBTRAC_ROOT + "/config/config.yml")
100
+ yamlFile = YAML.load(raw_config)
89
101
  rescue Exception => e
90
102
  raise StandardError, "Config #{file_path} could not be loaded."
91
103
  end
@@ -98,12 +110,39 @@ module Subtrac
98
110
  else
99
111
  raise StandardError, "config/config.yml does not exist."
100
112
  end
113
+ puts "\n==== Installation options ===="
114
+
115
+ say("Setting up default configuration...")
116
+ @server_name = @APP_CONFIG[:server_name]
117
+ @server_hostname = @APP_CONFIG[:server_hostname]
118
+ @server_ip = @APP_CONFIG[:server_ip]
119
+
120
+ @default_client = @APP_CONFIG[:default_client]
121
+ @default_project = @APP_CONFIG[:default_project]
122
+
123
+ @install_dir = @APP_CONFIG[:installation_dir]
124
+ @docs_dir = File.join(@install_dir,@APP_CONFIG[:dirs][:docs])
125
+ @conf_dir = File.join(@install_dir,@APP_CONFIG[:dirs][:conf])
126
+ @locations_dir = File.join(@install_dir,@APP_CONFIG[:dirs][:conf_locations])
127
+ @svn_dir = File.join(@install_dir,@APP_CONFIG[:dirs][:svn])
128
+ @trac_dir = File.join(@install_dir,@APP_CONFIG[:dirs][:trac])
129
+ @temp_dir = File.join(@install_dir,@APP_CONFIG[:dirs][:temp])
130
+
131
+ end
132
+
133
+ # Ask the user for configuration details
134
+ def self.get_config
135
+
101
136
  end
102
137
 
103
138
  # creates a directory if it does not exist
104
139
  def self.create_if_missing *names
105
- puts "\n==== Creating directory #{names} ===="
106
- names.each do |name| FileUtils.mkdir_p(name) unless File.directory?(name) end
140
+ names.each do |name|
141
+ unless File.directory?(name)
142
+ puts "Creating directory called #{names}..."
143
+ FileUtils.mkdir_p(name)
144
+ end
145
+ end
107
146
  end
108
147
 
109
148
  # publishes an erb template
@@ -124,24 +163,21 @@ module Subtrac
124
163
  # creates a new virtual host and reloads apache and enables the new virtual host
125
164
  def self.create_virtual_host
126
165
  puts "\n==== Creating new virtual host ===="
127
- vhost_template = File.join(File.dirname(__FILE__), @APP_CONFIG[:templates][:virtual_host])
128
- new_vhost = "#{@APP_CONFIG[:dirs][:conf]}/#{@APP_CONFIG[:server][:hostname]}"
129
- puts new_vhost
166
+ vhost_template = File.join(SUBTRAC_ROOT, @APP_CONFIG[:templates][:virtual_host])
167
+ new_vhost = File.join(@conf_dir,@server_hostname)
130
168
  parse_template(vhost_template,new_vhost,binding)
131
169
  # reload apache configuration
132
170
  `/etc/init.d/apache2 force-reload` if DEV_ENV != 'test'
133
- `a2ensite #{@APP_CONFIG[:server][:hostname]}` if DEV_ENV != 'test'
171
+ `a2ensite #{@server_hostname}` if DEV_ENV != 'test'
134
172
  end
135
173
 
136
174
  def self.install_common_files
137
175
  puts "\n==== Installing common files ===="
138
- # TODO: implement a mash for .svn folders
176
+ # TODO: implement a mask for .svn folders
139
177
  # TODO: refactor /common to the app config
140
- common_dir = File.join(File.dirname(__FILE__), "subtrac/common")
141
- puts common_dir
178
+ common_dir = File.join(SUBTRAC_ROOT, "common")
142
179
  source = Dir.glob("#{common_dir}/.")
143
- puts source
144
- dest = @APP_CONFIG[:dirs][:document]
180
+ dest = @docs_dir
145
181
  FileUtils.cp_r(source,dest)
146
182
  end
147
183
 
@@ -149,63 +185,61 @@ module Subtrac
149
185
  puts "\n==== Creating new environment directories ===="
150
186
  # create the environment directories
151
187
  @APP_CONFIG[:dirs].each do |key, value|
152
- create_if_missing value
188
+ create_if_missing File.join(@install_dir,value)
153
189
  end
154
190
  end
155
191
 
156
192
  def self.clean
157
193
  puts "\n==== Remove old data if exists ===="
158
194
  @APP_CONFIG[:dirs].each do |key, value|
159
- unless [@APP_CONFIG[:dirs][:install]].include? value
160
- #TODO: Ask for confirmation - yes,no,All
161
- puts "Deleting #{value}"
162
- FileUtils.rm_rf value
163
- end
195
+ #TODO: Ask for confirmation - yes,no,All
196
+ puts "Deleting #{value}"
197
+ FileUtils.rm_rf value
164
198
  end
165
199
  end
166
200
 
167
201
  def self.create_client(name)
168
- puts "\n==== Create a new client #{name} ===="
202
+ puts "\n==== Create a new client called #{name} ===="
169
203
  client_name = name.downcase
170
204
  # create apache configuration
171
- # create apache template
172
- location_template = File.join(File.dirname(__FILE__), @APP_CONFIG[:templates][:location])
173
- location_conf = "#{@APP_CONFIG[:dirs][:conf_locations]}/#{client_name}.conf"
205
+ location_template = File.join(SUBTRAC_ROOT, @APP_CONFIG[:templates][:location])
206
+ location_conf = File.join(@locations_dir,client_name,".conf")
174
207
  parse_template(location_template,location_conf,binding)
175
208
  `/etc/init.d/apache2 force-reload` if DEV_ENV != 'test'
176
209
 
177
210
  # create svn+trac directory
178
- create_if_missing "#{@APP_CONFIG[:dirs][:svn]}/#{client_name}"
179
- create_if_missing "#{@APP_CONFIG[:dirs][:trac]}/#{client_name}"
211
+ create_if_missing File.join(@svn_dir,client_name)
212
+ create_if_missing File.join(@trac_dir,client_name)
180
213
  end
181
214
 
182
215
  def self.create_project(project, client)
183
- puts "\n==== Create a new project #{project} for #{client} ===="
216
+ puts "\n==== Create a new project called #{project} for #{client} ===="
184
217
 
185
218
  client_name = client.downcase
186
219
  project_name = project.downcase
187
220
 
188
221
  # create client directory if needed
189
- create_client(client_name) if (!File.directory? "#{@APP_CONFIG[:dirs][:svn]}/#{client_name}")
222
+ create_client(client_name) if (!File.directory? File.join(@svn_dir,client_name))
190
223
 
191
- svn_dir = "#{@APP_CONFIG[:dirs][:svn]}/#{client_name}/#{project_name}"
192
- trac_dir = "#{@APP_CONFIG[:dirs][:trac]}/#{client_name}/#{project_name}"
224
+ svn_dir = File.join(@svn_dir,client_name,project_name)
225
+ trac_dir = File.join(@trac_dir,client_name,project_name)
193
226
  if (File.directory? svn_dir) then
194
227
  raise StandardError, "A project called #{project} already exists in the #{client} repository. Would you like to replace it?"
195
228
  end
196
229
 
197
- project_template = File.join(File.dirname(__FILE__), "#{@APP_CONFIG[:templates][:projects]}/#{@APP_CONFIG[:default_project_template]}")
230
+ project_template = File.join(SUBTRAC_ROOT, @APP_CONFIG[:templates][:projects],@APP_CONFIG[:default_project_template])
198
231
 
199
232
  # copy template svn project to a temp folder, then svn import it into the repo
200
- svn_template_dir = "#{project_template}/svn"
201
- temp_dir = "#{@APP_CONFIG[:dirs][:temp]}/#{project_name}"
233
+ svn_template_dir = File.join(project_template,"svn")
234
+ temp_dir = File.join(@temp_dir,project_name)
202
235
  FileUtils.cp_r(svn_template_dir,temp_dir)
203
236
 
204
237
  # create a new subversion repository
205
238
  `svnadmin create #{svn_dir}` if DEV_ENV != 'test'
206
239
 
207
- # import into svn and delete the temporary directory
240
+ # import into svn
208
241
  `svn import #{temp_dir} file:///#{svn_dir} --message "initial import"` if DEV_ENV != 'test'
242
+ # delete the temporary directory
209
243
  FileUtils.rm_r(temp_dir, :force => true)
210
244
 
211
245
  # create a new trac site
@@ -214,7 +248,7 @@ module Subtrac
214
248
  FileUtils.mkdir_p("#{trac_dir}/conf") if DEV_ENV == 'test' # fake the folder for tests
215
249
 
216
250
  # install shared trac.ini
217
- trac_ini_template = File.join(File.dirname(__FILE__), @APP_CONFIG[:templates][:trac])
251
+ trac_ini_template = File.join(SUBTRAC_ROOT, @APP_CONFIG[:templates][:trac])
218
252
  parse_template(trac_ini_template,"#{trac_dir}/conf/trac.ini",binding)
219
253
 
220
254
  # remove custom templates directory so trac uses the shared location (while we wait for trac patch)
@@ -231,14 +265,15 @@ module Subtrac
231
265
  Dir.foreach("#{project_template}/trac/wiki/.") do |file|
232
266
  # do something with the file here
233
267
  unless ['.', '..','.svn'].include? file
234
- temp_file = "#{@APP_CONFIG[:dirs][:temp]}/#{file}"
235
- parse_template("#{project_template}/trac/wiki/#{file}", temp_file, binding)
268
+ temp_file = File.join(@temp_dir,file)
269
+ parse_template(File.join(project_template,"trac/wiki",file), temp_file, binding)
236
270
  `trac-admin #{trac_dir} wiki import #{file} #{temp_file}` if DEV_ENV != 'test'
237
271
  FileUtils.rm(temp_file)
238
272
  end
239
273
  end
274
+
240
275
  end
241
-
276
+ =end
242
277
  end
243
278
 
244
279
 
@@ -1,27 +1,30 @@
1
- test:
1
+ development: &non_production_settings
2
+ # Things that can be changed
2
3
  :admin:
3
4
  :username: "admin"
4
5
  :password: "6kvCHrTLk3ubo" # passw0rd
5
- :server:
6
- :name: "Subtrac Devement Server"
7
- :hostname: "dev.subtrac.com"
8
- :ip: "192.168.2.1"
6
+
7
+ :server_name: "Subtrac Development Server"
8
+ :server_hostname: "dev.subtrac.com"
9
+ :server_ip: "192.168.2.1"
10
+
11
+ :installation_dir: test
12
+
9
13
  :dirs:
10
- :install: test
11
- :svn: test/svn
12
- :trac: test/trac
13
- :log: test/log
14
- :document: test/www
15
- :conf: test/conf
16
- :conf_locations: test/conf/locations
17
- :temp: test/temp
14
+ :svn: svn
15
+ :trac: trac
16
+ :log: log
17
+ :docs: www
18
+ :conf: conf
19
+ :conf_locations: conf/locations
20
+ :temp: tmp
18
21
  :urls:
19
22
  :svn: "/svn"
20
23
  :templates:
21
- :virtual_host: "subtrac/templates/vhost.erb"
22
- :location: "subtrac/templates/location.erb"
23
- :trac: "subtrac/templates/trac.erb"
24
- :projects: "subtrac/templates/projects"
24
+ :virtual_host: "templates/vhost.erb"
25
+ :location: "templates/location.erb"
26
+ :trac: "templates/trac.erb"
27
+ :projects: "templates/projects"
25
28
 
26
29
  :default_project_template: "blank"
27
30
  :default_client: "Subtrac"
@@ -46,9 +49,9 @@ test:
46
49
  admins: admin
47
50
  salisburyk: admin
48
51
  client: clients
49
-
50
52
 
51
- development:
53
+ test:
54
+ <<: *non_production_settings
52
55
 
53
56
  production:
54
57
 
@@ -2,9 +2,9 @@
2
2
  SetHandler mod_python
3
3
  PythonInterpreter main_interpreter
4
4
  PythonHandler trac.web.modpython_frontend
5
- PythonOption TracEnvParentDir <%= @APP_CONFIG[:dirs][:trac] %>/<%= client_name %>
5
+ PythonOption TracEnvParentDir <%= @trac_dir %>/<%= client_name %>
6
6
  PythonOption TracUriRoot /<%= client_name %>
7
- PythonOption TracEnvIndexTemplate <%= @APP_CONFIG[:dirs][:trac] %>/<%= client_name %>/trac_theme/htdocs/index/index.html
7
+ PythonOption TracEnvIndexTemplate <%= @trac_dir %>/<%= client_name %>/trac_theme/htdocs/index/index.html
8
8
  PythonOption PYTHON_EGG_CACHE /tmp
9
9
  </location>
10
10
  <location <%= @APP_CONFIG[:urls][:svn] %>/<%= client_name %>>
@@ -13,7 +13,7 @@ This is the home of development for #{client}. This page is editable by design.
13
13
  Make sure you have subversion client installed, then you can check the project out using:
14
14
 
15
15
  {{{
16
- svn checkout http://#{@APP_CONFIG[:server][:hostname]}#{@APP_CONFIG[:urls][:svn]}/#{client_name}/#{project_name}/trunk #{project_name}
16
+ svn checkout http://#{@server_hostname}#{@APP_CONFIG[:urls][:svn]}/#{client_name}/#{project_name}/trunk #{project_name}
17
17
  }}}
18
18
 
19
19
  === Using SVN ===
@@ -1,5 +1,5 @@
1
1
  [inherit]
2
- file = <%= @APP_CONFIG[:dirs][:document] %>/common/trac.ini
2
+ file = <%= @docs_dir %>/common/trac.ini
3
3
  templates_dir = ../../trac_theme/shared/theme/templates
4
4
 
5
5
  [project]
@@ -1,14 +1,14 @@
1
1
  <virtualhost *>
2
2
  ServerAdmin webmaster@localhost
3
- ServerName <%= @APP_CONFIG[:server][:hostname] %>
4
- DocumentRoot <%= @APP_CONFIG[:dirs][:document] %>
5
- ErrorLog <%= @APP_CONFIG[:dirs][:log] %>/error.<%= @APP_CONFIG[:server][:hostname] %>.log
6
- CustomLog <%= @APP_CONFIG[:dirs][:log] %>/access.<%= @APP_CONFIG[:server][:hostname] %>.log combined
3
+ ServerName <%= @server_hostname %>
4
+ DocumentRoot <%= @docs_dir %>
5
+ ErrorLog <%= @APP_CONFIG[:dirs][:log] %>/error.<%= @server_hostname %>.log
6
+ CustomLog <%= @APP_CONFIG[:dirs][:log] %>/access.<%= @server_hostname %>.log combined
7
7
  LogLevel error
8
8
 
9
9
  RewriteEngine On
10
- RewriteRule ^/$ http://<%= @APP_CONFIG[:server][:hostname] %>/saint/public
11
- RewriteRule ^/index*$ http://<%= @APP_CONFIG[:server][:hostname] %>/saint/public
10
+ RewriteRule ^/$ http://<%= @server_hostname %>/saint/public
11
+ RewriteRule ^/index*$ http://<%= @server_hostname %>/saint/public
12
12
 
13
13
  <location />
14
14
  AuthType Basic
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: keithsalisbury-subtrac
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Keith Salisbury
@@ -65,110 +65,6 @@ files:
65
65
  - lib/subtrac/templates/projects/trac_theme/trac/wiki/WikiStart
66
66
  - lib/subtrac/templates/trac.erb
67
67
  - lib/subtrac/templates/vhost.erb
68
- - lib/subtrac/trac-plugins/advancedticketworkflowplugin/advancedworkflow/__init__.py
69
- - lib/subtrac/trac-plugins/advancedticketworkflowplugin/advancedworkflow/controller.py
70
- - lib/subtrac/trac-plugins/advancedticketworkflowplugin/setup.cfg
71
- - lib/subtrac/trac-plugins/advancedticketworkflowplugin/setup.py
72
- - lib/subtrac/trac-plugins/clientsplugin/clients/__init__.py
73
- - lib/subtrac/trac-plugins/clientsplugin/clients/action.py
74
- - lib/subtrac/trac-plugins/clientsplugin/clients/action_email.py
75
- - lib/subtrac/trac-plugins/clientsplugin/clients/action_zendesk_forum.py
76
- - lib/subtrac/trac-plugins/clientsplugin/clients/admin.py
77
- - lib/subtrac/trac-plugins/clientsplugin/clients/api.py
78
- - lib/subtrac/trac-plugins/clientsplugin/clients/client.py
79
- - lib/subtrac/trac-plugins/clientsplugin/clients/events.py
80
- - lib/subtrac/trac-plugins/clientsplugin/clients/eventsadmin.py
81
- - lib/subtrac/trac-plugins/clientsplugin/clients/htdocs/clients.css
82
- - lib/subtrac/trac-plugins/clientsplugin/clients/model.py
83
- - lib/subtrac/trac-plugins/clientsplugin/clients/processor.py
84
- - lib/subtrac/trac-plugins/clientsplugin/clients/reportmanager.py
85
- - lib/subtrac/trac-plugins/clientsplugin/clients/reports.py
86
- - lib/subtrac/trac-plugins/clientsplugin/clients/summary.py
87
- - lib/subtrac/trac-plugins/clientsplugin/clients/summary_milestone.py
88
- - lib/subtrac/trac-plugins/clientsplugin/clients/summary_ticketchanges.py
89
- - lib/subtrac/trac-plugins/clientsplugin/clients/templates/admin_client_events.html
90
- - lib/subtrac/trac-plugins/clientsplugin/clients/templates/admin_clients.html
91
- - lib/subtrac/trac-plugins/clientsplugin/cron/changes.xslt
92
- - lib/subtrac/trac-plugins/clientsplugin/cron/run-client-event
93
- - lib/subtrac/trac-plugins/clientsplugin/cron/summary.xslt
94
- - lib/subtrac/trac-plugins/clientsplugin/setup.py
95
- - lib/subtrac/trac-plugins/estimationtoolsplugin/estimationtools/__init__.py
96
- - lib/subtrac/trac-plugins/estimationtoolsplugin/estimationtools/burndownchart.py
97
- - lib/subtrac/trac-plugins/estimationtoolsplugin/estimationtools/hoursinplaceeditor.py
98
- - lib/subtrac/trac-plugins/estimationtoolsplugin/estimationtools/hoursremaining.py
99
- - lib/subtrac/trac-plugins/estimationtoolsplugin/estimationtools/htdocs/jquery-1.2.3.min.js
100
- - lib/subtrac/trac-plugins/estimationtoolsplugin/estimationtools/htdocs/jquery.jeditable.js
101
- - lib/subtrac/trac-plugins/estimationtoolsplugin/estimationtools/htdocs/jquery.jeditable.mini.js
102
- - lib/subtrac/trac-plugins/estimationtoolsplugin/estimationtools/templates/edithours.html
103
- - lib/subtrac/trac-plugins/estimationtoolsplugin/estimationtools/tests/burndownchart.py
104
- - lib/subtrac/trac-plugins/estimationtoolsplugin/estimationtools/tests/hoursremaining.py
105
- - lib/subtrac/trac-plugins/estimationtoolsplugin/estimationtools/tests/workloadchart.py
106
- - lib/subtrac/trac-plugins/estimationtoolsplugin/estimationtools/utils.py
107
- - lib/subtrac/trac-plugins/estimationtoolsplugin/estimationtools/workloadchart.py
108
- - lib/subtrac/trac-plugins/estimationtoolsplugin/setup.py
109
- - lib/subtrac/trac-plugins/timingandestimationplugin/scripts/SumRollups.js
110
- - lib/subtrac/trac-plugins/timingandestimationplugin/scripts/adw_tracdb.py
111
- - lib/subtrac/trac-plugins/timingandestimationplugin/scripts/git-post-receive
112
- - lib/subtrac/trac-plugins/timingandestimationplugin/scripts/trac-post-commit.py
113
- - lib/subtrac/trac-plugins/timingandestimationplugin/scripts/trac_billing.py
114
- - lib/subtrac/trac-plugins/timingandestimationplugin/scripts/utils/__init__.py
115
- - lib/subtrac/trac-plugins/timingandestimationplugin/scripts/utils/mail.py
116
- - lib/subtrac/trac-plugins/timingandestimationplugin/setup.py
117
- - lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/__init__.py
118
- - lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/api.py
119
- - lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/blackmagic.py
120
- - lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/dbhelper.py
121
- - lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/htdocs/billingplugin.css
122
- - lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/htdocs/field_disabler.js
123
- - lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/htdocs/formatDate.js
124
- - lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/htdocs/js/tip_centerwindow.js
125
- - lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/htdocs/js/tip_followscroll.js
126
- - lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/htdocs/js/wz_tooltip.js
127
- - lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/htdocs/linkifyer.js
128
- - lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/htdocs/query.js
129
- - lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/htdocs/ticket.js
130
- - lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/query_webui.py
131
- - lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/reportmanager.py
132
- - lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/reports.py
133
- - lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/reports_filter.py
134
- - lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/statuses.py
135
- - lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/tande_filters.py
136
- - lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/templates/billing.cs
137
- - lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/templates/billing.html
138
- - lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/ticket_daemon.py
139
- - lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/ticket_policy.py
140
- - lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/ticket_webui.py
141
- - lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/usermanual.py
142
- - lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/webui.py
143
- - lib/subtrac/trac-plugins/worklogplugin/setup.py
144
- - lib/subtrac/trac-plugins/worklogplugin/worklog/__init__.py
145
- - lib/subtrac/trac-plugins/worklogplugin/worklog/api.py
146
- - lib/subtrac/trac-plugins/worklogplugin/worklog/htdocs/jqModal.css
147
- - lib/subtrac/trac-plugins/worklogplugin/worklog/htdocs/jqModal.js
148
- - lib/subtrac/trac-plugins/worklogplugin/worklog/htdocs/jquery.mousewheel.pack.js
149
- - lib/subtrac/trac-plugins/worklogplugin/worklog/htdocs/jquery.timeentry.pack.js
150
- - lib/subtrac/trac-plugins/worklogplugin/worklog/htdocs/tracWorklog.js
151
- - lib/subtrac/trac-plugins/worklogplugin/worklog/htdocs/ui.datepicker.css
152
- - lib/subtrac/trac-plugins/worklogplugin/worklog/htdocs/ui.datepicker.js
153
- - lib/subtrac/trac-plugins/worklogplugin/worklog/htdocs/work.png
154
- - lib/subtrac/trac-plugins/worklogplugin/worklog/htdocs/work.xcf
155
- - lib/subtrac/trac-plugins/worklogplugin/worklog/htdocs/worklogplugin.css
156
- - lib/subtrac/trac-plugins/worklogplugin/worklog/htdocs/workstart.png
157
- - lib/subtrac/trac-plugins/worklogplugin/worklog/htdocs/workstop.png
158
- - lib/subtrac/trac-plugins/worklogplugin/worklog/manager.py
159
- - lib/subtrac/trac-plugins/worklogplugin/worklog/reports.py
160
- - lib/subtrac/trac-plugins/worklogplugin/worklog/templates/worklog.html
161
- - lib/subtrac/trac-plugins/worklogplugin/worklog/templates/worklog_stop.html
162
- - lib/subtrac/trac-plugins/worklogplugin/worklog/templates/worklog_user.html
163
- - lib/subtrac/trac-plugins/worklogplugin/worklog/templates/worklog_webadminui.html
164
- - lib/subtrac/trac-plugins/worklogplugin/worklog/ticket_daemon.py
165
- - lib/subtrac/trac-plugins/worklogplugin/worklog/ticket_filter.py
166
- - lib/subtrac/trac-plugins/worklogplugin/worklog/timeline_hook.py
167
- - lib/subtrac/trac-plugins/worklogplugin/worklog/usermanual.py
168
- - lib/subtrac/trac-plugins/worklogplugin/worklog/util.py
169
- - lib/subtrac/trac-plugins/worklogplugin/worklog/webadminui.py
170
- - lib/subtrac/trac-plugins/worklogplugin/worklog/webui.py
171
- - lib/subtrac/trac-plugins/worklogplugin/worklog/xmlrpc.py
172
68
  - lib/subtrac/version.rb
173
69
  has_rdoc: true
174
70
  homepage: http://github.com/keithsalisbury/subtrac