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