itsf_backend 1.0.1

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 (169) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.rdoc +43 -0
  4. data/Rakefile +21 -0
  5. data/app/assets/images/itsf/backend/favicon.png +0 -0
  6. data/app/assets/javascripts/itsf/backend/application.js +21 -0
  7. data/app/assets/javascripts/itsf/backend/application/ace.coffee +51 -0
  8. data/app/assets/javascripts/itsf/backend/application/acts-as-list.coffee +21 -0
  9. data/app/assets/javascripts/itsf/backend/application/auto-submit.coffee +21 -0
  10. data/app/assets/javascripts/itsf/backend/application/autofocus-last.coffee +4 -0
  11. data/app/assets/javascripts/itsf/backend/application/drop-down-hover.coffee +8 -0
  12. data/app/assets/javascripts/itsf/backend/application/itsf-logo.coffee +24 -0
  13. data/app/assets/javascripts/itsf/backend/vendor/jQueryRotate.js +339 -0
  14. data/app/assets/javascripts/itsf/backend/vendor/jquery.redirect.js +119 -0
  15. data/app/assets/javascripts/itsf_backend.js +1 -0
  16. data/app/assets/stylesheets/itsf/backend/application.css.less +30 -0
  17. data/app/assets/stylesheets/itsf/backend/application/ace.css.less +6 -0
  18. data/app/assets/stylesheets/itsf/backend/application/basic-page.css.less +10 -0
  19. data/app/assets/stylesheets/itsf/backend/application/bootstrap-extensions.css.less +48 -0
  20. data/app/assets/stylesheets/itsf/backend/application/bottom-margin-extension.css.less +9 -0
  21. data/app/assets/stylesheets/itsf/backend/application/button-responsive.css.less +7 -0
  22. data/app/assets/stylesheets/itsf/backend/application/check-box-margin-fix.css.less +5 -0
  23. data/app/assets/stylesheets/itsf/backend/application/code.css.less +6 -0
  24. data/app/assets/stylesheets/itsf/backend/application/form-errors.css.less +6 -0
  25. data/app/assets/stylesheets/itsf/backend/application/form-inline-margin-fixes.css.less +9 -0
  26. data/app/assets/stylesheets/itsf/backend/application/hexagon.css.less +161 -0
  27. data/app/assets/stylesheets/itsf/backend/application/itsf-dashboard-panels.css.less +9 -0
  28. data/app/assets/stylesheets/itsf/backend/application/itsf-logo.css.less +107 -0
  29. data/app/assets/stylesheets/itsf/backend/application/navigation-logo.css.less +5 -0
  30. data/app/assets/stylesheets/itsf/backend/application/panel-footer-pagination.css.less +8 -0
  31. data/app/assets/stylesheets/itsf/backend/application/panel-with-actions.css.less +21 -0
  32. data/app/assets/stylesheets/itsf/backend/application/table-actions.css.less +9 -0
  33. data/app/assets/stylesheets/itsf/backend/application/table-responsive.css.less +3 -0
  34. data/app/assets/stylesheets/itsf/backend/bootstrap_and_overrides.css.less +34 -0
  35. data/app/assets/stylesheets/itsf/backend/vendor/timeline.min.css +1 -0
  36. data/app/assets/stylesheets/itsf_backend.css +3 -0
  37. data/app/concerns/routing/service_concern.rb +12 -0
  38. data/app/controllers/concerns/controller/acts_as_list_concern.rb +13 -0
  39. data/app/controllers/concerns/controller/acts_as_published_concern.rb +13 -0
  40. data/app/controllers/concerns/controller/pagination_concern.rb +15 -0
  41. data/app/controllers/concerns/controller/pundit_namespaced_authorize_concern.rb +19 -0
  42. data/app/controllers/concerns/controller/ransack_concern.rb +25 -0
  43. data/app/controllers/concerns/controller/rest_actions_concern_with_pundit.rb +93 -0
  44. data/app/controllers/itsf/backend/application_controller.rb +6 -0
  45. data/app/controllers/itsf/backend/base_controller.rb +34 -0
  46. data/app/controllers/itsf/backend/dashboard_controller.rb +20 -0
  47. data/app/controllers/itsf/backend/home_controller.rb +27 -0
  48. data/app/controllers/itsf/backend/resource/base_controller.rb +35 -0
  49. data/app/controllers/itsf/backend/service/base_controller.rb +29 -0
  50. data/app/extensions/concerns/head_row/acts_as_list_extensions.rb +11 -0
  51. data/app/extensions/concerns/head_row/association_extensions.rb +14 -0
  52. data/app/extensions/concerns/head_row/paperclip_extensions.rb +11 -0
  53. data/app/extensions/concerns/head_row/published_extensions.rb +11 -0
  54. data/app/extensions/concerns/head_row/ransack_extensions.rb +7 -0
  55. data/app/extensions/concerns/head_row/timestamp_extensions.rb +21 -0
  56. data/app/extensions/concerns/object_extensions.rb +8 -0
  57. data/app/extensions/concerns/ransack_form_builder_extensions.rb +72 -0
  58. data/app/extensions/concerns/resource_row/acts_as_list_extensions.rb +28 -0
  59. data/app/extensions/concerns/resource_row/association_extensions.rb +22 -0
  60. data/app/extensions/concerns/resource_row/paperclip_extensions.rb +18 -0
  61. data/app/extensions/concerns/resource_row/published_extensions.rb +24 -0
  62. data/app/extensions/concerns/resource_row/timestamp_extensions.rb +23 -0
  63. data/app/extensions/concerns/simple_form_form_builder_extensions.rb +28 -0
  64. data/app/helpers/itsf/backend/application_helper.rb +9 -0
  65. data/app/policies/itsf/backend/base_policy.rb +67 -0
  66. data/app/policies/itsf/backend/dashboard_policy.rb +14 -0
  67. data/app/policies/itsf/backend/engine_policy.rb +14 -0
  68. data/app/policies/itsf/backend/service/base_policy.rb +29 -0
  69. data/app/presenters/bootstrap_table_presenter.rb.old +106 -0
  70. data/app/views/itsf/backend/dashboard/_dashboard_panel.html.haml +18 -0
  71. data/app/views/itsf/backend/dashboard/index.html.haml +7 -0
  72. data/app/views/itsf/backend/home/_dashboard_panel.html.haml +26 -0
  73. data/app/views/itsf/backend/home/_index_extras.html.haml +0 -0
  74. data/app/views/itsf/backend/home/index.html.haml +14 -0
  75. data/app/views/itsf/backend/i18n/_navigation.html.haml +10 -0
  76. data/app/views/itsf/backend/resource/base/_form.html.haml +2 -0
  77. data/app/views/itsf/backend/resource/base/_form_errors.html.haml +6 -0
  78. data/app/views/itsf/backend/resource/base/_scopes.html.haml +1 -0
  79. data/app/views/itsf/backend/resource/base/_search.html.haml +3 -0
  80. data/app/views/itsf/backend/resource/base/_show.html.haml +2 -0
  81. data/app/views/itsf/backend/resource/base/_show_extras.html.haml +0 -0
  82. data/app/views/itsf/backend/resource/base/_table.html.haml +2 -0
  83. data/app/views/itsf/backend/resource/base/_table_actions.html.haml +15 -0
  84. data/app/views/itsf/backend/resource/base/edit.html.haml +17 -0
  85. data/app/views/itsf/backend/resource/base/index.html.haml +48 -0
  86. data/app/views/itsf/backend/resource/base/new.html.haml +15 -0
  87. data/app/views/itsf/backend/resource/base/show.html.haml +28 -0
  88. data/app/views/itsf/backend/service/base/_form.html.haml +0 -0
  89. data/app/views/itsf/backend/service/base/_form_errors.html.haml +6 -0
  90. data/app/views/itsf/backend/service/base/_messages.html.erb +5 -0
  91. data/app/views/itsf/backend/service/base/index.html.haml +18 -0
  92. data/app/views/itsf/backend/service/base/invoke.html.haml +16 -0
  93. data/app/views/itsf/backend/service/base/success.html.haml +13 -0
  94. data/app/views/layouts/itsf/backend/_footer.html.haml +1 -0
  95. data/app/views/layouts/itsf/backend/_logo.html.haml +4 -0
  96. data/app/views/layouts/itsf/backend/_main_navigation.html.haml +6 -0
  97. data/app/views/layouts/itsf/backend/_main_navigation_drop_down.html.haml +20 -0
  98. data/app/views/layouts/itsf/backend/base.html.haml +56 -0
  99. data/config/initializers/assets.rb +3 -0
  100. data/config/initializers/extend_object.rb +1 -0
  101. data/config/initializers/extend_ransack_form_builder.rb +4 -0
  102. data/config/initializers/extend_simple_form_form_builder.rb +5 -0
  103. data/config/locales/de.yml +104 -0
  104. data/config/locales/en.yml +99 -0
  105. data/config/rbac.yml +7 -0
  106. data/config/routes.rb +3 -0
  107. data/lib/generators/itsf/backend/home_controller/home_controller_generator.rb +77 -0
  108. data/lib/generators/itsf/backend/home_controller/templates/home_controller.rb +6 -0
  109. data/lib/generators/itsf/backend/home_controller/templates/routes.source +2 -0
  110. data/lib/generators/itsf/backend/install/install_generator.rb +23 -0
  111. data/lib/generators/itsf/backend/install/templates/backend_controller.rb +2 -0
  112. data/lib/generators/itsf/backend/install/templates/initializer.rb +95 -0
  113. data/lib/generators/itsf/backend/install/templates/routes.source +9 -0
  114. data/lib/generators/itsf/backend/resource/resource_generator.rb +96 -0
  115. data/lib/generators/itsf/backend/resource/templates/controller.rb +34 -0
  116. data/lib/generators/itsf/backend/resource/templates/routes.source +2 -0
  117. data/lib/itsf/backend.rb +11 -0
  118. data/lib/itsf/backend/configuration.rb +38 -0
  119. data/lib/itsf/backend/engine.rb +16 -0
  120. data/lib/itsf/backend/features.rb +13 -0
  121. data/lib/itsf/backend/policies.rb +13 -0
  122. data/lib/itsf/backend/spec_helpers.rb +47 -0
  123. data/lib/itsf/backend/version.rb +5 -0
  124. data/lib/itsf_backend.rb +21 -0
  125. data/lib/tasks/itsf/backend_tasks.rake +4 -0
  126. data/spec/dummy/README.rdoc +28 -0
  127. data/spec/dummy/Rakefile +6 -0
  128. data/spec/dummy/app/assets/javascripts/application.js +13 -0
  129. data/spec/dummy/app/assets/stylesheets/application.css +15 -0
  130. data/spec/dummy/app/controllers/application_controller.rb +5 -0
  131. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  132. data/spec/dummy/app/models/post.rb +2 -0
  133. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  134. data/spec/dummy/bin/bundle +3 -0
  135. data/spec/dummy/bin/rails +4 -0
  136. data/spec/dummy/bin/rake +4 -0
  137. data/spec/dummy/bin/setup +29 -0
  138. data/spec/dummy/config.ru +4 -0
  139. data/spec/dummy/config/application.rb +38 -0
  140. data/spec/dummy/config/boot.rb +5 -0
  141. data/spec/dummy/config/database.yml +25 -0
  142. data/spec/dummy/config/environment.rb +5 -0
  143. data/spec/dummy/config/environments/development.rb +41 -0
  144. data/spec/dummy/config/environments/production.rb +79 -0
  145. data/spec/dummy/config/environments/test.rb +42 -0
  146. data/spec/dummy/config/initializers/assets.rb +11 -0
  147. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  148. data/spec/dummy/config/initializers/cookies_serializer.rb +3 -0
  149. data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  150. data/spec/dummy/config/initializers/inflections.rb +16 -0
  151. data/spec/dummy/config/initializers/itsf_backend.rb +15 -0
  152. data/spec/dummy/config/initializers/mime_types.rb +4 -0
  153. data/spec/dummy/config/initializers/session_store.rb +3 -0
  154. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  155. data/spec/dummy/config/locales/en.yml +23 -0
  156. data/spec/dummy/config/routes.rb +56 -0
  157. data/spec/dummy/config/secrets.yml +22 -0
  158. data/spec/dummy/db/migrate/20151024185112_create_posts.rb +10 -0
  159. data/spec/dummy/db/schema.rb +15 -0
  160. data/spec/dummy/public/404.html +67 -0
  161. data/spec/dummy/public/422.html +67 -0
  162. data/spec/dummy/public/500.html +66 -0
  163. data/spec/dummy/public/favicon.ico +0 -0
  164. data/spec/factories/posts.rb +6 -0
  165. data/spec/models/post_spec.rb +5 -0
  166. data/spec/rails_helper.rb +52 -0
  167. data/spec/spec_helper.rb +90 -0
  168. data/spec/support/addons.rb +3 -0
  169. metadata +688 -0
