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.
- metadata +4 -265
- data/app/assets/javascripts/plesk_kit/application.js +0 -15
- data/app/assets/javascripts/plesk_kit/customer_accounts.js +0 -2
- data/app/assets/javascripts/plesk_kit/customers.js +0 -2
- data/app/assets/javascripts/plesk_kit/reseller_accounts.js +0 -2
- data/app/assets/javascripts/plesk_kit/servers.js +0 -2
- data/app/assets/javascripts/plesk_kit/subscriptions.js +0 -2
- data/app/assets/stylesheets/plesk_kit/application.css +0 -13
- data/app/assets/stylesheets/plesk_kit/customer_accounts.css +0 -4
- data/app/assets/stylesheets/plesk_kit/customers.css +0 -4
- data/app/assets/stylesheets/plesk_kit/reseller_accounts.css +0 -4
- data/app/assets/stylesheets/plesk_kit/servers.css +0 -4
- data/app/assets/stylesheets/plesk_kit/subscriptions.css +0 -4
- data/app/assets/stylesheets/scaffold.css +0 -56
- data/app/controllers/plesk_kit/application_controller.rb +0 -4
- data/app/controllers/plesk_kit/customer_accounts_controller.rb +0 -87
- data/app/controllers/plesk_kit/reseller_accounts_controller.rb +0 -87
- data/app/controllers/plesk_kit/servers_controller.rb +0 -87
- data/app/controllers/plesk_kit/subscriptions_controller.rb +0 -87
- data/app/helpers/plesk_kit/application_helper.rb +0 -4
- data/app/helpers/plesk_kit/customer_accounts_helper.rb +0 -4
- data/app/helpers/plesk_kit/reseller_accounts_helper.rb +0 -4
- data/app/helpers/plesk_kit/servers_helper.rb +0 -4
- data/app/helpers/plesk_kit/subscriptions_helper.rb +0 -4
- data/app/models/plesk_kit/client.rb +0 -25
- data/app/models/plesk_kit/communicator.rb +0 -60
- data/app/models/plesk_kit/customer_account.rb +0 -69
- data/app/models/plesk_kit/reseller_account.rb +0 -72
- data/app/models/plesk_kit/server.rb +0 -30
- data/app/models/plesk_kit/service_plan.rb +0 -359
- data/app/models/plesk_kit/subscription.rb +0 -95
- data/app/views/layouts/plesk_kit/application.html.erb +0 -14
- data/app/views/plesk_kit/customer_accounts/_form.html.erb +0 -33
- data/app/views/plesk_kit/customer_accounts/edit.html.erb +0 -6
- data/app/views/plesk_kit/customer_accounts/index.html.erb +0 -29
- data/app/views/plesk_kit/customer_accounts/new.html.erb +0 -5
- data/app/views/plesk_kit/customer_accounts/show.html.erb +0 -25
- data/app/views/plesk_kit/reseller_accounts/_form.html.erb +0 -33
- data/app/views/plesk_kit/reseller_accounts/edit.html.erb +0 -6
- data/app/views/plesk_kit/reseller_accounts/index.html.erb +0 -29
- data/app/views/plesk_kit/reseller_accounts/new.html.erb +0 -5
- data/app/views/plesk_kit/reseller_accounts/show.html.erb +0 -25
- data/app/views/plesk_kit/servers/_form.html.erb +0 -37
- data/app/views/plesk_kit/servers/edit.html.erb +0 -6
- data/app/views/plesk_kit/servers/index.html.erb +0 -31
- data/app/views/plesk_kit/servers/new.html.erb +0 -5
- data/app/views/plesk_kit/servers/show.html.erb +0 -30
- data/app/views/plesk_kit/subscriptions/_form.html.erb +0 -49
- data/app/views/plesk_kit/subscriptions/edit.html.erb +0 -6
- data/app/views/plesk_kit/subscriptions/index.html.erb +0 -33
- data/app/views/plesk_kit/subscriptions/new.html.erb +0 -5
- data/app/views/plesk_kit/subscriptions/show.html.erb +0 -35
- data/config/routes.rb +0 -8
- data/db/migrate/20130906033658_create_plesk_kit_customer_accounts.rb +0 -14
- data/db/migrate/20130906033745_create_plesk_kit_reseller_accounts.rb +0 -15
- data/db/migrate/20130906034225_create_plesk_kit_subscriptions.rb +0 -16
- data/db/migrate/20130906040817_create_plesk_kit_servers.rb +0 -13
- data/db/migrate/20130917012645_create_plesk_kit_service_plans.rb +0 -13
- data/lib/plesk_kit/engine.rb +0 -23
- data/lib/plesk_kit/version.rb +0 -3
- data/lib/plesk_kit.rb +0 -4
- data/lib/tasks/plesk_kit_tasks.rake +0 -4
- data/test/dummy/README.rdoc +0 -261
- data/test/dummy/Rakefile +0 -7
- data/test/dummy/app/assets/javascripts/application.js +0 -15
- data/test/dummy/app/assets/stylesheets/application.css +0 -13
- data/test/dummy/app/controllers/application_controller.rb +0 -3
- data/test/dummy/app/helpers/application_helper.rb +0 -2
- data/test/dummy/app/views/layouts/application.html.erb +0 -14
- data/test/dummy/config/application.rb +0 -59
- data/test/dummy/config/boot.rb +0 -10
- data/test/dummy/config/database.yml +0 -25
- data/test/dummy/config/environment.rb +0 -5
- data/test/dummy/config/environments/development.rb +0 -37
- data/test/dummy/config/environments/production.rb +0 -67
- data/test/dummy/config/environments/test.rb +0 -37
- data/test/dummy/config/initializers/backtrace_silencers.rb +0 -7
- data/test/dummy/config/initializers/inflections.rb +0 -15
- data/test/dummy/config/initializers/mime_types.rb +0 -5
- data/test/dummy/config/initializers/secret_token.rb +0 -7
- data/test/dummy/config/initializers/session_store.rb +0 -8
- data/test/dummy/config/initializers/wrap_parameters.rb +0 -14
- data/test/dummy/config/locales/en.yml +0 -5
- data/test/dummy/config/routes.rb +0 -4
- data/test/dummy/config.ru +0 -4
- data/test/dummy/db/development.sqlite3 +0 -0
- data/test/dummy/db/migrate/20130906035255_create_plesk_kit_customer_accounts.plesk_kit.rb +0 -13
- data/test/dummy/db/migrate/20130906035256_create_plesk_kit_reseller_accounts.plesk_kit.rb +0 -13
- data/test/dummy/db/migrate/20130906035257_create_plesk_kit_subscriptions.plesk_kit.rb +0 -17
- data/test/dummy/db/migrate/20130906040830_create_plesk_kit_servers.plesk_kit.rb +0 -14
- data/test/dummy/db/migrate/20130917020158_create_plesk_kit_service_plans.plesk_kit.rb +0 -14
- data/test/dummy/db/schema.rb +0 -82
- data/test/dummy/db/test.sqlite3 +0 -0
- data/test/dummy/log/development.log +0 -9415
- data/test/dummy/public/404.html +0 -26
- data/test/dummy/public/422.html +0 -26
- data/test/dummy/public/500.html +0 -25
- data/test/dummy/public/favicon.ico +0 -0
- data/test/dummy/script/rails +0 -6
- data/test/dummy/tmp/cache/assets/C5D/AF0/sprockets%2Faa100860897bd469c74972020e9d6966 +0 -0
- data/test/dummy/tmp/cache/assets/C83/800/sprockets%2F0892f1bdb69d260331b7b414298969c1 +0 -0
- data/test/dummy/tmp/cache/assets/C8A/850/sprockets%2F8729404d8f18dcc24e0523d37801589e +0 -0
- data/test/dummy/tmp/cache/assets/CC2/EF0/sprockets%2F756af5df20241589c464741d971fd7d8 +0 -0
- data/test/dummy/tmp/cache/assets/CC4/B50/sprockets%2F34e848818d05961fdc8c6c275e16629b +0 -0
- data/test/dummy/tmp/cache/assets/CD8/370/sprockets%2F357970feca3ac29060c1e3861e2c0953 +0 -0
- data/test/dummy/tmp/cache/assets/CE0/340/sprockets%2F4b6f8f760b2a1789f60289271d20c0be +0 -0
- data/test/dummy/tmp/cache/assets/CED/DE0/sprockets%2F18595c4734c4d7582dee3ae35b079a49 +0 -0
- data/test/dummy/tmp/cache/assets/CEE/F00/sprockets%2F891ac2c44b3be23865e990924a995fe2 +0 -0
- data/test/dummy/tmp/cache/assets/D10/EC0/sprockets%2F73e40114523e8419fcd0efa71d597c5d +0 -0
- data/test/dummy/tmp/cache/assets/D11/AE0/sprockets%2Fa1a95d724723a8f11e9037e8d2b28a8f +0 -0
- data/test/dummy/tmp/cache/assets/D13/380/sprockets%2F354af7b9709615f6f10e77d7e1b2da15 +0 -0
- data/test/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705 +0 -0
- data/test/dummy/tmp/cache/assets/D33/4D0/sprockets%2F14f2359cdf393c5e0b6401e233bb2ef5 +0 -0
- data/test/dummy/tmp/cache/assets/D3B/BF0/sprockets%2F3b7fb545a51edee1b772b818b2424d56 +0 -0
- data/test/dummy/tmp/cache/assets/D3C/B20/sprockets%2F1927fcaeaf1d200dab53e55b86526939 +0 -0
- data/test/dummy/tmp/cache/assets/D3F/2C0/sprockets%2F1ada6cc19aa84bf00164875127ef689e +0 -0
- data/test/dummy/tmp/cache/assets/D44/140/sprockets%2F341e589bb22dea2848665b989b2ba3ea +0 -0
- data/test/dummy/tmp/cache/assets/D4A/700/sprockets%2Fd56d83b8bbc98f0ce23f6263ff796020 +0 -0
- data/test/dummy/tmp/cache/assets/D4E/1B0/sprockets%2Ff7cbd26ba1d28d48de824f0e94586655 +0 -0
- data/test/dummy/tmp/cache/assets/D51/190/sprockets%2F2a28b96857a9e16a74ee9dde52903dc7 +0 -0
- data/test/dummy/tmp/cache/assets/D51/610/sprockets%2F34de6f511191ffa00431d50cb5b31eac +0 -0
- data/test/dummy/tmp/cache/assets/D5A/EA0/sprockets%2Fd771ace226fc8215a3572e0aa35bb0d6 +0 -0
- data/test/dummy/tmp/cache/assets/D62/7B0/sprockets%2F39cdc1f2f8021136f2034ac5a9dab7f6 +0 -0
- data/test/dummy/tmp/cache/assets/D78/5D0/sprockets%2Feb7a1f999039a6136d9cfe25222fdcd5 +0 -0
- data/test/dummy/tmp/cache/assets/D7A/A30/sprockets%2F7e54a37cfb268f56b4c49b9f02029bff +0 -0
- data/test/dummy/tmp/cache/assets/D98/A30/sprockets%2Fd3cd57a8fade5aef376036123c5e11d6 +0 -0
- data/test/dummy/tmp/cache/assets/DA6/B80/sprockets%2F3fea63c0c7e19aae37d6037cd9d987e0 +0 -0
- data/test/dummy/tmp/cache/assets/DBA/730/sprockets%2F182cd97bf96da9ad7f037dcda77e8965 +0 -0
- data/test/dummy/tmp/cache/assets/DDC/400/sprockets%2Fcffd775d018f68ce5dba1ee0d951a994 +0 -0
- data/test/dummy/tmp/cache/assets/DF9/B80/sprockets%2Fe87d27fca0c65097c5b652becc1eec0b +0 -0
- data/test/dummy/tmp/cache/assets/DFA/E90/sprockets%2F1fc47d21f6a426ae1e5d7b1dc9b39dbf +0 -0
- data/test/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af +0 -0
- data/test/dummy/tmp/cache/assets/E28/3B0/sprockets%2Fce7fac4e9b4c46afa942e091b54c6aab +0 -0
- data/test/dummy/tmp/cache/assets/E3D/360/sprockets%2F19c6fbcf6aaed23dce100b1c1b2b0b8c +0 -0
- data/test/dummy/tmp/cache/assets/E89/270/sprockets%2F1bf1ee2ecfe1c679faf4002f4ea8bece +0 -0
- data/test/fixtures/plesk_kit/customer_accounts.yml +0 -13
- data/test/fixtures/plesk_kit/customers.yml +0 -7
- data/test/fixtures/plesk_kit/reseller_accounts.yml +0 -13
- data/test/fixtures/plesk_kit/servers.yml +0 -15
- data/test/fixtures/plesk_kit/service_plans.yml +0 -13
- data/test/fixtures/plesk_kit/subscriptions.yml +0 -17
- data/test/fixtures/plesk_kit/webspaces.yml +0 -11
- data/test/functional/plesk_kit/customer_accounts_controller_test.rb +0 -51
- data/test/functional/plesk_kit/customers_controller_test.rb +0 -51
- data/test/functional/plesk_kit/reseller_accounts_controller_test.rb +0 -51
- data/test/functional/plesk_kit/servers_controller_test.rb +0 -51
- data/test/functional/plesk_kit/subscriptions_controller_test.rb +0 -51
- data/test/integration/navigation_test.rb +0 -10
- data/test/plesk_kit_test.rb +0 -7
- data/test/test_helper.rb +0 -15
- data/test/unit/helpers/plesk_kit/customer_accounts_helper_test.rb +0 -6
- data/test/unit/helpers/plesk_kit/customers_helper_test.rb +0 -6
- data/test/unit/helpers/plesk_kit/reseller_accounts_helper_test.rb +0 -6
- data/test/unit/helpers/plesk_kit/servers_helper_test.rb +0 -6
- data/test/unit/helpers/plesk_kit/subscriptions_helper_test.rb +0 -6
- data/test/unit/plesk_kit/customer_account_test.rb +0 -9
- data/test/unit/plesk_kit/customer_test.rb +0 -9
- data/test/unit/plesk_kit/reseller_account_test.rb +0 -9
- data/test/unit/plesk_kit/server_test.rb +0 -9
- data/test/unit/plesk_kit/service_plan_test.rb +0 -9
- data/test/unit/plesk_kit/subscription_test.rb +0 -9
- 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,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
|