plesk_kit 1.0.5 → 1.0.6
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.
- checksums.yaml +15 -0
- data/app/assets/javascripts/plesk_kit/application.js +15 -0
- data/app/assets/javascripts/plesk_kit/customer_accounts.js +2 -0
- data/app/assets/javascripts/plesk_kit/customers.js +2 -0
- data/app/assets/javascripts/plesk_kit/reseller_accounts.js +2 -0
- data/app/assets/javascripts/plesk_kit/servers.js +2 -0
- data/app/assets/javascripts/plesk_kit/subscriptions.js +2 -0
- data/app/assets/stylesheets/plesk_kit/application.css +13 -0
- data/app/assets/stylesheets/plesk_kit/customer_accounts.css +4 -0
- data/app/assets/stylesheets/plesk_kit/customers.css +4 -0
- data/app/assets/stylesheets/plesk_kit/reseller_accounts.css +4 -0
- data/app/assets/stylesheets/plesk_kit/servers.css +4 -0
- data/app/assets/stylesheets/plesk_kit/subscriptions.css +4 -0
- data/app/assets/stylesheets/scaffold.css +56 -0
- data/app/controllers/plesk_kit/application_controller.rb +4 -0
- data/app/controllers/plesk_kit/customer_accounts_controller.rb +87 -0
- data/app/controllers/plesk_kit/reseller_accounts_controller.rb +87 -0
- data/app/controllers/plesk_kit/servers_controller.rb +87 -0
- data/app/controllers/plesk_kit/subscriptions_controller.rb +87 -0
- data/app/helpers/plesk_kit/application_helper.rb +4 -0
- data/app/helpers/plesk_kit/customer_accounts_helper.rb +4 -0
- data/app/helpers/plesk_kit/reseller_accounts_helper.rb +4 -0
- data/app/helpers/plesk_kit/servers_helper.rb +4 -0
- data/app/helpers/plesk_kit/subscriptions_helper.rb +4 -0
- data/app/models/plesk_kit/client.rb +25 -0
- data/app/models/plesk_kit/communicator.rb +55 -0
- data/app/models/plesk_kit/customer_account.rb +70 -0
- data/app/models/plesk_kit/reseller_account.rb +72 -0
- data/app/models/plesk_kit/server.rb +30 -0
- data/app/models/plesk_kit/service_plan.rb +359 -0
- data/app/models/plesk_kit/subscription.rb +95 -0
- data/app/views/layouts/plesk_kit/application.html.erb +14 -0
- data/app/views/plesk_kit/customer_accounts/_form.html.erb +33 -0
- data/app/views/plesk_kit/customer_accounts/edit.html.erb +6 -0
- data/app/views/plesk_kit/customer_accounts/index.html.erb +29 -0
- data/app/views/plesk_kit/customer_accounts/new.html.erb +5 -0
- data/app/views/plesk_kit/customer_accounts/show.html.erb +25 -0
- data/app/views/plesk_kit/reseller_accounts/_form.html.erb +33 -0
- data/app/views/plesk_kit/reseller_accounts/edit.html.erb +6 -0
- data/app/views/plesk_kit/reseller_accounts/index.html.erb +29 -0
- data/app/views/plesk_kit/reseller_accounts/new.html.erb +5 -0
- data/app/views/plesk_kit/reseller_accounts/show.html.erb +25 -0
- data/app/views/plesk_kit/servers/_form.html.erb +37 -0
- data/app/views/plesk_kit/servers/edit.html.erb +6 -0
- data/app/views/plesk_kit/servers/index.html.erb +31 -0
- data/app/views/plesk_kit/servers/new.html.erb +5 -0
- data/app/views/plesk_kit/servers/show.html.erb +30 -0
- data/app/views/plesk_kit/subscriptions/_form.html.erb +49 -0
- data/app/views/plesk_kit/subscriptions/edit.html.erb +6 -0
- data/app/views/plesk_kit/subscriptions/index.html.erb +33 -0
- data/app/views/plesk_kit/subscriptions/new.html.erb +5 -0
- data/app/views/plesk_kit/subscriptions/show.html.erb +35 -0
- data/config/routes.rb +8 -0
- data/db/migrate/20130906033658_create_plesk_kit_customer_accounts.rb +14 -0
- data/db/migrate/20130906033745_create_plesk_kit_reseller_accounts.rb +15 -0
- data/db/migrate/20130906034225_create_plesk_kit_subscriptions.rb +16 -0
- data/db/migrate/20130906040817_create_plesk_kit_servers.rb +13 -0
- data/db/migrate/20130917012645_create_plesk_kit_service_plans.rb +13 -0
- data/db/migrate/20130925025125_add_platform_to_customer_account.rb +5 -0
- data/db/migrate/20130925025132_add_platform_to_reseller_account.rb +5 -0
- data/lib/plesk_kit/engine.rb +23 -0
- data/lib/plesk_kit/version.rb +3 -0
- data/lib/plesk_kit.rb +4 -0
- data/lib/tasks/plesk_kit_tasks.rake +4 -0
- data/test/dummy/README.rdoc +261 -0
- data/test/dummy/Rakefile +7 -0
- data/test/dummy/app/assets/javascripts/application.js +15 -0
- data/test/dummy/app/assets/stylesheets/application.css +13 -0
- data/test/dummy/app/controllers/application_controller.rb +3 -0
- data/test/dummy/app/helpers/application_helper.rb +2 -0
- data/test/dummy/app/views/layouts/application.html.erb +14 -0
- data/test/dummy/config/application.rb +59 -0
- data/test/dummy/config/boot.rb +10 -0
- data/test/dummy/config/database.yml +25 -0
- data/test/dummy/config/environment.rb +5 -0
- data/test/dummy/config/environments/development.rb +37 -0
- data/test/dummy/config/environments/production.rb +67 -0
- data/test/dummy/config/environments/test.rb +37 -0
- data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/test/dummy/config/initializers/inflections.rb +15 -0
- data/test/dummy/config/initializers/mime_types.rb +5 -0
- data/test/dummy/config/initializers/secret_token.rb +7 -0
- data/test/dummy/config/initializers/session_store.rb +8 -0
- data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/test/dummy/config/locales/en.yml +5 -0
- data/test/dummy/config/routes.rb +4 -0
- data/test/dummy/config.ru +4 -0
- data/test/dummy/db/development.sqlite3 +0 -0
- data/test/dummy/db/migrate/20130906035255_create_plesk_kit_customer_accounts.plesk_kit.rb +13 -0
- data/test/dummy/db/migrate/20130906035256_create_plesk_kit_reseller_accounts.plesk_kit.rb +13 -0
- data/test/dummy/db/migrate/20130906035257_create_plesk_kit_subscriptions.plesk_kit.rb +17 -0
- data/test/dummy/db/migrate/20130906040830_create_plesk_kit_servers.plesk_kit.rb +14 -0
- data/test/dummy/db/migrate/20130917020158_create_plesk_kit_service_plans.plesk_kit.rb +14 -0
- data/test/dummy/db/schema.rb +82 -0
- data/test/dummy/db/test.sqlite3 +0 -0
- data/test/dummy/log/development.log +9422 -0
- data/test/dummy/public/404.html +26 -0
- data/test/dummy/public/422.html +26 -0
- data/test/dummy/public/500.html +25 -0
- data/test/dummy/public/favicon.ico +0 -0
- data/test/dummy/script/rails +6 -0
- 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 +13 -0
- data/test/fixtures/plesk_kit/customers.yml +7 -0
- data/test/fixtures/plesk_kit/reseller_accounts.yml +13 -0
- data/test/fixtures/plesk_kit/servers.yml +15 -0
- data/test/fixtures/plesk_kit/service_plans.yml +13 -0
- data/test/fixtures/plesk_kit/subscriptions.yml +17 -0
- data/test/fixtures/plesk_kit/webspaces.yml +11 -0
- data/test/functional/plesk_kit/customer_accounts_controller_test.rb +51 -0
- data/test/functional/plesk_kit/customers_controller_test.rb +51 -0
- data/test/functional/plesk_kit/reseller_accounts_controller_test.rb +51 -0
- data/test/functional/plesk_kit/servers_controller_test.rb +51 -0
- data/test/functional/plesk_kit/subscriptions_controller_test.rb +51 -0
- data/test/integration/navigation_test.rb +10 -0
- data/test/plesk_kit_test.rb +7 -0
- data/test/test_helper.rb +15 -0
- data/test/unit/helpers/plesk_kit/customer_accounts_helper_test.rb +6 -0
- data/test/unit/helpers/plesk_kit/customers_helper_test.rb +6 -0
- data/test/unit/helpers/plesk_kit/reseller_accounts_helper_test.rb +6 -0
- data/test/unit/helpers/plesk_kit/servers_helper_test.rb +6 -0
- data/test/unit/helpers/plesk_kit/subscriptions_helper_test.rb +6 -0
- data/test/unit/plesk_kit/customer_account_test.rb +9 -0
- data/test/unit/plesk_kit/customer_test.rb +9 -0
- data/test/unit/plesk_kit/reseller_account_test.rb +9 -0
- data/test/unit/plesk_kit/server_test.rb +9 -0
- data/test/unit/plesk_kit/service_plan_test.rb +9 -0
- data/test/unit/plesk_kit/subscription_test.rb +9 -0
- data/test/unit/plesk_kit/webspace_test.rb +9 -0
- metadata +270 -13
checksums.yaml
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
---
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
ZmQwYTQyYjZiNjA0MDc1NTZlYTdkMmFkZDZiZWM0N2Y3MDgzYzUwNA==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
ZDI3YTllNmVjNjQ0OTUzNDQ4OTE3ODYyYTY5Y2M2ZWNmODk0NzU5MA==
|
7
|
+
SHA512:
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
NzA4MmM5MWFlZDQ1MmZjZDk2MzQ4OGIzMWM3NmMzZmQ2YmMxZDI2NGEzNGI0
|
10
|
+
OTI3YzYwYTUxZDBhODhiMTUwODJjZTIxYWIxYTExMmJkMzZmYjZjMDA3OTAz
|
11
|
+
NzQ4YjBmODJmN2ViNDBiYjIwMmFhNmY2ZmZmODFlZDQ4NGE4MDM=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
YzYyNzQwMmM3N2ZiYTM4YmE0M2ZmOWI4ZjgwMjY4NjY5NDVlMzljNGQxNGYz
|
14
|
+
YWQ5ZjRiMzA5OGUxNjg0YTQ2ZjgzY2VjMjE2Y2IyN2FkNTBkOWUyN2ZlNDlj
|
15
|
+
MTVkN2I0NzdmN2FkM2E1MTVhNjBjMWVlMWE0NjdmNzlmYWEzOWM=
|
@@ -0,0 +1,15 @@
|
|
1
|
+
// This is a manifest file that'll be compiled into application.js, which will include all the files
|
2
|
+
// listed below.
|
3
|
+
//
|
4
|
+
// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
|
5
|
+
// or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path.
|
6
|
+
//
|
7
|
+
// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
|
8
|
+
// the compiled file.
|
9
|
+
//
|
10
|
+
// WARNING: THE FIRST BLANK LINE MARKS THE END OF WHAT'S TO BE PROCESSED, ANY BLANK LINE SHOULD
|
11
|
+
// GO AFTER THE REQUIRES BELOW.
|
12
|
+
//
|
13
|
+
//= require jquery
|
14
|
+
//= require jquery_ujs
|
15
|
+
//= require_tree .
|
@@ -0,0 +1,13 @@
|
|
1
|
+
/*
|
2
|
+
* This is a manifest file that'll be compiled into application.css, which will include all the files
|
3
|
+
* listed below.
|
4
|
+
*
|
5
|
+
* Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
|
6
|
+
* or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path.
|
7
|
+
*
|
8
|
+
* You're free to add application-wide styles to this file and they'll appear at the top of the
|
9
|
+
* compiled file, but it's generally better to create a new file per style scope.
|
10
|
+
*
|
11
|
+
*= require_self
|
12
|
+
*= require_tree .
|
13
|
+
*/
|
@@ -0,0 +1,56 @@
|
|
1
|
+
body { background-color: #fff; color: #333; }
|
2
|
+
|
3
|
+
body, p, ol, ul, td {
|
4
|
+
font-family: verdana, arial, helvetica, sans-serif;
|
5
|
+
font-size: 13px;
|
6
|
+
line-height: 18px;
|
7
|
+
}
|
8
|
+
|
9
|
+
pre {
|
10
|
+
background-color: #eee;
|
11
|
+
padding: 10px;
|
12
|
+
font-size: 11px;
|
13
|
+
}
|
14
|
+
|
15
|
+
a { color: #000; }
|
16
|
+
a:visited { color: #666; }
|
17
|
+
a:hover { color: #fff; background-color:#000; }
|
18
|
+
|
19
|
+
div.field, div.actions {
|
20
|
+
margin-bottom: 10px;
|
21
|
+
}
|
22
|
+
|
23
|
+
#notice {
|
24
|
+
color: green;
|
25
|
+
}
|
26
|
+
|
27
|
+
.field_with_errors {
|
28
|
+
padding: 2px;
|
29
|
+
background-color: red;
|
30
|
+
display: table;
|
31
|
+
}
|
32
|
+
|
33
|
+
#error_explanation {
|
34
|
+
width: 450px;
|
35
|
+
border: 2px solid red;
|
36
|
+
padding: 7px;
|
37
|
+
padding-bottom: 0;
|
38
|
+
margin-bottom: 20px;
|
39
|
+
background-color: #f0f0f0;
|
40
|
+
}
|
41
|
+
|
42
|
+
#error_explanation h2 {
|
43
|
+
text-align: left;
|
44
|
+
font-weight: bold;
|
45
|
+
padding: 5px 5px 5px 15px;
|
46
|
+
font-size: 12px;
|
47
|
+
margin: -7px;
|
48
|
+
margin-bottom: 0px;
|
49
|
+
background-color: #c00;
|
50
|
+
color: #fff;
|
51
|
+
}
|
52
|
+
|
53
|
+
#error_explanation ul li {
|
54
|
+
font-size: 12px;
|
55
|
+
list-style: square;
|
56
|
+
}
|
@@ -0,0 +1,87 @@
|
|
1
|
+
require_dependency "plesk_kit/application_controller"
|
2
|
+
|
3
|
+
module PleskKit
|
4
|
+
class CustomerAccountsController < ApplicationController
|
5
|
+
# GET /customer_accounts
|
6
|
+
# GET /customer_accounts.json
|
7
|
+
def index
|
8
|
+
@customer_accounts = CustomerAccount.all
|
9
|
+
|
10
|
+
respond_to do |format|
|
11
|
+
format.html # index.html.erb
|
12
|
+
format.json { render json: @customer_accounts }
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
# GET /customer_accounts/1
|
17
|
+
# GET /customer_accounts/1.json
|
18
|
+
def show
|
19
|
+
@customer_account = CustomerAccount.find(params[:id])
|
20
|
+
|
21
|
+
respond_to do |format|
|
22
|
+
format.html # show.html.erb
|
23
|
+
format.json { render json: @customer_account }
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
# GET /customer_accounts/new
|
28
|
+
# GET /customer_accounts/new.json
|
29
|
+
def new
|
30
|
+
@customer_account = CustomerAccount.new
|
31
|
+
|
32
|
+
respond_to do |format|
|
33
|
+
format.html # new.html.erb
|
34
|
+
format.json { render json: @customer_account }
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
# GET /customer_accounts/1/edit
|
39
|
+
def edit
|
40
|
+
@customer_account = CustomerAccount.find(params[:id])
|
41
|
+
end
|
42
|
+
|
43
|
+
# POST /customer_accounts
|
44
|
+
# POST /customer_accounts.json
|
45
|
+
def create
|
46
|
+
@customer_account = CustomerAccount.new(params[:customer_account])
|
47
|
+
|
48
|
+
respond_to do |format|
|
49
|
+
if @customer_account.save
|
50
|
+
format.html { redirect_to @customer_account, notice: 'Customer account was successfully created.' }
|
51
|
+
format.json { render json: @customer_account, status: :created, location: @customer_account }
|
52
|
+
else
|
53
|
+
format.html { render action: "new" }
|
54
|
+
format.json { render json: @customer_account.errors, status: :unprocessable_entity }
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
# PUT /customer_accounts/1
|
60
|
+
# PUT /customer_accounts/1.json
|
61
|
+
def update
|
62
|
+
@customer_account = CustomerAccount.find(params[:id])
|
63
|
+
|
64
|
+
respond_to do |format|
|
65
|
+
if @customer_account.update_attributes(params[:customer_account])
|
66
|
+
format.html { redirect_to @customer_account, notice: 'Customer account was successfully updated.' }
|
67
|
+
format.json { head :no_content }
|
68
|
+
else
|
69
|
+
format.html { render action: "edit" }
|
70
|
+
format.json { render json: @customer_account.errors, status: :unprocessable_entity }
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
# DELETE /customer_accounts/1
|
76
|
+
# DELETE /customer_accounts/1.json
|
77
|
+
def destroy
|
78
|
+
@customer_account = CustomerAccount.find(params[:id])
|
79
|
+
@customer_account.destroy
|
80
|
+
|
81
|
+
respond_to do |format|
|
82
|
+
format.html { redirect_to customer_accounts_url }
|
83
|
+
format.json { head :no_content }
|
84
|
+
end
|
85
|
+
end
|
86
|
+
end
|
87
|
+
end
|
@@ -0,0 +1,87 @@
|
|
1
|
+
require_dependency "plesk_kit/application_controller"
|
2
|
+
|
3
|
+
module PleskKit
|
4
|
+
class ResellerAccountsController < ApplicationController
|
5
|
+
# GET /reseller_accounts
|
6
|
+
# GET /reseller_accounts.json
|
7
|
+
def index
|
8
|
+
@reseller_accounts = ResellerAccount.all
|
9
|
+
|
10
|
+
respond_to do |format|
|
11
|
+
format.html # index.html.erb
|
12
|
+
format.json { render json: @reseller_accounts }
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
# GET /reseller_accounts/1
|
17
|
+
# GET /reseller_accounts/1.json
|
18
|
+
def show
|
19
|
+
@reseller_account = ResellerAccount.find(params[:id])
|
20
|
+
|
21
|
+
respond_to do |format|
|
22
|
+
format.html # show.html.erb
|
23
|
+
format.json { render json: @reseller_account }
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
# GET /reseller_accounts/new
|
28
|
+
# GET /reseller_accounts/new.json
|
29
|
+
def new
|
30
|
+
@reseller_account = ResellerAccount.new
|
31
|
+
|
32
|
+
respond_to do |format|
|
33
|
+
format.html # new.html.erb
|
34
|
+
format.json { render json: @reseller_account }
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
# GET /reseller_accounts/1/edit
|
39
|
+
def edit
|
40
|
+
@reseller_account = ResellerAccount.find(params[:id])
|
41
|
+
end
|
42
|
+
|
43
|
+
# POST /reseller_accounts
|
44
|
+
# POST /reseller_accounts.json
|
45
|
+
def create
|
46
|
+
@reseller_account = ResellerAccount.new(params[:reseller_account])
|
47
|
+
|
48
|
+
respond_to do |format|
|
49
|
+
if @reseller_account.save
|
50
|
+
format.html { redirect_to @reseller_account, notice: 'Reseller account was successfully created.' }
|
51
|
+
format.json { render json: @reseller_account, status: :created, location: @reseller_account }
|
52
|
+
else
|
53
|
+
format.html { render action: "new" }
|
54
|
+
format.json { render json: @reseller_account.errors, status: :unprocessable_entity }
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
# PUT /reseller_accounts/1
|
60
|
+
# PUT /reseller_accounts/1.json
|
61
|
+
def update
|
62
|
+
@reseller_account = ResellerAccount.find(params[:id])
|
63
|
+
|
64
|
+
respond_to do |format|
|
65
|
+
if @reseller_account.update_attributes(params[:reseller_account])
|
66
|
+
format.html { redirect_to @reseller_account, notice: 'Reseller account was successfully updated.' }
|
67
|
+
format.json { head :no_content }
|
68
|
+
else
|
69
|
+
format.html { render action: "edit" }
|
70
|
+
format.json { render json: @reseller_account.errors, status: :unprocessable_entity }
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
# DELETE /reseller_accounts/1
|
76
|
+
# DELETE /reseller_accounts/1.json
|
77
|
+
def destroy
|
78
|
+
@reseller_account = ResellerAccount.find(params[:id])
|
79
|
+
@reseller_account.destroy
|
80
|
+
|
81
|
+
respond_to do |format|
|
82
|
+
format.html { redirect_to reseller_accounts_url }
|
83
|
+
format.json { head :no_content }
|
84
|
+
end
|
85
|
+
end
|
86
|
+
end
|
87
|
+
end
|
@@ -0,0 +1,87 @@
|
|
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
|
@@ -0,0 +1,87 @@
|
|
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
|
@@ -0,0 +1,25 @@
|
|
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
|
@@ -0,0 +1,55 @@
|
|
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
|
+
def pack_and_play_with_customer_or_reseller account
|
14
|
+
server = PleskKit::Server.where(:environment => Rails.env.to_s, :platform => account.platform).first
|
15
|
+
packet = account.pack_this shell
|
16
|
+
response = transportation_for packet,server
|
17
|
+
account.analyse response[0], server.id
|
18
|
+
end
|
19
|
+
|
20
|
+
def pack_and_play_with_subscription subscription, customer_account
|
21
|
+
server = customer_account.server
|
22
|
+
packet = subscription.pack_this shell, customer_account
|
23
|
+
response = transportation_for packet,server
|
24
|
+
subscription.analyse response[0],customer_account
|
25
|
+
end
|
26
|
+
|
27
|
+
def self.sync_subscription sub, sub_guid
|
28
|
+
server = PleskKit::Server.first
|
29
|
+
packet = sub.sync_pack shell,sub_guid
|
30
|
+
response = transportation_for packet,server
|
31
|
+
sub.analyse response[0]
|
32
|
+
end
|
33
|
+
|
34
|
+
def self.get_service_plan service_plan, server
|
35
|
+
server = PleskKit::Server.first
|
36
|
+
packet = service_plan.build_xml_for_get shell
|
37
|
+
response = transportation_for packet, server
|
38
|
+
service_plan.analyse response[0], server
|
39
|
+
end
|
40
|
+
|
41
|
+
def self.push_service_plan service_plan, server
|
42
|
+
server = PleskKit::Server.first
|
43
|
+
packet = service_plan.build_xml_for_add shell
|
44
|
+
response = transportation_for packet, server
|
45
|
+
service_plan.analyse response[0], server
|
46
|
+
end
|
47
|
+
|
48
|
+
# Sends packet to plesk
|
49
|
+
def self.transportation_for packet, server
|
50
|
+
c = PleskKit::Client.new(server)
|
51
|
+
c.send_to_plesk packet
|
52
|
+
end
|
53
|
+
|
54
|
+
end
|
55
|
+
end
|