kadmin 0.3.1 → 0.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (123) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +44 -44
  3. data/Rakefile +146 -146
  4. data/app/assets/javascripts/modular/app.js +1388 -1388
  5. data/app/assets/javascripts/modular/application.js +3 -3
  6. data/app/assets/javascripts/modular/vendor.js +57671 -57671
  7. data/app/assets/stylesheets/kadmin/typeahead-select.scss +2 -0
  8. data/app/assets/stylesheets/modular/app-blue.css +2795 -2795
  9. data/app/assets/stylesheets/modular/app-custom.css +2795 -2795
  10. data/app/assets/stylesheets/modular/app-green.css +2795 -2795
  11. data/app/assets/stylesheets/modular/app-orange.css +2795 -2795
  12. data/app/assets/stylesheets/modular/app-purple.css +2795 -2795
  13. data/app/assets/stylesheets/modular/app-red.css +2795 -2795
  14. data/app/assets/stylesheets/modular/app-seagreen.css +2795 -2795
  15. data/app/assets/stylesheets/modular/app.css +2795 -2795
  16. data/app/assets/stylesheets/modular/custom.css +51 -19
  17. data/app/assets/stylesheets/modular/vendor.css +12999 -12999
  18. data/app/controllers/kadmin/application_controller.rb +64 -64
  19. data/app/controllers/kadmin/auth_controller.rb +98 -98
  20. data/app/controllers/kadmin/concerns/authorized_user.rb +67 -67
  21. data/app/controllers/kadmin/dash_controller.rb +19 -19
  22. data/app/decorators/kadmin/finder_decorator.rb +50 -50
  23. data/app/decorators/kadmin/pager_decorator.rb +33 -33
  24. data/app/helpers/kadmin/alert_helper.rb +59 -59
  25. data/app/helpers/kadmin/application_helper.rb +4 -4
  26. data/app/helpers/kadmin/bootstrap_helper.rb +23 -23
  27. data/app/helpers/kadmin/form_builder.rb +9 -9
  28. data/app/helpers/kadmin/forms/inverted_check_box.rb +10 -10
  29. data/app/helpers/kadmin/navigation_helper.rb +28 -28
  30. data/app/helpers/kadmin/pagination_helper.rb +95 -95
  31. data/app/views/kadmin/auth/login.html.erb +4 -4
  32. data/app/views/kadmin/components/_finder.html.erb +14 -18
  33. data/app/views/kadmin/components/finder/_empty.html.erb +3 -3
  34. data/app/views/kadmin/components/finder/_form.erb +10 -10
  35. data/app/views/kadmin/components/finder/_header.html.erb +14 -11
  36. data/app/views/kadmin/dash/index.html.erb +5 -5
  37. data/app/views/kadmin/error.html.erb +5 -5
  38. data/app/views/kadmin/helpers/_alerts.html.erb +4 -4
  39. data/app/views/kadmin/helpers/_form_errors.html.erb +10 -10
  40. data/app/views/layouts/modular/application.html.erb +134 -132
  41. data/config/initializers/action_view.rb +2 -2
  42. data/config/initializers/assets.rb +5 -5
  43. data/config/locales/de.yml +25 -25
  44. data/config/locales/en.yml +24 -24
  45. data/config/routes.rb +12 -12
  46. data/lib/kadmin.rb +22 -22
  47. data/lib/kadmin/auth.rb +31 -31
  48. data/lib/kadmin/auth/configuration.rb +66 -66
  49. data/lib/kadmin/auth/unauthorized_error.rb +14 -14
  50. data/lib/kadmin/auth/user.rb +15 -15
  51. data/lib/kadmin/auth/user_store.rb +21 -21
  52. data/lib/kadmin/configuration.rb +18 -18
  53. data/lib/kadmin/engine.rb +15 -15
  54. data/lib/kadmin/error.rb +7 -7
  55. data/lib/kadmin/errors/authorization.rb +15 -15
  56. data/lib/kadmin/finder.rb +66 -66
  57. data/lib/kadmin/form.rb +179 -179
  58. data/lib/kadmin/pager.rb +93 -93
  59. data/lib/kadmin/version.rb +3 -3
  60. data/test/dummy/README.rdoc +28 -28
  61. data/test/dummy/Rakefile +6 -6
  62. data/test/dummy/app/assets/javascripts/application.js +13 -13
  63. data/test/dummy/app/assets/stylesheets/application.css +15 -15
  64. data/test/dummy/app/controllers/admin/application_controller.rb +11 -11
  65. data/test/dummy/app/controllers/admin/people_controller.rb +89 -89
  66. data/test/dummy/app/controllers/admin_controller.rb +4 -4
  67. data/test/dummy/app/controllers/application_controller.rb +5 -5
  68. data/test/dummy/app/controllers/authorized_controller.rb +8 -8
  69. data/test/dummy/app/helpers/application_helper.rb +2 -2
  70. data/test/dummy/app/models/group.rb +8 -8
  71. data/test/dummy/app/models/group_person.rb +6 -6
  72. data/test/dummy/app/models/person.rb +20 -20
  73. data/test/dummy/app/views/admin/index.html.erb +1 -1
  74. data/test/dummy/app/views/admin/people/_form.html.erb +34 -34
  75. data/test/dummy/app/views/admin/people/_table.html.erb +33 -33
  76. data/test/dummy/app/views/admin/people/edit.html.erb +4 -4
  77. data/test/dummy/app/views/admin/people/index.html.erb +3 -3
  78. data/test/dummy/app/views/admin/people/new.html.erb +5 -5
  79. data/test/dummy/app/views/admin/people/show.html.erb +3 -3
  80. data/test/dummy/app/views/authorized/index.html.erb +1 -1
  81. data/test/dummy/app/views/layouts/application.html.erb +14 -14
  82. data/test/dummy/bin/bundle +3 -3
  83. data/test/dummy/bin/rails +4 -4
  84. data/test/dummy/bin/rake +4 -4
  85. data/test/dummy/bin/setup +29 -29
  86. data/test/dummy/config.ru +4 -4
  87. data/test/dummy/config/application.rb +39 -39
  88. data/test/dummy/config/boot.rb +5 -5
  89. data/test/dummy/config/database.yml +22 -22
  90. data/test/dummy/config/environment.rb +5 -5
  91. data/test/dummy/config/environments/development.rb +41 -41
  92. data/test/dummy/config/environments/production.rb +79 -79
  93. data/test/dummy/config/environments/test.rb +42 -42
  94. data/test/dummy/config/initializers/assets.rb +10 -10
  95. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -7
  96. data/test/dummy/config/initializers/cookies_serializer.rb +3 -3
  97. data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -4
  98. data/test/dummy/config/initializers/inflections.rb +16 -16
  99. data/test/dummy/config/initializers/kadmin.rb +24 -24
  100. data/test/dummy/config/initializers/mime_types.rb +4 -4
  101. data/test/dummy/config/initializers/session_store.rb +3 -3
  102. data/test/dummy/config/initializers/wrap_parameters.rb +14 -14
  103. data/test/dummy/config/locales/en.yml +17 -17
  104. data/test/dummy/config/routes.rb +13 -13
  105. data/test/dummy/config/secrets.yml +22 -22
  106. data/test/dummy/db/migrate/20161006114509_create_people.rb +11 -11
  107. data/test/dummy/db/migrate/20161006134459_create_groups.rb +11 -11
  108. data/test/dummy/db/migrate/20161006134746_create_group_people.rb +11 -11
  109. data/test/dummy/db/schema.rb +43 -43
  110. data/test/dummy/lib/forms/group_form.rb +16 -16
  111. data/test/dummy/lib/forms/person_form.rb +19 -19
  112. data/test/dummy/public/404.html +67 -67
  113. data/test/dummy/public/422.html +67 -67
  114. data/test/dummy/public/500.html +66 -66
  115. data/test/dummy/test/fixtures/children.yml +11 -11
  116. data/test/dummy/test/fixtures/group_people.yml +11 -11
  117. data/test/dummy/test/fixtures/groups.yml +11 -11
  118. data/test/dummy/test/fixtures/people.yml +11 -11
  119. data/test/dummy/test/models/group_person_test.rb +7 -7
  120. data/test/dummy/test/models/group_test.rb +7 -7
  121. data/test/kadmin/form_test.rb +6 -6
  122. data/test/test_helper.rb +32 -32
  123. metadata +54 -53