@@ -0,0 +1,28 @@
1
+ %p#notice= notice
2
+
3
+ #page-title.bottom-margin-1
4
+ .row
5
+ .col-xs-8
6
+ %h1= @resource.try_all(*Itsf::Backend::Configuration.resource_title_methods)
7
+ .col-xs-4
8
+ #page-actions.btn-container-right
9
+ = link_to(resource_path(@resource), method: :delete, class: 'btn btn-danger btn-responsive', 'data-confirm': I18n.t('confirmations.delete')) do
10
+ %span.glyphicon.glyphicon-fire
11
+ %span.btn-text= t('.destroy')
12
+
13
+ .panel.panel-default.panel-with-actions
14
+ %table.table.table-striped.table-condensed.table-hover
15
+ = render_resource(@resource, as: :bootstrap_attribute_table) do |table|
16
+ = render 'show', table: table
17
+
18
+ .panel-footer
19
+
20
+ = render 'show_extras', resource: @resource
21
+
22
+ .well.well-sm
23
+ = link_to(edit_resource_path(@resource), class: 'btn btn-primary btn-responsive') do
24
+ %span.glyphicon.glyphicon-pencil
25
+ %span.btn-text= t('.edit')
26
+ = link_to collection_path, class: 'btn btn-default btn-responsive pull-right' do
27
+ %span.glyphicon.glyphicon-arrow-left
28
+ %span.btn-text= t('.back')
@@ -0,0 +1,6 @@
1
+ - if response.errors.any?
2
+ .error-explanation.alert.alert-danger
3
+ .error-heading= t('errors.template.header', count: response.errors.count, model: response.model_name.human)
4
+ %ul
5
+ - response.errors.full_messages.each do |msg|
6
+ %li= msg
@@ -0,0 +1,5 @@
1
+ <div class="code">
2
+ <% messages.each do |message| %>
3
+ <p class="text-<%= message.level %>"><%= message.to_s %></p>
4
+ <% end %>
5
+ </div>
@@ -0,0 +1,18 @@
1
+ #page-title.bottom-margin-1
2
+ .row
3
+ .col-xs-8
4
+ %h1
5
+ = t('.title', inflections)
6
+ .col-xs-4
7
+ #page-actions.btn-container-right
8
+ .btn-group
9
+ - if !Itsf::Backend.features?(:pundit) || policy(service_class).invoke?
10
+ = link_to invoke_service_path, id: "link-to-#{controller.class.name.underscore.gsub('_controller', '').gsub(/[\/_]/, '-')}-new", class: 'btn btn-success btn-responsive' do
11
+ %span.glyphicon.glyphicon-play-circle
12
+ %span.btn-text= t('.invoke', inflections)
13
+
14
+ .well.well-sm
15
+ .btn-container-right
16
+ = link_to root_path, class: 'btn btn-default btn-responsive' do
17
+ %span.glyphicon.glyphicon-arrow-left
18
+ %span.btn-text= t('.back')
@@ -0,0 +1,16 @@
1
+ %div.panel.panel-default
2
+ %div.panel-heading
3
+ %h1= t('.title', inflections)
4
+
5
+ %div.panel-body
6
+ = simple_form_for(@service, url: call_service_path) do |f|
7
+ = render partial: 'form_errors', locals: { response: @response || f.object }
8
+ = render 'form', form: f
9
+ = f.button :submit, class: 'btn btn-success'
10
+
11
+ %div.panel-footer
12
+ .well.well-sm
13
+ .btn-container-right
14
+ = link_to collection_path, class: 'btn btn-default btn-responsive' do
15
+ %span.glyphicon.glyphicon-arrow-left
16
+ %span.btn-text= t('.back')
@@ -0,0 +1,13 @@
1
+ %div.panel.panel-default
2
+ %div.panel-heading
3
+ %h1= t('.title', inflections)
4
+
5
+ %div.panel-body
6
+ = render partial: 'messages', locals: { messages: @response.messages }
7
+
8
+ %div.panel-footer
9
+ .well.well-sm
10
+ .btn-container-right
11
+ = link_to collection_path, class: 'btn btn-default btn-responsive' do
12
+ %span.glyphicon.glyphicon-arrow-left
13
+ %span.btn-text= t('.back')
@@ -0,0 +1 @@
1
+ %p &copy; Company 2015
@@ -0,0 +1,4 @@
1
+ .itsf-logo-38
2
+ .first-hexagon
3
+ .second-hexagon
4
+ .third-hexagon
@@ -0,0 +1,6 @@
1
+ - Itsf::Backend::Configuration.backend_engines.each do |engine|
2
+ - if respond_to?(:engine_policy) && engine_policy(engine).access?
3
+ - if request.original_url =~ /#{main_app.send("#{engine.engine_name}_path")}/
4
+ = render partial: 'layouts/itsf/backend/main_navigation_drop_down', locals: { engine: engine }
5
+ - else
6
+ %li= link_to t("classes.#{engine.name.underscore}"), main_app.send("#{engine.engine_name}_path")
@@ -0,0 +1,20 @@
1
+ %li.dropdown.active
2
+ = link_to('#', { class: 'dropdown-toggle', 'data-toggle': 'dropdown', role: 'button', 'aria-haspopup': true, 'aria-expanded': false }) do
3
+ = t("classes.#{engine.name.underscore}")
4
+ %span.caret
5
+ %ul.dropdown-menu
6
+ - controllers = engine.to_s.gsub('::Engine', '::Configuration').constantize.registered_controllers
7
+ - if controllers.respond_to?(:call)
8
+ - controllers = controllers.call
9
+ - controllers.each do |kontroller|
10
+ - Rails.logger.info kontroller.inspect
11
+ - resource_klass = kontroller.resource_class
12
+ - if !Itsf::Backend.features?(:pundit) || policy(resource_klass).index?
13
+ %li{ class: (kontroller == controller.class ? 'active' : nil) }
14
+ = link_to(send(engine.engine_name).url_for(controller: kontroller.controller_path)) do
15
+ = resource_klass.model_name.human(count: :other)
16
+ %span.label.label-default
17
+ - if respond_to?(:current_user) && current_user.respond_to?(:last_sign_in_at) && resource_klass.respond_to?(:column_names) && resource_klass.column_names.include?('updated_at')
18
+ = "#{resource_klass.where("updated_at > ?", current_user.last_sign_in_at).count}/#{resource_klass.count}"
19
+ - else
20
+ = resource_klass.count
@@ -0,0 +1,56 @@
1
+ !!! 5
2
+ %html(lang="en")
3
+ %head
4
+ %meta(charset="utf-8")
5
+ %meta(http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1")
6
+ %meta(name="viewport" content="width=device-width, initial-scale=1.0")
7
+ %title= content_for?(:title) ? yield(:title) : t('.title', application_name: Rails.application.class.parent_name.underscore.titleize)
8
+ = csrf_meta_tags
9
+ / Le HTML5 shim, for IE6-8 support of HTML elements
10
+ /[if lt IE 9]
11
+ = javascript_include_tag "//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.6.1/html5shiv.js"
12
+ = stylesheet_link_tag "itsf_backend", :media => "all"
13
+ = favicon_link_tag 'apple-touch-icon-144x144-precomposed.png', :rel => 'apple-touch-icon-precomposed', :type => 'image/png', :sizes => '144x144'
14
+ = favicon_link_tag 'apple-touch-icon-114x114-precomposed.png', :rel => 'apple-touch-icon-precomposed', :type => 'image/png', :sizes => '114x114'
15
+ = favicon_link_tag 'apple-touch-icon-72x72-precomposed.png', :rel => 'apple-touch-icon-precomposed', :type => 'image/png', :sizes => '72x72'
16
+ = favicon_link_tag 'apple-touch-icon-precomposed.png', :rel => 'apple-touch-icon-precomposed', :type => 'image/png'
17
+ = favicon_link_tag 'itsf/backend/favicon.png', :rel => 'shortcut icon'
18
+ = javascript_include_tag "itsf_backend"
19
+
20
+ - Itsf::Backend::Configuration.backend_engines.each do |engine|
21
+ = "<!-- Javascript for #{engine} -->".html_safe
22
+ = javascript_include_tag engine.name.underscore.gsub('/', '_').gsub('_engine', '')
23
+
24
+ - Itsf::Backend::Configuration.backend_engines.each do |engine|
25
+ = "<!-- CSS for #{engine} -->".html_safe
26
+ = stylesheet_link_tag engine.name.underscore.gsub('/', '_').gsub('_engine', ''), media: "all"
27
+
28
+ %body
29
+ .navbar.navbar-default.navbar-static-top
30
+ .container-fluid
31
+ %button.navbar-toggle(type="button" data-toggle="collapse" data-target=".navbar-responsive-collapse")
32
+ %span.icon-bar
33
+ %span.icon-bar
34
+ %span.icon-bar
35
+ #navigation-logo.pull-left
36
+ = render 'layouts/itsf/backend/logo'
37
+ = Itsf::Backend::Configuration.title_link.call(self)
38
+ .navbar-collapse.collapse.navbar-responsive-collapse
39
+ %ul.nav.navbar-nav
40
+ = render 'layouts/itsf/backend/main_navigation'
41
+ %ul.nav.navbar-nav.pull-right
42
+ = render_i18n_navigation
43
+ - if respond_to?(:render_user_navigation)
44
+ %ul.nav.navbar-nav.pull-right
45
+ = render_user_navigation(dropdown: true)
46
+ - if Itsf::Backend.features?(:multi_client)
47
+ %ul.nav.navbar-nav.pull-right
48
+ = render_client_navigation
49
+
50
+ .container-fluid
51
+ .row
52
+ .col-lg-12
53
+ = bootstrap_flash
54
+ = yield
55
+ %footer
56
+ = render 'layouts/itsf/backend/footer'
@@ -0,0 +1,3 @@
1
+ Itsf::Backend::Engine.config.assets.precompile += %w( itsf_backend.css )
2
+ Itsf::Backend::Engine.config.assets.precompile += %w( itsf_backend.js )
3
+ Itsf::Backend::Engine.config.assets.precompile += %w( itsf/backend/favicon.png )
@@ -0,0 +1 @@
1
+ Object.send(:include, ObjectExtensions)
@@ -0,0 +1,4 @@
1
+ if Itsf::Backend.gem_available?(:ransack)
2
+ require 'ransack'
3
+ Ransack::Helpers::FormBuilder.send(:include, RansackFormBuilderExtensions)
4
+ end
@@ -0,0 +1,5 @@
1
+ if Itsf::Backend.gem_available?(:simple_form)
2
+
3
+ require 'simple_form'
4
+ SimpleForm::FormBuilder.send(:include, SimpleFormFormBuilderExtensions)
5
+ end
@@ -0,0 +1,104 @@
1
+ de:
2
+ activerecord:
3
+ scopes:
4
+ all: Alle
5
+ published: Veröffentlicht
6
+ unpublished: Unveröffentlicht
7
+ acts_as_list:
8
+ inserted_after: "%{inserted_resource} nach %{target_resource} eingefügt"
9
+ inserted_before: "%{inserted_resource} vor %{target_resource} eingefügt"
10
+ attributes:
11
+ actions: 'Aktionen'
12
+ acts_as_list_actions: 'Liste'
13
+ acts_as_published_actions: 'Veröffentlichung'
14
+ published: Veröffentlicht?
15
+ booleans:
16
+ 'true': Ja
17
+ 'false': Nein
18
+ cocoon:
19
+ defaults:
20
+ add: "Hinzufügen"
21
+ remove: "Entfernen"
22
+ confirmations:
23
+ delete: "Sind Sie sicher?"
24
+ classes:
25
+ i18n: 'Sprache'
26
+ flash:
27
+ actions:
28
+ create:
29
+ notice: "%{resource_name} erstellt."
30
+ update:
31
+ notice: "%{resource_name} aktualisiert."
32
+ destroy:
33
+ notice: "%{resource_name} gelöscht."
34
+ alert: "%{resource_name} konnte nicht gelöscht werden."
35
+ toggle_published:
36
+ published:
37
+ notice: "%{resource_name} veröffentlicht."
38
+ unpublished:
39
+ notice: "%{resource_name} zurückgezogen."
40
+
41
+ itsf_backend: "Backend"
42
+ itsf:
43
+ backend:
44
+ home:
45
+ dashboard_panel:
46
+ back: "Zurück"
47
+ resources: 'Resourcen'
48
+ services: 'Dienste'
49
+ view: 'Anzeigen'
50
+ index:
51
+ title: "Willkommen im %{engine_name}-Modul"
52
+ dashboard:
53
+ dashboard_panel:
54
+ view: 'Anzeigen'
55
+ index:
56
+ title: "Willkommen im %{engine_name}-Modul"
57
+ resource:
58
+ base:
59
+ edit:
60
+ back: "Zurück"
61
+ show: "Anzeigen"
62
+ title: "%{resource_name} bearbeiten"
63
+ index:
64
+ back: "Zurück"
65
+ new: "%{resource_name} hinzufügen"
66
+ title: "%{collection_name}"
67
+ new:
68
+ back: "Zurück"
69
+ title: "%{resource_name} erstellen"
70
+ show:
71
+ back: "Zurück"
72
+ destroy: "Löschen"
73
+ edit: "Bearbeiten"
74
+ table_actions:
75
+ destroy: "Löschen"
76
+ edit: "Bearbeiten"
77
+ show: "Anzeigen"
78
+ title: "Aktionen"
79
+ service:
80
+ base:
81
+ index:
82
+ back: 'Zurück'
83
+ invoke: "Ausführen"
84
+ title: "%{service_name}"
85
+ invoke:
86
+ back: 'Zurück'
87
+ title: "%{service_name} ausführen"
88
+ success:
89
+ back: 'Zurück'
90
+ title: "%{service_name} ausgeführt"
91
+ layouts:
92
+ itsf:
93
+ backend:
94
+ base:
95
+ title: "%{application_name}"
96
+ locales:
97
+ de: Deutsch
98
+ routes:
99
+ mount:
100
+ itsf_backend: '/backend'
101
+ simple_form:
102
+ labels:
103
+ q:
104
+ locale_eq: Sprache gleicht
@@ -0,0 +1,99 @@
1
+ en:
2
+ activerecord:
3
+ scopes:
4
+ all: All
5
+ published: Published
6
+ unpublished: Unpublished
7
+ acts_as_list:
8
+ inserted_after: "Inserted %{inserted_resource} after %{target_resource}"
9
+ inserted_before: "Inserted %{inserted_resource} before %{target_resource}"
10
+ attributes:
11
+ actions: 'Actions'
12
+ acts_as_list_actions: 'List'
13
+ acts_as_published_actions: 'Publishing'
14
+ published: Published?
15
+ booleans:
16
+ 'true': Yes
17
+ 'false': No
18
+ confirmations:
19
+ delete: "Are you sure?"
20
+ classes:
21
+ i18n: 'Language'
22
+ flash:
23
+ actions:
24
+ create:
25
+ notice: "Created %{resource_name}."
26
+ update:
27
+ notice: "Updated %{resource_name}."
28
+ destroy:
29
+ notice: "Deleted %{resource_name}."
30
+ alert: "Could not delete %{resource_name}."
31
+ toggle_published:
32
+ published:
33
+ notice: "Published %{resource_name}."
34
+ unpublished:
35
+ notice: "Unpublished %{resource_name}."
36
+
37
+ itsf_backend: "Backend"
38
+ itsf:
39
+ backend:
40
+ home:
41
+ dashboard_panel:
42
+ back: "Back"
43
+ services: 'Services'
44
+ view: 'Show'
45
+ index:
46
+ title: "Welcome to the %{engine_name}-Module"
47
+ dashboard:
48
+ dashboard_panel:
49
+ view: 'Show'
50
+ index:
51
+ title: "Welcome to the %{engine_name}-Module"
52
+ resource:
53
+ base:
54
+ edit:
55
+ back: "Back"
56
+ show: "Show"
57
+ title: "Edit %{resource_name}"
58
+ index:
59
+ back: "Back"
60
+ new: "New %{resource_name}"
61
+ title: "%{collection_name}"
62
+ new:
63
+ back: "Back"
64
+ title: "New %{resource_name}"
65
+ show:
66
+ back: "Back"
67
+ destroy: "Delete"
68
+ edit: "Edit"
69
+ table_actions:
70
+ destroy: "Delete"
71
+ edit: "Edit"
72
+ show: "Show"
73
+ title: "Actions"
74
+ service:
75
+ base:
76
+ index:
77
+ back: 'Back'
78
+ invoke: "Execute"
79
+ title: "%{service_name}"
80
+ invoke:
81
+ back: 'Back'
82
+ title: "Execute %{service_name}"
83
+ success:
84
+ back: 'Back'
85
+ title: "Executed %{service_name}"
86
+ layouts:
87
+ itsf:
88
+ backend:
89
+ base:
90
+ title: "%{application_name}"
91
+ locales:
92
+ en: English
93
+ routes:
94
+ mount:
95
+ itsf_backend: '/backend'
96
+ simple_form:
97
+ labels:
98
+ q:
99
+ locale_eq: Locale equals
data/config/rbac.yml ADDED
@@ -0,0 +1,7 @@
1
+ defaults:
2
+ permissions:
3
+ - itsf/backend/dashboard
4
+
5
+ roles:
6
+ itsf/backend/administrator:
7
+ - itsf/backend/dashboard
data/config/routes.rb ADDED
@@ -0,0 +1,3 @@
1
+ Itsf::Backend::Engine.routes.draw do
2
+ root to: 'dashboard#index'
3
+ end
@@ -0,0 +1,77 @@
1
+ module Itsf
2
+ module Backend
3
+ module Generators
4
+ class HomeControllerGenerator < Rails::Generators::NamedBase
5
+ desc 'Generates a backend engine home controller for the given engine (i.e. MyEngine). Use the --skip-namespace option, if you are using a nested namespace and get a doubled top namespace.'
6
+
7
+ source_root File.expand_path('../templates', __FILE__)
8
+
9
+ def test
10
+ p class_name
11
+ p class_path
12
+ p file_path
13
+ p human_name
14
+ p i18n_scope
15
+ # p indent
16
+ p index_helper
17
+ # p inside_template
18
+ p inside_template?
19
+ # p module_namespacing
20
+ p mountable_engine?
21
+ p namespace
22
+ p namespaced?
23
+ # p namespaced_class_path
24
+ # p namespaced_file_path
25
+ # p namespaced_path
26
+ p plural_file_name
27
+ p plural_name
28
+ p plural_table_name
29
+ p pluralize_table_names?
30
+ p regular_class_path
31
+ p route_url
32
+ p singular_name
33
+ p singular_table_name
34
+ p table_name
35
+ # p template
36
+ p uncountable?
37
+ # p wrap_with_namespace
38
+
39
+ p controller_namespace
40
+ p controller_base_path
41
+ p home_controller_file_path
42
+ p home_controller_file_name
43
+ end
44
+
45
+ def generate_controller
46
+ template 'home_controller.rb', File.join(home_controller_file_path, home_controller_file_name)
47
+ end
48
+
49
+ def generate_routes
50
+ route ERB.new(routes_source).result(binding)
51
+ end
52
+
53
+ private
54
+
55
+ def routes_source
56
+ File.read(File.join(File.expand_path('../templates', __FILE__), 'routes.source'))
57
+ end
58
+
59
+ def controller_namespace
60
+ namespace
61
+ end
62
+
63
+ def controller_base_path
64
+ File.join(*%w(app controllers))
65
+ end
66
+
67
+ def home_controller_file_path
68
+ File.join(controller_base_path, file_path)
69
+ end
70
+
71
+ def home_controller_file_name
72
+ 'home_controller.rb'
73
+ end
74
+ end
75
+ end
76
+ end
77
+ end