handcart 0.0.3 → 0.0.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/app/assets/javascripts/handcart/application.js +1 -1
- data/app/assets/stylesheets/handcart/{application.css → application.css.scss} +1 -2
- data/app/assets/stylesheets/handcart/layout.css.scss +9 -1
- data/app/controllers/handcart/application_controller.rb +0 -1
- data/app/controllers/handcart/ip_addresses_controller.rb +4 -4
- data/app/controllers/handcart/subdomains_controller.rb +2 -2
- data/app/helpers/handcart/bootstrap_flash_helper.rb +26 -0
- data/app/models/handcart/concerns/handcarts.rb +1 -1
- data/app/models/handcart/ip_address.rb +1 -0
- data/app/models/handcart/subdomain.rb +1 -0
- data/app/views/handcart/ip_addresses/_form.html.haml +9 -9
- data/app/views/handcart/ip_addresses/index.html.haml +15 -9
- data/app/views/handcart/ip_addresses/show.html.haml +37 -19
- data/app/views/handcart/subdomains/_form.html.haml +6 -6
- data/app/views/handcart/subdomains/index.html.haml +10 -8
- data/app/views/handcart/subdomains/show.html.haml +30 -19
- data/app/views/layouts/handcart/_navbar.html.haml +16 -15
- data/app/views/layouts/handcart/application.html.haml +12 -12
- data/config/locales/en.yml +2 -1
- data/lib/handcart.rb +2 -1
- data/lib/handcart/simple_form.rb +45 -16
- data/lib/handcart/simple_form_bootstrap.rb +86 -0
- data/lib/handcart/version.rb +1 -1
- data/spec/dummy/app/assets/javascripts/application.js +1 -1
- data/spec/dummy/app/assets/stylesheets/{application.css → application.css.scss} +1 -2
- data/spec/dummy/app/assets/stylesheets/layout.css.scss +1 -1
- data/spec/dummy/app/controllers/application_controller.rb +1 -0
- data/spec/dummy/app/controllers/master/companies_controller.rb +1 -1
- data/spec/dummy/app/views/kaminari/_first_page.html.haml +2 -0
- data/spec/dummy/app/views/kaminari/_gap.html.haml +2 -0
- data/spec/dummy/app/views/kaminari/_last_page.html.haml +2 -0
- data/spec/dummy/app/views/kaminari/_next_page.html.haml +2 -0
- data/spec/dummy/app/views/kaminari/_page.html.haml +2 -0
- data/spec/dummy/app/views/kaminari/_paginator.html.haml +11 -0
- data/spec/dummy/app/views/kaminari/_prev_page.html.haml +2 -0
- data/spec/dummy/app/views/layouts/_navbar.html.haml +7 -6
- data/spec/dummy/app/views/layouts/application.html.haml +13 -11
- data/spec/dummy/app/views/layouts/master.html.haml +12 -11
- data/spec/dummy/app/views/layouts/master/_navbar.html.haml +11 -9
- data/spec/dummy/app/views/layouts/public.html.haml +9 -8
- data/spec/dummy/app/views/master/companies/_form.html.haml +8 -8
- data/spec/dummy/app/views/master/companies/index.html.haml +6 -6
- data/spec/dummy/app/views/master/companies/show.html.haml +2 -2
- data/spec/dummy/log/development.log +13453 -0
- data/spec/dummy/log/test.log +18192 -0
- data/spec/dummy/spec/models/company_spec.rb +6 -0
- data/spec/dummy/tmp/cache/assets/development/sass/27d34b7cbcb5b92ab03220c4d4b91379cc64c2c0/layout.css.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/02ed06263710ce2efa1e60127f70b6c4 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/0458ed7d0bd5ee8539da486da8f5991f +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/090db6be066f75d69551b3a136a9d6a3 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/0a3f5e60a5dc08f80e83efe09ac998c7 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/0d76367ded60510a66afc3dea891e76a +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/0f5003ddb4834b15069be849f782c9a3 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/1060e80761812d7822e2da74c334dc4a +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/106c3f4e1fc71e9dc70abae55d432886 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/18c826ba1d6dac1633cae2da25c0402a +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/2095ec690033cb1ebeb9a75f5d74005f +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/250f17d9e4ac44072b6f5a236fa8f532 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/26e64189696f84c742152094a4784b64 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/2860df473a6cf4c483cd6f251fea3ae0 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/28ed8badf249567725127a10da4e24c2 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/2f36066abfa51ffebd7981ba91d7047a +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/332b53959e1614821a9dc7237b1567d0 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/350c8c72b1dbd7a84f85424b5cd4def1 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/3521f0b3655f1332b216d6d3f2e49865 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/3b1656b46a35a6120c3407b930d468ba +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/3bd3ea6a5530c1221765984d64fb7e76 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/3d2dc454ff19bb6aa33d0495820578a5 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/3fa878a57cb0b42be266336564609b18 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/493ec40401d9f806f43e0cd72894205a +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/4a168813f7a26f6ba3b217833f53d99d +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/4b05c7ca81ce80200d0768e10b8de7a9 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/4c17c77b444339bb3ab293047da0ff0d +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/4d770d1f61e86e7c8912f8b87e05354c +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/5d22162d2a10fcd9bf398f058fff6eb5 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/5d650352320298b4007cec860189a5e9 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/6051db87a0894bbf1adae79d3191b027 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/60b75d9635ed84e08a0b9a245d8a3202 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/646c9911e2f7dd2a16daeccc138b4352 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/6e9d2e7aafa45c939731291fa453b8c2 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/72bfe5ba0e1aa85b4a2ae83a28cd9edd +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/74131e27a9b7033cbda45ad068053a4e +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/793509e1419de327d1f96aa92521ab80 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/806adcbf228e622f7d8dd5635da28bcc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/8102cf6724f489a310fe3a6b764bb2e9 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/8174fc2596c9877f60153bf482170c3b +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/85d3ba9967443e5dc18cc8e9ae5c2a67 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/89985f1bd1ce408bbb842b5e6714d344 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/8aaac397ee93bf3a99ebbc8afa4ba8ba +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/8ab512c9b33ac90e699b73469d71f061 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/903350b384a3ba2f4dab81256fe4a038 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/91b6a90bb461c0699041890b68172f24 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/9384399605ca755bddc0e0c50de99e75 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/94a101a9134135c0b64ffb79d71a7961 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/9d31c08f7c2f9ea416313d439fbb90c6 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/a7cf87387fa408a88cd78b7ea037bf3a +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/a9e19eb45005fa24bc8b90b6a374089f +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/aef2ed28dee632a906030c7d063ba481 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/af718c632887ccb6c1c35c4b65c61293 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/b559f2694561fc6c44e3319f507de1e7 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/b78a1c1624e2aadfb2076a966c4f2708 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/b7c36a1c00d7804d9e827d704c0dd811 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/bcca522c6302f184f12fe0e8a7d7e71a +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/bd14e8a9bb4e8b09a327cc6fb637a4c9 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/c13fc73ceafa45876a901b3e775b83ae +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/c353816e1fa79580ecc2109ac87f6484 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/c39832e77dfdde1759066bd4a2fd9df6 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/c6dbb1be1e4b05a06fc6d87bf007884b +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/cfc86dc4f1549fbc409ccbb7f29bf17f +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/d30e829917dfb45f19a36b8d71edaa7a +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/d32fc7356f764b22ecbcebbcb9b47ee1 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/d379e86e6d88f4cd26a4a52e4dd0ef8b +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/d776667bae72eb3d582da5803fc931ca +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/e2bd103827e58881b0255df62c988c8a +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/e32ea0ebfd8befc578a5a8043b866754 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/e7178f39a89e69212b764b69dac69528 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/f2348b747b81ca6e3a24d5bd0b7023c4 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/fbd7d96603edf8045193c8378a7913ce +0 -0
- data/spec/dummy/tmp/pids/server.pid +1 -0
- metadata +144 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 21e33478d7c882e5c4c97e20ea389784c2c368e8
|
4
|
+
data.tar.gz: 8a0f185ec1e3e7a31af4f23405ffb9bca7622764
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6e16b0550dc3064a94057fbc2d1aaf9202983d915fc17315d38cb4b7ba9a683e3f3260aeda13db5aa63680e7edb5ab016edf3a172a3144b11efdc742773a8b0b
|
7
|
+
data.tar.gz: f75273742f9bc879d4988dcf847400e4aebec9cf82aaf4d898efb2f0f7d3f5ddea6d4d4818a21d334ae549d207116d425564fc322d2b729cbfa0be61cb560aec
|
data/README.md
CHANGED
@@ -224,7 +224,7 @@ To have Handcart enable IP forwarding, the following method must be invoked in t
|
|
224
224
|
|
225
225
|
```ruby
|
226
226
|
# app/controllers/public_controller.rb
|
227
|
-
enable_forwarding("subdomain#
|
227
|
+
enable_forwarding("subdomain#index", "public#forbidden", only: [:index])
|
228
228
|
```
|
229
229
|
|
230
230
|
The first argument indicates what controller and action should be invoked inside the franchisee namespace. The second
|
@@ -4,7 +4,7 @@ footer p {
|
|
4
4
|
}
|
5
5
|
|
6
6
|
td.action-button {
|
7
|
-
width:
|
7
|
+
width: 3em;
|
8
8
|
}
|
9
9
|
|
10
10
|
.page-header {
|
@@ -19,3 +19,11 @@ td.action-button {
|
|
19
19
|
color: #FFFFFF;
|
20
20
|
background-color: #424242;
|
21
21
|
}
|
22
|
+
|
23
|
+
.well {
|
24
|
+
padding: 10px !important;
|
25
|
+
}
|
26
|
+
|
27
|
+
.no-margin-bottom {
|
28
|
+
margin-bottom: 0em !important;
|
29
|
+
}
|
@@ -5,7 +5,7 @@ module Handcart
|
|
5
5
|
before_action :set_ip_address, only: [:show, :edit, :update, :destroy]
|
6
6
|
|
7
7
|
def index
|
8
|
-
@ip_addresses = IpAddress.
|
8
|
+
@ip_addresses = IpAddress.ordered.page(params[:page])
|
9
9
|
end
|
10
10
|
|
11
11
|
def show
|
@@ -22,7 +22,7 @@ module Handcart
|
|
22
22
|
@ip_address = IpAddress.new(safe_params)
|
23
23
|
|
24
24
|
if @ip_address.save
|
25
|
-
redirect_to @ip_address, notice: '
|
25
|
+
redirect_to @ip_address, notice: 'IP Address was successfully created.'
|
26
26
|
else
|
27
27
|
render :new
|
28
28
|
end
|
@@ -30,7 +30,7 @@ module Handcart
|
|
30
30
|
|
31
31
|
def update
|
32
32
|
if @ip_address.update(safe_params)
|
33
|
-
redirect_to @ip_address, notice: '
|
33
|
+
redirect_to @ip_address, notice: 'IP Address was successfully updated.'
|
34
34
|
else
|
35
35
|
render :edit
|
36
36
|
end
|
@@ -38,7 +38,7 @@ module Handcart
|
|
38
38
|
|
39
39
|
def destroy
|
40
40
|
@ip_address.destroy
|
41
|
-
redirect_to ip_addresses_url, notice: '
|
41
|
+
redirect_to ip_addresses_url, notice: 'IP Address was successfully removed.'
|
42
42
|
end
|
43
43
|
|
44
44
|
private
|
@@ -5,7 +5,7 @@ module Handcart
|
|
5
5
|
before_action :set_subdomain, only: [:show, :edit, :update, :destroy]
|
6
6
|
|
7
7
|
def index
|
8
|
-
@subdomains = Subdomain.
|
8
|
+
@subdomains = Subdomain.ordered.page(params[:page])
|
9
9
|
end
|
10
10
|
|
11
11
|
def show
|
@@ -38,7 +38,7 @@ module Handcart
|
|
38
38
|
|
39
39
|
def destroy
|
40
40
|
@subdomain.destroy
|
41
|
-
redirect_to subdomains_url, notice: 'Subdomain was successfully
|
41
|
+
redirect_to subdomains_url, notice: 'Subdomain was successfully removed.'
|
42
42
|
end
|
43
43
|
|
44
44
|
private
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module Handcart
|
2
|
+
module BootstrapFlashHelper
|
3
|
+
ALERT_TYPES = [:danger, :info, :success, :warning] unless const_defined?(:ALERT_TYPES)
|
4
|
+
|
5
|
+
def bootstrap_flash
|
6
|
+
flash_messages = []
|
7
|
+
flash.each do |type, message|
|
8
|
+
# Skip empty messages, e.g. for devise messages set to nothing in a locale file.
|
9
|
+
next if message.blank?
|
10
|
+
|
11
|
+
type = type.to_sym
|
12
|
+
type = :success if type == :notice
|
13
|
+
type = :danger if type == :error
|
14
|
+
next unless ALERT_TYPES.include?(type)
|
15
|
+
|
16
|
+
Array(message).each do |msg|
|
17
|
+
text = content_tag(:div,
|
18
|
+
content_tag(:button, raw("×"), class: "close", "data-dismiss" => "alert") +
|
19
|
+
msg.html_safe, class: "alert fade in alert-#{type}")
|
20
|
+
flash_messages << text if msg
|
21
|
+
end
|
22
|
+
end
|
23
|
+
flash_messages.join("\n").html_safe
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -6,7 +6,7 @@ module Handcart::Concerns::Handcarts
|
|
6
6
|
has_many :ip_addresses, dependent: :destroy, class_name: "Handcart::IpAddress", foreign_key: "handcart_id"
|
7
7
|
|
8
8
|
# Nuke the subdomain
|
9
|
-
before_destroy { |handcart| handcart.subdomain.destroy }
|
9
|
+
before_destroy { |handcart| handcart.subdomain.destroy if handcart.subdomain.present? }
|
10
10
|
end
|
11
11
|
|
12
12
|
module ClassMethods
|
@@ -14,5 +14,6 @@ module Handcart
|
|
14
14
|
scope :blacklisted, -> { where(blacklisted: true) }
|
15
15
|
scope :permitted, -> { where.not(blacklisted: true) }
|
16
16
|
scope :with_handcart, lambda { |handcart| where(handcart_id: handcart.try(:id)) }
|
17
|
+
scope :ordered, -> { order("handcart_ip_addresses.address ASC") }
|
17
18
|
end
|
18
19
|
end
|
@@ -10,6 +10,7 @@ module Handcart
|
|
10
10
|
scope :allocated, -> { Subdomain.includes(:handcart).where("#{Handcart.handcart_class.model_name.plural}.subdomain_id IS NOT NULL").references(:handcart) }
|
11
11
|
scope :unallocated, -> { Subdomain.includes(:handcart).where("#{Handcart.handcart_class.model_name.plural}.subdomain_id IS NULL").references(:handcart) }
|
12
12
|
scope :unallocated_or_current, lambda { |handcart| Subdomain.includes(:handcart).where("#{Handcart.handcart_class.model_name.plural}.subdomain_id IS NULL OR #{Handcart.handcart_class.model_name.plural}.subdomain_id IN (?)", handcart.try(:subdomain_id)).references(:handcart) }
|
13
|
+
scope :ordered, -> { order("handcart_subdomains.name ASC") }
|
13
14
|
|
14
15
|
before_save :normalize_name
|
15
16
|
|
@@ -1,12 +1,12 @@
|
|
1
|
-
= simple_form_for @ip_address
|
1
|
+
= simple_form_for @ip_address do |f|
|
2
2
|
= f.error_notification
|
3
3
|
|
4
|
-
.
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
= f.input :blacklisted, as: :select, include_blank: false
|
4
|
+
= f.input :address
|
5
|
+
= f.input :subnet_mask
|
6
|
+
= f.association :handcart, collection: Handcart.handcart_class.all, label: Handcart.handcart_class.model_name.human
|
7
|
+
= f.input :blacklisted, as: :select, include_blank: false
|
9
8
|
|
10
|
-
.form-
|
11
|
-
|
12
|
-
|
9
|
+
.form-group
|
10
|
+
.col-sm-offset-2.col-sm-10
|
11
|
+
= f.button :submit, class: 'btn btn-primary'
|
12
|
+
= link_to 'Cancel', @ip_address.new_record? ? ip_addresses_path : ip_address_path(@ip_address), class: 'btn btn-default'
|
@@ -3,9 +3,11 @@
|
|
3
3
|
- content_for(:toolbar) do
|
4
4
|
.btn-group
|
5
5
|
= link_to new_ip_address_path, class: 'btn btn-primary', title: t(".new_ip_address") do
|
6
|
-
%
|
6
|
+
%span.glyphicon.glyphicon-plus
|
7
7
|
|
8
|
-
|
8
|
+
= paginate @ip_addresses
|
9
|
+
|
10
|
+
%table.table.table-striped.table-hover.table-condensed
|
9
11
|
%thead
|
10
12
|
%tr
|
11
13
|
%th= Handcart::IpAddress.human_attribute_name(:address)
|
@@ -19,13 +21,17 @@
|
|
19
21
|
%tr
|
20
22
|
%td= link_to ip_address.address, ip_address, title: t(".view_ip_address")
|
21
23
|
%td= ip_address.subnet_mask
|
22
|
-
%td
|
24
|
+
%td
|
25
|
+
- if ip_address.handcart.present?
|
26
|
+
= link_to ip_address.handcart.to_s, Handcart.handcart_class.handcart_show_path(ip_address.handcart)
|
27
|
+
- else
|
28
|
+
None
|
23
29
|
%td= ip_address.blacklisted? ? "Yes" : "No"
|
24
30
|
%td.action-button
|
25
|
-
.
|
26
|
-
|
27
|
-
%i.icon-pencil
|
31
|
+
= link_to edit_ip_address_path(ip_address), class: 'btn btn-xs btn-warning', title: t(".edit_ip_address") do
|
32
|
+
%span.glyphicon.glyphicon-edit
|
28
33
|
%td.action-button
|
29
|
-
.
|
30
|
-
|
31
|
-
|
34
|
+
= link_to ip_address, method: :delete, data: { confirm: t(".confirm") }, class: 'btn btn-danger btn-xs', title: t(".remove_ip_address") do
|
35
|
+
%span.glyphicon.glyphicon-remove
|
36
|
+
|
37
|
+
= paginate @ip_addresses
|
@@ -1,20 +1,38 @@
|
|
1
|
-
- title t(".title", address: @ip_address.address)
|
1
|
+
- title t(".title", address: @ip_address.address), false
|
2
2
|
|
3
|
-
|
4
|
-
%
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
%
|
13
|
-
%
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
=
|
20
|
-
|
3
|
+
.page-header
|
4
|
+
%h3.sub-title.inline
|
5
|
+
= t(".title", address: @ip_address.address)
|
6
|
+
%span
|
7
|
+
= link_to edit_ip_address_path(@ip_address), class: 'btn btn-warning', title: t(".edit_ip_address") do
|
8
|
+
%span.glyphicon.glyphicon-edit
|
9
|
+
|
10
|
+
.row
|
11
|
+
.col-lg-3.well
|
12
|
+
%table.table.table-striped.table-condensed.table-hover.no-margin-bottom
|
13
|
+
%tbody
|
14
|
+
%tr
|
15
|
+
%th= Handcart::IpAddress.human_attribute_name(:address)
|
16
|
+
%td= @ip_address.address
|
17
|
+
%tr
|
18
|
+
%th= Handcart::IpAddress.human_attribute_name(:subnet_mask)
|
19
|
+
%td= @ip_address.subnet_mask
|
20
|
+
%tr
|
21
|
+
%th= Handcart::IpAddress.human_attribute_name(:handcart)
|
22
|
+
%td
|
23
|
+
- if @ip_address.handcart.present?
|
24
|
+
= link_to @ip_address.handcart.to_s, Handcart.handcart_class.handcart_show_path(@ip_address.handcart)
|
25
|
+
- else
|
26
|
+
None
|
27
|
+
%tr
|
28
|
+
%th= Handcart::IpAddress.human_attribute_name(:blacklisted)
|
29
|
+
%td= @ip_address.blacklisted? ? "Yes" : "No"
|
30
|
+
%tr
|
31
|
+
%th Created At
|
32
|
+
%td= l(@ip_address.created_at, format: :short)
|
33
|
+
%tr
|
34
|
+
%th Updated At
|
35
|
+
%td= l(@ip_address.updated_at, format: :short)
|
36
|
+
|
37
|
+
.col-lg-9
|
38
|
+
Other stuff here
|
@@ -1,9 +1,9 @@
|
|
1
|
-
= simple_form_for @subdomain
|
1
|
+
= simple_form_for @subdomain do |f|
|
2
2
|
= f.error_notification
|
3
3
|
|
4
|
-
.
|
5
|
-
= f.input :name
|
4
|
+
= f.input :name
|
6
5
|
|
7
|
-
.form-
|
8
|
-
|
9
|
-
|
6
|
+
.form-group
|
7
|
+
.col-sm-offset-2.col-sm-10
|
8
|
+
= f.button :submit, class: 'btn btn-primary'
|
9
|
+
= link_to 'Cancel', @subdomain.new_record? ? subdomains_path : subdomain_path(@subdomain), class: 'btn btn-default'
|
@@ -3,9 +3,11 @@
|
|
3
3
|
- content_for(:toolbar) do
|
4
4
|
.btn-group
|
5
5
|
= link_to new_subdomain_path, class: 'btn btn-primary', title: t(".new_subdomain") do
|
6
|
-
%
|
6
|
+
%span.glyphicon.glyphicon-plus
|
7
7
|
|
8
|
-
|
8
|
+
= paginate @subdomains
|
9
|
+
|
10
|
+
%table.table.table-striped.table-hover.table-condensed
|
9
11
|
%thead
|
10
12
|
%tr
|
11
13
|
%th= Handcart.subdomain_class.human_attribute_name(:name)
|
@@ -22,10 +24,10 @@
|
|
22
24
|
- else
|
23
25
|
None
|
24
26
|
%td.action-button
|
25
|
-
.
|
26
|
-
|
27
|
-
%i.icon-pencil
|
27
|
+
= link_to edit_subdomain_path(subdomain), class: 'btn btn-warning btn-xs', title: t(".edit_subdomain") do
|
28
|
+
%span.glyphicon.glyphicon-edit
|
28
29
|
%td.action-button
|
29
|
-
.
|
30
|
-
|
31
|
-
|
30
|
+
= link_to subdomain, method: :delete, data: { confirm: t(".confirm") }, class: 'btn btn-danger btn-xs', title: t(".remove_subdomain") do
|
31
|
+
%span.glyphicon.glyphicon-remove
|
32
|
+
|
33
|
+
= paginate @subdomains
|
@@ -1,20 +1,31 @@
|
|
1
|
-
- title t(".title", subdomain: @subdomain.name)
|
1
|
+
- title t(".title", subdomain: @subdomain.name), false
|
2
2
|
|
3
|
-
|
4
|
-
%
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
3
|
+
.page-header
|
4
|
+
%h3.sub-title.inline
|
5
|
+
= t(".title", subdomain: @subdomain.name)
|
6
|
+
%span
|
7
|
+
= link_to edit_subdomain_path(@subdomain), class: 'btn btn-warning', title: t(".edit_subdomain") do
|
8
|
+
%span.glyphicon.glyphicon-edit
|
9
|
+
|
10
|
+
.row-fluid
|
11
|
+
.col-lg-3.well
|
12
|
+
%table.table.table-striped.table-hover.table-condensed.no-margin-bottom
|
13
|
+
%tbody
|
14
|
+
%tr
|
15
|
+
%th= Handcart.subdomain_class.human_attribute_name(:name)
|
16
|
+
%td= @subdomain.name
|
17
|
+
%tr
|
18
|
+
%th= Handcart.handcart_class.model_name.human
|
19
|
+
%td
|
20
|
+
- if @subdomain.handcart
|
21
|
+
= link_to @subdomain.handcart.try(:to_s), Handcart.handcart_class.handcart_show_path(@subdomain.handcart)
|
22
|
+
- else
|
23
|
+
None
|
24
|
+
%tr
|
25
|
+
%th Created At
|
26
|
+
%td= l(@subdomain.created_at, format: :short)
|
27
|
+
%tr
|
28
|
+
%th Updated At
|
29
|
+
%td= l(@subdomain.updated_at, format: :short)
|
30
|
+
.col-lg-9
|
31
|
+
Other stuff here
|
@@ -1,15 +1,16 @@
|
|
1
|
-
|
2
|
-
%
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
1
|
+
#navbar-collapse-1.collapse.navbar-collapse
|
2
|
+
%ul.nav.navbar-nav
|
3
|
+
%li
|
4
|
+
= link_to main_app.root_path do
|
5
|
+
%span.glyphicon.glyphicon-arrow-left
|
6
|
+
Back to
|
7
|
+
= t(".main_app")
|
8
|
+
%li{class: (params[:controller] == "handcart/subdomains") ? "active" : nil}
|
9
|
+
= link_to handcart.root_path do
|
10
|
+
%span.glyphicon.glyphicon-th-list
|
11
|
+
= t(".subdomains")
|
12
|
+
- unless (Handcart.ip_authorization.ip_authorization_strategy == :none)
|
13
|
+
%li{class: (params[:controller] == "handcart/ip_addresses") ? "active" : nil}
|
14
|
+
= link_to handcart.ip_addresses_path do
|
15
|
+
%span.glyphicon.glyphicon-screenshot
|
16
|
+
= t(".ip_addresses")
|
@@ -17,22 +17,22 @@
|
|
17
17
|
= javascript_include_tag "handcart/application"
|
18
18
|
|
19
19
|
%body
|
20
|
-
.navbar.navbar-
|
21
|
-
.
|
22
|
-
.
|
23
|
-
%
|
20
|
+
%nav.navbar.navbar-inverse{role: "navigation"}
|
21
|
+
.container-fluid
|
22
|
+
.navbar-header
|
23
|
+
%button.navbar-toggle{"data-target" => "#navbar-collapse-1", "data-toggle" => "collapse", type: "button"}
|
24
24
|
%span.icon-bar
|
25
25
|
%span.icon-bar
|
26
26
|
%span.icon-bar
|
27
|
-
%a.brand
|
28
|
-
%
|
27
|
+
%a.navbar-brand{href: root_path}
|
28
|
+
%span.glyphicon.glyphicon-heart
|
29
29
|
= t(".handcart_brand")
|
30
|
-
|
30
|
+
= render "layouts/handcart/navbar"
|
31
31
|
|
32
|
-
.container
|
33
|
-
.row
|
32
|
+
.container
|
33
|
+
.row
|
34
34
|
- if content_for?(:sidebar)
|
35
|
-
.
|
35
|
+
.col-lg-9
|
36
36
|
%div.flash-message
|
37
37
|
= bootstrap_flash
|
38
38
|
- if content_for?(:sub_title)
|
@@ -41,11 +41,11 @@
|
|
41
41
|
- if content_for?(:toolbar)
|
42
42
|
%div#button-toolbar= yield(:toolbar)
|
43
43
|
%div= yield
|
44
|
-
.
|
44
|
+
.col-lg-3
|
45
45
|
.well.sidebar-nav
|
46
46
|
%ul.nav.nav-list= yield(:sidebar)
|
47
47
|
- else
|
48
|
-
.
|
48
|
+
.col-lg-12
|
49
49
|
%div.flash-message
|
50
50
|
= bootstrap_flash
|
51
51
|
- if content_for?(:sub_title)
|