plesk_kit 1.0.1 → 1.0.2

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.
Files changed (162) hide show
  1. metadata +4 -265
  2. data/app/assets/javascripts/plesk_kit/application.js +0 -15
  3. data/app/assets/javascripts/plesk_kit/customer_accounts.js +0 -2
  4. data/app/assets/javascripts/plesk_kit/customers.js +0 -2
  5. data/app/assets/javascripts/plesk_kit/reseller_accounts.js +0 -2
  6. data/app/assets/javascripts/plesk_kit/servers.js +0 -2
  7. data/app/assets/javascripts/plesk_kit/subscriptions.js +0 -2
  8. data/app/assets/stylesheets/plesk_kit/application.css +0 -13
  9. data/app/assets/stylesheets/plesk_kit/customer_accounts.css +0 -4
  10. data/app/assets/stylesheets/plesk_kit/customers.css +0 -4
  11. data/app/assets/stylesheets/plesk_kit/reseller_accounts.css +0 -4
  12. data/app/assets/stylesheets/plesk_kit/servers.css +0 -4
  13. data/app/assets/stylesheets/plesk_kit/subscriptions.css +0 -4
  14. data/app/assets/stylesheets/scaffold.css +0 -56
  15. data/app/controllers/plesk_kit/application_controller.rb +0 -4
  16. data/app/controllers/plesk_kit/customer_accounts_controller.rb +0 -87
  17. data/app/controllers/plesk_kit/reseller_accounts_controller.rb +0 -87
  18. data/app/controllers/plesk_kit/servers_controller.rb +0 -87
  19. data/app/controllers/plesk_kit/subscriptions_controller.rb +0 -87
  20. data/app/helpers/plesk_kit/application_helper.rb +0 -4
  21. data/app/helpers/plesk_kit/customer_accounts_helper.rb +0 -4
  22. data/app/helpers/plesk_kit/reseller_accounts_helper.rb +0 -4
  23. data/app/helpers/plesk_kit/servers_helper.rb +0 -4
  24. data/app/helpers/plesk_kit/subscriptions_helper.rb +0 -4
  25. data/app/models/plesk_kit/client.rb +0 -25
  26. data/app/models/plesk_kit/communicator.rb +0 -60
  27. data/app/models/plesk_kit/customer_account.rb +0 -69
  28. data/app/models/plesk_kit/reseller_account.rb +0 -72
  29. data/app/models/plesk_kit/server.rb +0 -30
  30. data/app/models/plesk_kit/service_plan.rb +0 -359
  31. data/app/models/plesk_kit/subscription.rb +0 -95
  32. data/app/views/layouts/plesk_kit/application.html.erb +0 -14
  33. data/app/views/plesk_kit/customer_accounts/_form.html.erb +0 -33
  34. data/app/views/plesk_kit/customer_accounts/edit.html.erb +0 -6
  35. data/app/views/plesk_kit/customer_accounts/index.html.erb +0 -29
  36. data/app/views/plesk_kit/customer_accounts/new.html.erb +0 -5
  37. data/app/views/plesk_kit/customer_accounts/show.html.erb +0 -25
  38. data/app/views/plesk_kit/reseller_accounts/_form.html.erb +0 -33
  39. data/app/views/plesk_kit/reseller_accounts/edit.html.erb +0 -6
  40. data/app/views/plesk_kit/reseller_accounts/index.html.erb +0 -29
  41. data/app/views/plesk_kit/reseller_accounts/new.html.erb +0 -5
  42. data/app/views/plesk_kit/reseller_accounts/show.html.erb +0 -25
  43. data/app/views/plesk_kit/servers/_form.html.erb +0 -37
  44. data/app/views/plesk_kit/servers/edit.html.erb +0 -6
  45. data/app/views/plesk_kit/servers/index.html.erb +0 -31
  46. data/app/views/plesk_kit/servers/new.html.erb +0 -5
  47. data/app/views/plesk_kit/servers/show.html.erb +0 -30
  48. data/app/views/plesk_kit/subscriptions/_form.html.erb +0 -49
  49. data/app/views/plesk_kit/subscriptions/edit.html.erb +0 -6
  50. data/app/views/plesk_kit/subscriptions/index.html.erb +0 -33
  51. data/app/views/plesk_kit/subscriptions/new.html.erb +0 -5
  52. data/app/views/plesk_kit/subscriptions/show.html.erb +0 -35
  53. data/config/routes.rb +0 -8
  54. data/db/migrate/20130906033658_create_plesk_kit_customer_accounts.rb +0 -14
  55. data/db/migrate/20130906033745_create_plesk_kit_reseller_accounts.rb +0 -15
  56. data/db/migrate/20130906034225_create_plesk_kit_subscriptions.rb +0 -16
  57. data/db/migrate/20130906040817_create_plesk_kit_servers.rb +0 -13
  58. data/db/migrate/20130917012645_create_plesk_kit_service_plans.rb +0 -13
  59. data/lib/plesk_kit/engine.rb +0 -23
  60. data/lib/plesk_kit/version.rb +0 -3
  61. data/lib/plesk_kit.rb +0 -4
  62. data/lib/tasks/plesk_kit_tasks.rake +0 -4
  63. data/test/dummy/README.rdoc +0 -261
  64. data/test/dummy/Rakefile +0 -7
  65. data/test/dummy/app/assets/javascripts/application.js +0 -15
  66. data/test/dummy/app/assets/stylesheets/application.css +0 -13
  67. data/test/dummy/app/controllers/application_controller.rb +0 -3
  68. data/test/dummy/app/helpers/application_helper.rb +0 -2
  69. data/test/dummy/app/views/layouts/application.html.erb +0 -14
  70. data/test/dummy/config/application.rb +0 -59
  71. data/test/dummy/config/boot.rb +0 -10
  72. data/test/dummy/config/database.yml +0 -25
  73. data/test/dummy/config/environment.rb +0 -5
  74. data/test/dummy/config/environments/development.rb +0 -37
  75. data/test/dummy/config/environments/production.rb +0 -67
  76. data/test/dummy/config/environments/test.rb +0 -37
  77. data/test/dummy/config/initializers/backtrace_silencers.rb +0 -7
  78. data/test/dummy/config/initializers/inflections.rb +0 -15
  79. data/test/dummy/config/initializers/mime_types.rb +0 -5
  80. data/test/dummy/config/initializers/secret_token.rb +0 -7
  81. data/test/dummy/config/initializers/session_store.rb +0 -8
  82. data/test/dummy/config/initializers/wrap_parameters.rb +0 -14
  83. data/test/dummy/config/locales/en.yml +0 -5
  84. data/test/dummy/config/routes.rb +0 -4
  85. data/test/dummy/config.ru +0 -4
  86. data/test/dummy/db/development.sqlite3 +0 -0
  87. data/test/dummy/db/migrate/20130906035255_create_plesk_kit_customer_accounts.plesk_kit.rb +0 -13
  88. data/test/dummy/db/migrate/20130906035256_create_plesk_kit_reseller_accounts.plesk_kit.rb +0 -13
  89. data/test/dummy/db/migrate/20130906035257_create_plesk_kit_subscriptions.plesk_kit.rb +0 -17
  90. data/test/dummy/db/migrate/20130906040830_create_plesk_kit_servers.plesk_kit.rb +0 -14
  91. data/test/dummy/db/migrate/20130917020158_create_plesk_kit_service_plans.plesk_kit.rb +0 -14
  92. data/test/dummy/db/schema.rb +0 -82
  93. data/test/dummy/db/test.sqlite3 +0 -0
  94. data/test/dummy/log/development.log +0 -9415
  95. data/test/dummy/public/404.html +0 -26
  96. data/test/dummy/public/422.html +0 -26
  97. data/test/dummy/public/500.html +0 -25
  98. data/test/dummy/public/favicon.ico +0 -0
  99. data/test/dummy/script/rails +0 -6
  100. data/test/dummy/tmp/cache/assets/C5D/AF0/sprockets%2Faa100860897bd469c74972020e9d6966 +0 -0
  101. data/test/dummy/tmp/cache/assets/C83/800/sprockets%2F0892f1bdb69d260331b7b414298969c1 +0 -0
  102. data/test/dummy/tmp/cache/assets/C8A/850/sprockets%2F8729404d8f18dcc24e0523d37801589e +0 -0
  103. data/test/dummy/tmp/cache/assets/CC2/EF0/sprockets%2F756af5df20241589c464741d971fd7d8 +0 -0
  104. data/test/dummy/tmp/cache/assets/CC4/B50/sprockets%2F34e848818d05961fdc8c6c275e16629b +0 -0
  105. data/test/dummy/tmp/cache/assets/CD8/370/sprockets%2F357970feca3ac29060c1e3861e2c0953 +0 -0
  106. data/test/dummy/tmp/cache/assets/CE0/340/sprockets%2F4b6f8f760b2a1789f60289271d20c0be +0 -0
  107. data/test/dummy/tmp/cache/assets/CED/DE0/sprockets%2F18595c4734c4d7582dee3ae35b079a49 +0 -0
  108. data/test/dummy/tmp/cache/assets/CEE/F00/sprockets%2F891ac2c44b3be23865e990924a995fe2 +0 -0
  109. data/test/dummy/tmp/cache/assets/D10/EC0/sprockets%2F73e40114523e8419fcd0efa71d597c5d +0 -0
  110. data/test/dummy/tmp/cache/assets/D11/AE0/sprockets%2Fa1a95d724723a8f11e9037e8d2b28a8f +0 -0
  111. data/test/dummy/tmp/cache/assets/D13/380/sprockets%2F354af7b9709615f6f10e77d7e1b2da15 +0 -0
  112. data/test/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705 +0 -0
  113. data/test/dummy/tmp/cache/assets/D33/4D0/sprockets%2F14f2359cdf393c5e0b6401e233bb2ef5 +0 -0
  114. data/test/dummy/tmp/cache/assets/D3B/BF0/sprockets%2F3b7fb545a51edee1b772b818b2424d56 +0 -0
  115. data/test/dummy/tmp/cache/assets/D3C/B20/sprockets%2F1927fcaeaf1d200dab53e55b86526939 +0 -0
  116. data/test/dummy/tmp/cache/assets/D3F/2C0/sprockets%2F1ada6cc19aa84bf00164875127ef689e +0 -0
  117. data/test/dummy/tmp/cache/assets/D44/140/sprockets%2F341e589bb22dea2848665b989b2ba3ea +0 -0
  118. data/test/dummy/tmp/cache/assets/D4A/700/sprockets%2Fd56d83b8bbc98f0ce23f6263ff796020 +0 -0
  119. data/test/dummy/tmp/cache/assets/D4E/1B0/sprockets%2Ff7cbd26ba1d28d48de824f0e94586655 +0 -0
  120. data/test/dummy/tmp/cache/assets/D51/190/sprockets%2F2a28b96857a9e16a74ee9dde52903dc7 +0 -0
  121. data/test/dummy/tmp/cache/assets/D51/610/sprockets%2F34de6f511191ffa00431d50cb5b31eac +0 -0
  122. data/test/dummy/tmp/cache/assets/D5A/EA0/sprockets%2Fd771ace226fc8215a3572e0aa35bb0d6 +0 -0
  123. data/test/dummy/tmp/cache/assets/D62/7B0/sprockets%2F39cdc1f2f8021136f2034ac5a9dab7f6 +0 -0
  124. data/test/dummy/tmp/cache/assets/D78/5D0/sprockets%2Feb7a1f999039a6136d9cfe25222fdcd5 +0 -0
  125. data/test/dummy/tmp/cache/assets/D7A/A30/sprockets%2F7e54a37cfb268f56b4c49b9f02029bff +0 -0
  126. data/test/dummy/tmp/cache/assets/D98/A30/sprockets%2Fd3cd57a8fade5aef376036123c5e11d6 +0 -0
  127. data/test/dummy/tmp/cache/assets/DA6/B80/sprockets%2F3fea63c0c7e19aae37d6037cd9d987e0 +0 -0
  128. data/test/dummy/tmp/cache/assets/DBA/730/sprockets%2F182cd97bf96da9ad7f037dcda77e8965 +0 -0
  129. data/test/dummy/tmp/cache/assets/DDC/400/sprockets%2Fcffd775d018f68ce5dba1ee0d951a994 +0 -0
  130. data/test/dummy/tmp/cache/assets/DF9/B80/sprockets%2Fe87d27fca0c65097c5b652becc1eec0b +0 -0
  131. data/test/dummy/tmp/cache/assets/DFA/E90/sprockets%2F1fc47d21f6a426ae1e5d7b1dc9b39dbf +0 -0
  132. data/test/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af +0 -0
  133. data/test/dummy/tmp/cache/assets/E28/3B0/sprockets%2Fce7fac4e9b4c46afa942e091b54c6aab +0 -0
  134. data/test/dummy/tmp/cache/assets/E3D/360/sprockets%2F19c6fbcf6aaed23dce100b1c1b2b0b8c +0 -0
  135. data/test/dummy/tmp/cache/assets/E89/270/sprockets%2F1bf1ee2ecfe1c679faf4002f4ea8bece +0 -0
  136. data/test/fixtures/plesk_kit/customer_accounts.yml +0 -13
  137. data/test/fixtures/plesk_kit/customers.yml +0 -7
  138. data/test/fixtures/plesk_kit/reseller_accounts.yml +0 -13
  139. data/test/fixtures/plesk_kit/servers.yml +0 -15
  140. data/test/fixtures/plesk_kit/service_plans.yml +0 -13
  141. data/test/fixtures/plesk_kit/subscriptions.yml +0 -17
  142. data/test/fixtures/plesk_kit/webspaces.yml +0 -11
  143. data/test/functional/plesk_kit/customer_accounts_controller_test.rb +0 -51
  144. data/test/functional/plesk_kit/customers_controller_test.rb +0 -51
  145. data/test/functional/plesk_kit/reseller_accounts_controller_test.rb +0 -51
  146. data/test/functional/plesk_kit/servers_controller_test.rb +0 -51
  147. data/test/functional/plesk_kit/subscriptions_controller_test.rb +0 -51
  148. data/test/integration/navigation_test.rb +0 -10
  149. data/test/plesk_kit_test.rb +0 -7
  150. data/test/test_helper.rb +0 -15
  151. data/test/unit/helpers/plesk_kit/customer_accounts_helper_test.rb +0 -6
  152. data/test/unit/helpers/plesk_kit/customers_helper_test.rb +0 -6
  153. data/test/unit/helpers/plesk_kit/reseller_accounts_helper_test.rb +0 -6
  154. data/test/unit/helpers/plesk_kit/servers_helper_test.rb +0 -6
  155. data/test/unit/helpers/plesk_kit/subscriptions_helper_test.rb +0 -6
  156. data/test/unit/plesk_kit/customer_account_test.rb +0 -9
  157. data/test/unit/plesk_kit/customer_test.rb +0 -9
  158. data/test/unit/plesk_kit/reseller_account_test.rb +0 -9
  159. data/test/unit/plesk_kit/server_test.rb +0 -9
  160. data/test/unit/plesk_kit/service_plan_test.rb +0 -9
  161. data/test/unit/plesk_kit/subscription_test.rb +0 -9
  162. data/test/unit/plesk_kit/webspace_test.rb +0 -9
