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.
- 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
|