plesk_kit 1.0.1 → 1.0.2

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