@@ -1,95 +1,95 @@
1
- module Kadmin
2
- module PaginationHelper
3
- # @param [Kadmin::Pager] pager context to paginate
4
- # @param [Array<Integer>] sizes array of page sizes
5
- def paginate(pager, sizes)
6
- return content_tag(:div, pagination_page_list(pager) + pagination_size_list(pager, sizes), class: 'btn-toolbar')
7
- end
8
-
9
- # Page Links
10
- # Always include:
11
- # => Previous page, first, last, next
12
- # If we're over page 10, at ... after previous link
13
- # If there aren't showing the last page yet, add ... before next link
14
- def pagination_page_list(pager)
15
- links = []
16
- window = (pager.current_page - 2)..(pager.current_page + 2)
17
-
18
- window = Range.new(0, window.end - window.begin) if window.begin.negative?
19
- window = Range.new(window.begin, pager.pages - 1) if window.end >= pager.pages
20
-
21
- first_link = pagination_navigate_link(pager, 0, '&laquo;')
22
- previous_link = pagination_navigate_link(pager, pager.current_page - 1, '&lsaquo;')
23
- last_link = pagination_navigate_link(pager, pager.pages - 1, '&raquo;')
24
- next_link = pagination_navigate_link(pager, pager.current_page + 1, '&rsaquo;')
25
-
26
- if pager.previous_page?(window.begin)
27
- links << pagination_non_link('&hellip;', 'disabled')
28
- end
29
-
30
- window.each do |number|
31
- links << pagination_page_link(number, pager)
32
- end
33
-
34
- if pager.next_page?(window.end)
35
- links << pagination_non_link('&hellip;', 'disabled')
36
- end
37
-
38
- links.unshift(first_link, previous_link)
39
- links << next_link
40
- links << last_link
41
-
42
- return content_tag(:div, links.reduce(&:+), class: 'btn-group')
43
- end
44
- private :pagination_page_list
45
-
46
- def pagination_non_link(text, css_classes = nil)
47
- classes = %w(btn btn-default) + Array.wrap(css_classes)
48
- return content_tag(:div, text.to_s.html_safe, class: classes.join(' '))
49
- end
50
- private :pagination_non_link
51
-
52
- def pagination_link(text, options = {}, css_classes = nil)
53
- classes = %w(btn btn-default) + Array.wrap(css_classes)
54
- return link_to(text.to_s.html_safe, params.merge(options), class: classes.join(' '))
55
- end
56
- private :pagination_link
57
-
58
- def pagination_page_link(page, pager)
59
- link = if pager.current_page?(page)
60
- pagination_non_link(page + 1, 'active')
61
- else
62
- pagination_link(page + 1, page_offset: pager.offset_at(page))
63
- end
64
-
65
- return link
66
- end
67
- private :pagination_page_link
68
-
69
- def pagination_navigate_link(pager, page, text)
70
- link = if pager.contains?(page)
71
- pagination_link(text, page_offset: pager.offset_at(page))
72
- else
73
- pagination_non_link(text, 'disabled')
74
- end
75
-
76
- return link
77
- end
78
- private :pagination_navigate_link
79
-
80
- # Page Sizes
81
- def pagination_size_list(pager, sizes)
82
- label = content_tag(:div, 'Per page: ', class: 'btn')
83
- links = sizes.map do |size|
84
- if pager.size == size
85
- pagination_non_link(size, 'active')
86
- else
87
- pagination_link(size, page_size: size)
88
- end
89
- end.reduce(&:+)
90
-
91
- return content_tag(:div, label + links, class: 'btn-group')
92
- end
93
- private :pagination_size_list
94
- end
95
- end
1
+ module Kadmin
2
+ module PaginationHelper
3
+ # @param [Kadmin::Pager] pager context to paginate
4
+ # @param [Array<Integer>] sizes array of page sizes
5
+ def paginate(pager, sizes)
6
+ return content_tag(:div, pagination_page_list(pager) + pagination_size_list(pager, sizes), class: 'btn-toolbar')
7
+ end
8
+
9
+ # Page Links
10
+ # Always include:
11
+ # => Previous page, first, last, next
12
+ # If we're over page 10, at ... after previous link
13
+ # If there aren't showing the last page yet, add ... before next link
14
+ def pagination_page_list(pager)
15
+ links = []
16
+ window = (pager.current_page - 2)..(pager.current_page + 2)
17
+
18
+ window = Range.new(0, window.end - window.begin) if window.begin.negative?
19
+ window = Range.new(window.begin, pager.pages - 1) if window.end >= pager.pages
20
+
21
+ first_link = pagination_navigate_link(pager, 0, '&laquo;')
22
+ previous_link = pagination_navigate_link(pager, pager.current_page - 1, '&lsaquo;')
23
+ last_link = pagination_navigate_link(pager, pager.pages - 1, '&raquo;')
24
+ next_link = pagination_navigate_link(pager, pager.current_page + 1, '&rsaquo;')
25
+
26
+ if pager.previous_page?(window.begin)
27
+ links << pagination_non_link('&hellip;', 'disabled')
28
+ end
29
+
30
+ window.each do |number|
31
+ links << pagination_page_link(number, pager)
32
+ end
33
+
34
+ if pager.next_page?(window.end)
35
+ links << pagination_non_link('&hellip;', 'disabled')
36
+ end
37
+
38
+ links.unshift(first_link, previous_link)
39
+ links << next_link
40
+ links << last_link
41
+
42
+ return content_tag(:div, links.reduce(&:+), class: 'btn-group')
43
+ end
44
+ private :pagination_page_list
45
+
46
+ def pagination_non_link(text, css_classes = nil)
47
+ classes = %w(btn btn-default) + Array.wrap(css_classes)
48
+ return content_tag(:div, text.to_s.html_safe, class: classes.join(' '))
49
+ end
50
+ private :pagination_non_link
51
+
52
+ def pagination_link(text, options = {}, css_classes = nil)
53
+ classes = %w(btn btn-default) + Array.wrap(css_classes)
54
+ return link_to(text.to_s.html_safe, params.merge(options), class: classes.join(' '))
55
+ end
56
+ private :pagination_link
57
+
58
+ def pagination_page_link(page, pager)
59
+ link = if pager.current_page?(page)
60
+ pagination_non_link(page + 1, 'active')
61
+ else
62
+ pagination_link(page + 1, page_offset: pager.offset_at(page))
63
+ end
64
+
65
+ return link
66
+ end
67
+ private :pagination_page_link
68
+
69
+ def pagination_navigate_link(pager, page, text)
70
+ link = if pager.contains?(page)
71
+ pagination_link(text, page_offset: pager.offset_at(page))
72
+ else
73
+ pagination_non_link(text, 'disabled')
74
+ end
75
+
76
+ return link
77
+ end
78
+ private :pagination_navigate_link
79
+
80
+ # Page Sizes
81
+ def pagination_size_list(pager, sizes)
82
+ label = content_tag(:div, 'Per page: ', class: 'btn')
83
+ links = sizes.map do |size|
84
+ if pager.size == size
85
+ pagination_non_link(size, 'active')
86
+ else
87
+ pagination_link(size, page_size: size)
88
+ end
89
+ end.reduce(&:+)
90
+
91
+ return content_tag(:div, label + links, class: 'btn-group')
92
+ end
93
+ private :pagination_size_list
94
+ end
95
+ end
@@ -1,4 +1,4 @@
1
- <div style='text-align: center; margin-top: 1em'>
2
- <p><%= link_to(t('kadmin.auth.please_login'), omniauth_provider_link) %></p>
3
- <p><%= t('kadmin.auth.login_required') %></p>
4
- </div>
1
+ <div style='text-align: center; margin-top: 1em'>
2
+ <p><%= link_to(t('kadmin.auth.please_login'), omniauth_provider_link) %></p>
3
+ <p><%= t('kadmin.auth.login_required') %></p>
4
+ </div>
@@ -1,18 +1,14 @@
1
- <%= render partial: 'kadmin/components/finder/header', locals: { finder: finder } %>
2
-
3
- <div class='container-fluid'>
4
- <% if finder.filters.present? %>
5
- <div class='row'>
6
- <%= render partial: 'kadmin/components/finder/form', locals: { finder: finder } %>
7
- </div>
8
- <% end %>
9
-
10
- <div class='row' style='padding-top: 15px'>
11
- <% if finder.results.empty? %>
12
- <%= render partial: 'kadmin/components/finder/empty', locals: { finder: finder } %>
13
- <% else %>
14
- <%= yield %>
15
- <%= paginate(finder.pager, [15, 30, 50, 100]) %>
16
- <% end %>
17
- </div>
18
- </div>
1
+ <%= render partial: 'kadmin/components/finder/header', locals: { finder: finder } %>
2
+
3
+ <div class='container-fluid'>
4
+ <div class='row' style='padding-top: 15px'>
5
+ <% if finder.results.empty? %>
6
+ <%= render partial: 'kadmin/components/finder/empty', locals: { finder: finder } %>
7
+ <% else %>
8
+ <%= yield %>
9
+ <% if finder.results.size > 50 %>
10
+ <%= paginate(finder.pager, [50, 100, 1000]) %>
11
+ <% end %>
12
+ <% end %>
13
+ </div>
14
+ </div>
@@ -1,3 +1,3 @@
1
- <div class='jumbotron'>
2
- <p><%= t('kadmin.components.finder.empty') %></p>
3
- </div>
1
+ <div class='jumbotron'>
2
+ <p><%= t('kadmin.components.finder.empty') %></p>
3
+ </div>
@@ -1,10 +1,10 @@
1
- <%= form_tag(request.path, method: 'get', class: 'form-inline') do %>
2
- <div class='form-group'>
3
- <%= link_to(t('kadmin.components.finder.create'), url_for(action: :new), class: 'btn btn-primary') %>
4
- <% finder.filters.each do |name, filter| %>
5
- <%= text_field_tag("filter_#{name}", filter&.value, class: 'form-control', placeholder: "Filter by #{name}...") %>
6
- <% end %>
7
- <%= submit_tag(t('kadmin.components.finder.filter'), class: 'btn btn-default form-control') %>
8
- <%= link_to(t('kadmin.components.finder.clear'), request.path, class: 'btn btn-danger form-control') %>
9
- </div>
10
- <% end %>
1
+ <%= form_tag(request.path, method: 'get', class: 'form-inline pull-right') do %>
2
+ <div class='form-group'>
3
+ <%= link_to(t('kadmin.components.finder.create'), url_for(action: :new), class: 'btn btn-primary', style: 'margin-right: 20px') %>
4
+ <% finder.filters.each do |name, filter| %>
5
+ <%= text_field_tag("filter_#{name}", filter&.value, class: 'form-control', placeholder: "Filter by #{name}...") %>
6
+ <% end %>
7
+ <%= submit_tag(t('kadmin.components.finder.filter'), class: 'btn btn-default form-control') %>
8
+ <!--<%= link_to(t('kadmin.components.finder.clear'), request.path, class: 'btn btn-danger form-control') %>-->
9
+ </div>
10
+ <% end %>
@@ -1,11 +1,14 @@
1
- <div class="page-header">
2
- <h2>
3
- <%= finder.currently_showing %>
4
- <% unless finder.empty? %>
5
- <small>
6
- <%= t('kadmin.components.finder.out_of', total: finder.pager.total) %>
7
- <%= finder.applied_filters %>
8
- </small>
9
- <% end %>
10
- </h2>
11
- </div>
1
+ <div class="card-title-block">
2
+ <h3 class="title">
3
+ <%= finder.currently_showing %>
4
+ <% unless finder.empty? %>
5
+ (
6
+ <%= t('kadmin.components.finder.out_of', total: finder.pager.total) %>
7
+ <%= finder.applied_filters %>
8
+ )
9
+ <% end %>
10
+ <% if finder.filters.present? %>
11
+ <%= render partial: 'kadmin/components/finder/form', locals: { finder: finder } %>
12
+ <% end %>
13
+ </h3>
14
+ </div>
@@ -1,5 +1,5 @@
1
- <div class='jumbotron' style='margin-top: 1em;'>
2
- <h1 class='display-3'><%= t('kadmin.welcome', user: current_user) %></h1>
3
- <hr class='m-y-2'>
4
- <p><%= t('kadmin.dash_message') %></p>
5
- </div>
1
+ <div class='jumbotron' style='margin-top: 1em;'>
2
+ <h3 class=''><%= t('kadmin.welcome', user: current_user) %></h3>
3
+ <hr class='m-y-2'>
4
+ <p><%= t('kadmin.dash_message') %></p>
5
+ </div>
@@ -1,5 +1,5 @@
1
- <div class='jumbotron' style='margin-top: 1em'>
2
- <h1 class='display-3'><%= title %></h1>
3
- <hr class='m-y-2'>
4
- <p><%= message %></p>
5
- </div>
1
+ <div class='jumbotron' style='margin-top: 1em'>
2
+ <h1 class='display-3'><%= title %></h1>
3
+ <hr class='m-y-2'>
4
+ <p><%= message %></p>
5
+ </div>
@@ -1,4 +1,4 @@
1
- <div class='alerts'>
2
- <%= render_flash_alerts %>
3
- <%= yield :flash_alerts %>
4
- </div>
1
+ <div class='alerts'>
2
+ <%= render_flash_alerts %>
3
+ <%= yield :flash_alerts %>
4
+ </div>
@@ -1,10 +1,10 @@
1
- <% if model.errors.present? %>
2
- <%= alert('danger') do %>
3
- <p><%= glyphicon('exclamation-sign') %> <%= t('kadmin.forms.please_correct') %></p>
4
- <ul>
5
- <% model.errors.full_messages.each do |message| %>
6
- <li><%= message.html_safe %></li>
7
- <% end %>
8
- </ul>
9
- <% end %>
10
- <% end %>
1
+ <% if model.errors.present? %>
2
+ <%= alert('danger') do %>
3
+ <p><%= glyphicon('exclamation-sign') %> <%= t('kadmin.forms.please_correct') %></p>
4
+ <ul>
5
+ <% model.errors.full_messages.each do |message| %>
6
+ <li><%= message.html_safe %></li>
7
+ <% end %>
8
+ </ul>
9
+ <% end %>
10
+ <% end %>
@@ -1,133 +1,135 @@
1
- <!doctype html>
2
- <html class="no-js" lang="en">
3
-
4
- <head>
5
- <meta charset="utf-8">
6
- <meta http-equiv="x-ua-compatible" content="ie=edge">
7
- <title>Apps/Services Admin</title>
8
- <meta name="description" content="">
9
- <meta name="viewport" content="width=device-width, initial-scale=1">
10
- <link rel="apple-touch-icon" href="apple-touch-icon.png">
11
- <!-- Place favicon.ico in the root directory -->
12
- <%= stylesheet_link_tag "modular/vendor.css", media: "all" %>
13
- <%= stylesheet_link_tag "modular/app-blue.css", media: "all" %>
14
- <%= stylesheet_link_tag "modular/custom.css", media: "all" %>
15
- <%= csrf_meta_tags %>
16
- <!-- Additional scripts -->
17
- <%= javascript_include_tag "modular/application.js" %>
18
- <%= javascript_include_tag "modular/custom.js" %>
19
- </head>
20
-
21
- <body>
22
- <div class="main-wrapper">
23
- <div class="app" id="app">
24
- <header class="header">
25
- <h3 class="title" style="margin-left: 40px;"> Moin, moin! </h3>
26
- <div class="header-block header-block-nav">
27
- <ul class="nav-profile">
28
- <% if logged_in? %>
29
- <%= link_to(t('kadmin.authorization.logout'), Kadmin::Engine.routes.url_helpers.auth_logout_path) %>
30
- <% end %>
31
- <li class="profile dropdown">
32
-
33
- <!--<a class="nav-link dropdown-toggle" data-toggle="dropdown" href="#" role="button" aria-haspopup="true" aria-expanded="false">
34
- <div class="img" style="background-image: url('https://avatars3.githubusercontent.com/u/3959008?v=3&s=40')"> </div>
35
- <span class="name">John Doe</span>
36
- </a>
37
- <div class="dropdown-menu profile-dropdown-menu" aria-labelledby="dropdownMenu1">
38
- <a class="dropdown-item" href="#"> <i class="fa fa-user icon"></i> Profile </a>
39
- <a class="dropdown-item" href="#"> <i class="fa fa-bell icon"></i> Notifications </a>
40
- <a class="dropdown-item" href="#"> <i class="fa fa-gear icon"></i> Settings </a>
41
- <div class="dropdown-divider"></div>
42
- <a class="dropdown-item" href="login.html"> <i class="fa fa-power-off icon"></i> Logout </a>
43
- </div>-->
44
- </li>
45
- </ul>
46
- </div>
47
- </header>
48
- <aside class="sidebar">
49
- <div class="sidebar-container">
50
- <div class="sidebar-header">
51
- <div class="brand">
52
- <!--<div class="logo"> <span class="l l1"></span> <span class="l l2"></span> <span class="l l3"></span> <span class="l l4"></span> <span class="l l5"></span> </div>-->
53
- <a class="titlelink" href="/admin">Apps&amp;Services Admin</a> </div>
54
- </div>
55
- <nav class="menu">
56
- <ul class="nav metismenu" id="sidebar-menu">
57
-
58
- <% unless @layout_navbar_links.blank? %>
59
- <% @layout_navbar_links.each do |link| %>
60
- <%= nav_link_to(link[:title], link[:path]) %>
61
- <% end %>
62
- <% end %>
63
- <!--<li class="active">
64
- <a href="index.html"> <i class="fa fa-home"></i> Dashboard </a>
65
- </li>
66
- <li>
67
- <a href=""> <i class="fa fa-th-large"></i> Items Manager <i class="fa arrow"></i> </a>
68
- <ul>
69
- <li> <a href="items-list.html">
70
- Items List
71
- </a> </li>
72
- <li> <a href="item-editor.html">
73
- Item Editor
74
- </a> </li>
75
- </ul>
76
- </li>-->
77
- </ul>
78
- </nav>
79
- </div>
80
- </aside>
81
- <div class="sidebar-overlay" id="sidebar-overlay"></div>
82
- <article class="content dashboard-page">
83
- <div class="row">
84
- <% if content_for?(:sidebar) %>
85
- <div class="col-xl-8">
86
- <!-- main -->
87
- <%= render partial: 'kadmin/helpers/alerts' %>
88
- <%= yield %>
89
- </div>
90
- <div class="col-xl-4 helpsidebar">
91
- <!-- sidebar -->
92
- <div class="card card-default">
93
- <div class="card-header">
94
- <div class="header-block">
95
- <p class="title">Help</p>
96
- </div>
97
- </div>
98
- <div class="card-block">
99
- <%= yield(:sidebar) %>
100
- </div>
101
- <!--<div class="card-footer"> Card Footer </div>-->
102
- </div>
103
- </div>
104
- <% else %>
105
- <div class="col-sm-12">
106
- <%= render partial: 'kadmin/helpers/alerts' %>
107
- <%= yield %>
108
- </div>
109
- <% end %>
110
- </div>
111
- </article>
112
- <footer class="footer">
113
- <div class="footer-block buttons"> </div>
114
- <div class="footer-block author">
115
- <ul>
116
- <li> Problems? <a href="https://redmine.offerista.com/projects/apps-services/issues/new">Create a Ticket</a> </li>
117
- </ul>
118
- </div>
119
- </footer>
120
- </div>
121
- </div>
122
- <!-- Reference block for JS -->
123
- <div class="ref" id="ref">
124
- <div class="color-primary"></div>
125
- <div class="chart">
126
- <div class="color-primary"></div>
127
- <div class="color-secondary"></div>
128
- </div>
129
- </div>
130
- <%= yield :javascripts %>
131
- </body>
132
-
1
+ <!doctype html>
2
+ <html class="no-js" lang="en">
3
+
4
+ <head>
5
+ <meta charset="utf-8">
6
+ <meta http-equiv="x-ua-compatible" content="ie=edge">
7
+ <title>Apps/Services Admin</title>
8
+ <meta name="description" content="">
9
+ <meta name="viewport" content="width=device-width, initial-scale=1">
10
+ <link rel="apple-touch-icon" href="apple-touch-icon.png">
11
+ <!-- Place favicon.ico in the root directory -->
12
+ <%= stylesheet_link_tag "modular/vendor.css", media: "all" %>
13
+ <%= stylesheet_link_tag "modular/app-blue.css", media: "all" %>
14
+ <%= stylesheet_link_tag "modular/custom.css", media: "all" %>
15
+ <%= yield :stylesheets %>
16
+ <%= csrf_meta_tags %>
17
+ <!-- Additional scripts -->
18
+ <link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" integrity="sha384-wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN" crossorigin="anonymous">
19
+ <%= javascript_include_tag "modular/application.js" %>
20
+ <%= javascript_include_tag "modular/custom.js" %>
21
+ </head>
22
+
23
+ <body>
24
+ <div class="main-wrapper">
25
+ <div class="app" id="app">
26
+ <header class="header">
27
+ <h3 class="title" style="margin-left: 40px;"> <!--Moin, moin!--> </h3>
28
+ <div class="header-block header-block-nav">
29
+ <ul class="nav-profile">
30
+ <% if logged_in? %>
31
+ <%= link_to(t('kadmin.authorization.logout'), Kadmin::Engine.routes.url_helpers.auth_logout_path) %>
32
+ <% end %>
33
+ <li class="profile dropdown">
34
+
35
+ <!--<a class="nav-link dropdown-toggle" data-toggle="dropdown" href="#" role="button" aria-haspopup="true" aria-expanded="false">
36
+ <div class="img" style="background-image: url('https://avatars3.githubusercontent.com/u/3959008?v=3&s=40')"> </div>
37
+ <span class="name">John Doe</span>
38
+ </a>
39
+ <div class="dropdown-menu profile-dropdown-menu" aria-labelledby="dropdownMenu1">
40
+ <a class="dropdown-item" href="#"> <i class="fa fa-user icon"></i> Profile </a>
41
+ <a class="dropdown-item" href="#"> <i class="fa fa-bell icon"></i> Notifications </a>
42
+ <a class="dropdown-item" href="#"> <i class="fa fa-gear icon"></i> Settings </a>
43
+ <div class="dropdown-divider"></div>
44
+ <a class="dropdown-item" href="login.html"> <i class="fa fa-power-off icon"></i> Logout </a>
45
+ </div>-->
46
+ </li>
47
+ </ul>
48
+ </div>
49
+ </header>
50
+ <aside class="sidebar">
51
+ <div class="sidebar-container">
52
+ <div class="sidebar-header">
53
+ <div class="brand">
54
+ <!--<div class="logo"> <span class="l l1"></span> <span class="l l2"></span> <span class="l l3"></span> <span class="l l4"></span> <span class="l l5"></span> </div>-->
55
+ <a class="titlelink" href="/admin">Apps&amp;Services Admin</a> </div>
56
+ </div>
57
+ <nav class="menu">
58
+ <ul class="nav metismenu" id="sidebar-menu">
59
+
60
+ <% unless @layout_navbar_links.blank? %>
61
+ <% @layout_navbar_links.each do |link| %>
62
+ <%= nav_link_to(link[:title], link[:path]) %>
63
+ <% end %>
64
+ <% end %>
65
+ <!--<li class="active">
66
+ <a href="index.html"> <i class="fa fa-home"></i> Dashboard </a>
67
+ </li>
68
+ <li>
69
+ <a href=""> <i class="fa fa-th-large"></i> Items Manager <i class="fa arrow"></i> </a>
70
+ <ul>
71
+ <li> <a href="items-list.html">
72
+ Items List
73
+ </a> </li>
74
+ <li> <a href="item-editor.html">
75
+ Item Editor
76
+ </a> </li>
77
+ </ul>
78
+ </li>-->
79
+ </ul>
80
+ </nav>
81
+ </div>
82
+ </aside>
83
+ <div class="sidebar-overlay" id="sidebar-overlay"></div>
84
+ <article class="content dashboard-page">
85
+ <div class="row">
86
+ <% if content_for?(:sidebar) %>
87
+ <div class="col-xl-8">
88
+ <!-- main -->
89
+ <%= render partial: 'kadmin/helpers/alerts' %>
90
+ <%= yield %>
91
+ </div>
92
+ <div class="col-xl-4 helpsidebar">
93
+ <!-- sidebar -->
94
+ <div class="card card-default">
95
+ <div class="card-header">
96
+ <div class="header-block">
97
+ <p class="title">Help</p>
98
+ </div>
99
+ </div>
100
+ <div class="card-block">
101
+ <%= yield(:sidebar) %>
102
+ </div>
103
+ <!--<div class="card-footer"> Card Footer </div>-->
104
+ </div>
105
+ </div>
106
+ <% else %>
107
+ <div class="col-sm-12">
108
+ <%= render partial: 'kadmin/helpers/alerts' %>
109
+ <%= yield %>
110
+ </div>
111
+ <% end %>
112
+ </div>
113
+ </article>
114
+ <footer class="footer">
115
+ <div class="footer-block buttons"> </div>
116
+ <div class="footer-block author">
117
+ <ul>
118
+ <li> Problems? <a href="https://redmine.offerista.com/projects/apps-services/issues/new">Create a Ticket</a> </li>
119
+ </ul>
120
+ </div>
121
+ </footer>
122
+ </div>
123
+ </div>
124
+ <!-- Reference block for JS -->
125
+ <div class="ref" id="ref">
126
+ <div class="color-primary"></div>
127
+ <div class="chart">
128
+ <div class="color-primary"></div>
129
+ <div class="color-secondary"></div>
130
+ </div>
131
+ </div>
132
+ <%= yield :javascripts %>
133
+ </body>
134
+
133
135
  </html>