@@ -1,87 +0,0 @@
1
- require_dependency "plesk_kit/application_controller"
2
-
3
- module PleskKit
4
- class ServersController < ApplicationController
5
- # GET /servers
6
- # GET /servers.json
7
- def index
8
- @servers = Server.all
9
-
10
- respond_to do |format|
11
- format.html # index.html.erb
12
- format.json { render json: @servers }
13
- end
14
- end
15
-
16
- # GET /servers/1
17
- # GET /servers/1.json
18
- def show
19
- @server = Server.find(params[:id])
20
-
21
- respond_to do |format|
22
- format.html # show.html.erb
23
- format.json { render json: @server }
24
- end
25
- end
26
-
27
- # GET /servers/new
28
- # GET /servers/new.json
29
- def new
30
- @server = Server.new
31
-
32
- respond_to do |format|
33
- format.html # new.html.erb
34
- format.json { render json: @server }
35
- end
36
- end
37
-
38
- # GET /servers/1/edit
39
- def edit
40
- @server = Server.find(params[:id])
41
- end
42
-
43
- # POST /servers
44
- # POST /servers.json
45
- def create
46
- @server = Server.new(params[:server])
47
-
48
- respond_to do |format|
49
- if @server.save
50
- format.html { redirect_to @server, notice: 'Server was successfully created.' }
51
- format.json { render json: @server, status: :created, location: @server }
52
- else
53
- format.html { render action: "new" }
54
- format.json { render json: @server.errors, status: :unprocessable_entity }
55
- end
56
- end
57
- end
58
-
59
- # PUT /servers/1
60
- # PUT /servers/1.json
61
- def update
62
- @server = Server.find(params[:id])
63
-
64
- respond_to do |format|
65
- if @server.update_attributes(params[:server])
66
- format.html { redirect_to @server, notice: 'Server was successfully updated.' }
67
- format.json { head :no_content }
68
- else
69
- format.html { render action: "edit" }
70
- format.json { render json: @server.errors, status: :unprocessable_entity }
71
- end
72
- end
73
- end
74
-
75
- # DELETE /servers/1
76
- # DELETE /servers/1.json
77
- def destroy
78
- @server = Server.find(params[:id])
79
- @server.destroy
80
-
81
- respond_to do |format|
82
- format.html { redirect_to servers_url }
83
- format.json { head :no_content }
84
- end
85
- end
86
- end
87
- end
@@ -1,87 +0,0 @@
1
- require_dependency "plesk_kit/application_controller"
2
-
3
- module PleskKit
4
- class SubscriptionsController < ApplicationController
5
- # GET /subscriptions
6
- # GET /subscriptions.json
7
- def index
8
- @subscriptions = Subscription.all
9
-
10
- respond_to do |format|
11
- format.html # index.html.erb
12
- format.json { render json: @subscriptions }
13
- end
14
- end
15
-
16
- # GET /subscriptions/1
17
- # GET /subscriptions/1.json
18
- def show
19
- @subscription = Subscription.find(params[:id])
20
-
21
- respond_to do |format|
22
- format.html # show.html.erb
23
- format.json { render json: @subscription }
24
- end
25
- end
26
-
27
- # GET /subscriptions/new
28
- # GET /subscriptions/new.json
29
- def new
30
- @subscription = Subscription.new
31
-
32
- respond_to do |format|
33
- format.html # new.html.erb
34
- format.json { render json: @subscription }
35
- end
36
- end
37
-
38
- # GET /subscriptions/1/edit
39
- def edit
40
- @subscription = Subscription.find(params[:id])
41
- end
42
-
43
- # POST /subscriptions
44
- # POST /subscriptions.json
45
- def create
46
- @subscription = Subscription.new(params[:subscription])
47
-
48
- respond_to do |format|
49
- if @subscription.save
50
- format.html { redirect_to @subscription, notice: 'Subscription was successfully created.' }
51
- format.json { render json: @subscription, status: :created, location: @subscription }
52
- else
53
- format.html { render action: "new" }
54
- format.json { render json: @subscription.errors, status: :unprocessable_entity }
55
- end
56
- end
57
- end
58
-
59
- # PUT /subscriptions/1
60
- # PUT /subscriptions/1.json
61
- def update
62
- @subscription = Subscription.find(params[:id])
63
-
64
- respond_to do |format|
65
- if @subscription.update_attributes(params[:subscription])
66
- format.html { redirect_to @subscription, notice: 'Subscription was successfully updated.' }
67
- format.json { head :no_content }
68
- else
69
- format.html { render action: "edit" }
70
- format.json { render json: @subscription.errors, status: :unprocessable_entity }
71
- end
72
- end
73
- end
74
-
75
- # DELETE /subscriptions/1
76
- # DELETE /subscriptions/1.json
77
- def destroy
78
- @subscription = Subscription.find(params[:id])
79
- @subscription.destroy
80
-
81
- respond_to do |format|
82
- format.html { redirect_to subscriptions_url }
83
- format.json { head :no_content }
84
- end
85
- end
86
- end
87
- end
@@ -1,4 +0,0 @@
1
- module PleskKit
2
- module ApplicationHelper
3
- end
4
- end
@@ -1,4 +0,0 @@
1
- module PleskKit
2
- module CustomerAccountsHelper
3
- end
4
- end
@@ -1,4 +0,0 @@
1
- module PleskKit
2
- module ResellerAccountsHelper
3
- end
4
- end
@@ -1,4 +0,0 @@
1
- module PleskKit
2
- module ServersHelper
3
- end
4
- end
@@ -1,4 +0,0 @@
1
- module PleskKit
2
- module SubscriptionsHelper
3
- end
4
- end
@@ -1,25 +0,0 @@
1
- module PleskKit
2
- class Client
3
- attr_accessor :host, :user, :pass, :timeout, :rpc_version, :xml_response, :xml_target
4
- def initialize(server)
5
- @host, @user, @pass, @timeout = server.host, server.username, server.password, 30
6
- end
7
-
8
- def send_to_plesk(xml)
9
- http = Net::HTTP.new(@host, 8443)
10
- puts http.inspect
11
- http.use_ssl = true
12
- http.verify_mode = OpenSSL::SSL::VERIFY_NONE
13
- @headers = {
14
- 'HTTP_AUTH_LOGIN' => @user,
15
- 'HTTP_AUTH_PASSWD' => @pass,
16
- 'Content-Type' => 'text/xml',
17
- }
18
- puts @headers
19
- path = "/enterprise/control/agent.php"
20
- res, data = http.post2(path, xml, @headers)
21
- puts res
22
- return res.body, xml
23
- end
24
- end
25
- end
@@ -1,60 +0,0 @@
1
- module PleskKit
2
- class Communicator
3
-
4
- require 'net/http'
5
- require 'builder'
6
- require "rexml/document"
7
-
8
- # The shell for the XML
9
- def self.shell
10
- Builder::XmlMarkup.new
11
- end
12
-
13
- # Creates object and sends it in one go
14
- # Code only written for Customer::Account so far
15
- def self.pack_and_play_with s, customer_account = nil, create = false
16
- server = PleskKit::Server.find_by_environment(Rails.env.to_s) # TODO will this provision to same server cus is on?
17
- #TODO server = PleskKit::Server.most_suitable_for_new_customer
18
- packet = nil
19
- if customer_account.blank?
20
- packet = s.pack_this shell
21
- else
22
- packet = s.pack_this shell, customer_account
23
- end
24
- response = transportation_for packet,server
25
- if (s.class.to_s == 'PleskKit::CustomerAccount' || s.class.to_s == 'PleskKit::ResellerAccount')
26
- s.analyse response[0], server.id
27
- else
28
- customer_account.blank? ? (s.analyse response[0]) : (s.analyse response[0],customer_account)
29
- end
30
- end
31
-
32
- # Sends packet to plesk
33
- def self.transportation_for packet, server
34
- c = PleskKit::Client.new(server)
35
- c.send_to_plesk packet
36
- end
37
-
38
- def self.sync_subscription sub, sub_guid
39
- server = PleskKit::Server.first
40
- packet = sub.sync_pack shell,sub_guid
41
- response = transportation_for packet,server
42
- sub.analyse response[0]
43
- end
44
-
45
- def self.get_service_plan service_plan, server
46
- server = PleskKit::Server.first
47
- packet = service_plan.build_xml_for_get shell
48
- response = transportation_for packet, server
49
- service_plan.analyse response[0], server
50
- end
51
-
52
- def self.push_service_plan service_plan, server
53
- server = PleskKit::Server.first
54
- packet = service_plan.build_xml_for_add shell
55
- response = transportation_for packet, server
56
- service_plan.analyse response[0], server
57
- end
58
-
59
- end
60
- end
@@ -1,69 +0,0 @@
1
- module PleskKit
2
- class CustomerAccount < ActiveRecord::Base
3
- attr_accessible :cname, :login, :passwd, :pname, :server_id # TODO add plesk_id
4
- has_many :subscriptions
5
- belongs_to :server
6
- validate :uniqueness_of_login_across_accounts
7
- before_create :provision_in_plesk
8
-
9
- def provision_in_plesk
10
- PleskKit::Communicator.pack_and_play_with self
11
- end
12
-
13
- # # #
14
- # Methods for sending brand new customer account to Plesk
15
- # # #
16
-
17
- # Creates Object & Packet
18
- def pack_this shell
19
- xml = shell
20
- xml.instruct!
21
- xml.packet(:version => '1.6.3.5') {
22
- xml.customer {
23
- xml.add{
24
- xml.gen_info{
25
- xml.cname(self.cname)
26
- xml.pname(self.pname)
27
- xml.login(self.login)
28
- xml.passwd(self.passwd)
29
- #xml.status(status ? 0 : 1)
30
- #xml.phone(phone)
31
- #xml.fax(fax)
32
- #xml.address(address)
33
- #xml.city(city)
34
- #xml.state(state)
35
- #xml.pcode(pcode)
36
- #xml.country(country)
37
- }
38
- }
39
- }
40
- }
41
- return xml.target!
42
- end
43
-
44
- def analyse response_string, server_id
45
- xml = REXML::Document.new(response_string)
46
- status = xml.root.elements['//status'].text if xml.root.elements['//status'].present?
47
- if status == "error"
48
- code = xml.root.elements['//errcode'].text
49
- message = xml.root.elements['//errtext'].text
50
- raise "#{code}: #{message}"
51
- else
52
- plesk_id = xml.root.elements['//id'].text if xml.root.elements['//id'].present?
53
- self.server_id = server_id
54
- end
55
- self.save
56
- return self # TODO save plesk_id
57
- end
58
-
59
- private
60
- def uniqueness_of_login_across_accounts
61
- if PleskKit::CustomerAccount.find_by_login(self.login).present?
62
- errors.add(:base, "Login is not unique across Uber Plesk accounts")
63
- elsif PleskKit::ResellerAccount.find_by_login(self.login).present?
64
- errors.add(:base, "Login is not unique across Uber Plesk accounts")
65
- end
66
- end
67
-
68
- end
69
- end
@@ -1,72 +0,0 @@
1
- module PleskKit
2
- class ResellerAccount < ActiveRecord::Base
3
- attr_accessible :cname, :login, :passwd, :pname, :plan_name, :service_plan_id, :server_id
4
- validate :uniqueness_of_login_across_accounts
5
-
6
-
7
- has_many :subscriptions
8
- belongs_to :server
9
- before_create :provision_in_plesk
10
-
11
- def provision_in_plesk
12
- PleskKit::Communicator.pack_and_play_with self
13
- end
14
-
15
- # # #
16
- # Methods for sending brand new customer account to Plesk
17
- # # #
18
-
19
- # Creates Object & Packet
20
- def pack_this shell
21
- xml = shell
22
- xml.instruct!
23
- xml.packet(:version => '1.6.3.5') {
24
- xml.reseller {
25
- xml.add{
26
- xml.send(:'gen-info') {
27
- xml.cname(self.cname)
28
- xml.pname(self.pname)
29
- xml.login(self.login)
30
- xml.passwd(self.passwd)
31
- #xml.status(status ? 0 : 1)
32
- #xml.phone(phone)
33
- #xml.fax(fax)
34
- #xml.address(address)
35
- #xml.city(city)
36
- #xml.state(state)
37
- #xml.pcode(pcode)
38
- #xml.country(country)
39
- }
40
- xml.tag!('plan-name', self.plan_name)
41
- }
42
- }
43
- }
44
- return xml.target!
45
- end
46
-
47
- def analyse response_string, server_id
48
- xml = REXML::Document.new(response_string)
49
- status = xml.root.elements['//status'].text if xml.root.elements['//status'].present?
50
- if status == "error"
51
- code = xml.root.elements['//errcode'].text
52
- message = xml.root.elements['//errtext'].text
53
- raise "#{code}: #{message}"
54
- else
55
- plesk_id = xml.root.elements['//id'].text if xml.root.elements['//id'].present?
56
- self.server_id = server_id
57
- end
58
- self.save
59
- return self # TODO save plesk_id
60
- end
61
-
62
-
63
- private
64
- def uniqueness_of_login_across_accounts
65
- if PleskKit::CustomerAccount.find_by_login(self.login).present?
66
- errors.add(:base, "Login is not unique across Uber Plesk accounts")
67
- elsif PleskKit::ResellerAccount.find_by_login(self.login).present?
68
- errors.add(:base, "Login is not unique across Uber Plesk accounts")
69
- end
70
- end
71
- end
72
- end
@@ -1,30 +0,0 @@
1
- module PleskKit
2
- class Server < ActiveRecord::Base
3
- attr_accessible :environment, :ghostname, :host, :password, :username
4
-
5
- has_many :customer_accounts
6
- has_many :reseller_accounts
7
-
8
- validates :environment, :host, :username, :password, :presence => {:message => 'Cannot be blank! Requires, at minimum, environment (dev,staging,production), host without a port, username, and password'}
9
-
10
-
11
- def self.most_suitable_for_new_customer
12
- servers = 'collect_ram_info_for_servers'
13
- servers = 'sort_by_available_ram_descending(servers)'
14
- until servers.blank?
15
- if servers.first.starved_of_resources?
16
- 'remove from array of servers'
17
- 'throw error'
18
- else
19
- return s
20
- end
21
- end
22
- end
23
-
24
- def starved_of_resources?
25
- # TODO Check CPU, Diskspace, RAM. Return false if all met satisfactorily.
26
- false
27
- end
28
-
29
- end
30
- end