administrador 0.0.1.pre
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/MIT-LICENSE +20 -0
- data/README.md +73 -0
- data/Rakefile +22 -0
- data/app/assets/config/administrador_manifest.js +2 -0
- data/app/assets/javascripts/administrador/application.js +16 -0
- data/app/assets/stylesheets/administrador/application/bootstrap-btn-responsive.css +7 -0
- data/app/assets/stylesheets/administrador/application/bootstrap-btn-xs.css +6 -0
- data/app/assets/stylesheets/administrador/application/bootstrap-circular-buttons.css +30 -0
- data/app/assets/stylesheets/administrador/application/bootstrap-table-xs.css +7 -0
- data/app/assets/stylesheets/administrador/application/colors.css +7 -0
- data/app/assets/stylesheets/administrador/application/engine-sidebar.css +7 -0
- data/app/assets/stylesheets/administrador/application/layout.css +43 -0
- data/app/assets/stylesheets/administrador/application/page-actions.css +3 -0
- data/app/assets/stylesheets/administrador/application/query_form.css +8 -0
- data/app/assets/stylesheets/administrador/application.css +15 -0
- data/app/concerns/administrador/controller/application_concern.rb +15 -0
- data/app/concerns/administrador/controller/engine_concern.rb +21 -0
- data/app/concerns/administrador/controller/resource_concern.rb +50 -0
- data/app/concerns/administrador/controller/resources_concern.rb +70 -0
- data/app/concerns/administrador/controller/service_concern.rb +17 -0
- data/app/concerns/administrador/engine_routable/localized_concern.rb +21 -0
- data/app/controllers/administrador/application_controller.rb +5 -0
- data/app/controllers/administrador/home_controller/base.rb +7 -0
- data/app/controllers/administrador/home_controller.rb +6 -0
- data/app/controllers/administrador/resource_controller/base.rb +7 -0
- data/app/controllers/administrador/resources_controller/base.rb +7 -0
- data/app/controllers/administrador/service_controller/base.rb +7 -0
- data/app/controllers/administrador/sidebar_controller/base.rb +17 -0
- data/app/jobs/administrador/application_job.rb +4 -0
- data/app/mailers/administrador/application_mailer.rb +6 -0
- data/app/models/administrador/application_record.rb +5 -0
- data/app/view_helpers/administrador/application_view_helper.rb +44 -0
- data/app/view_helpers/administrador/breadcrumbs_view_helper.rb +59 -0
- data/app/view_helpers/administrador/offcanvas_view_helper.rb +8 -0
- data/app/views/administrador/application/_main_sidebar_right.html.haml +1 -0
- data/app/views/administrador/application/_navbar.html.haml +14 -0
- data/app/views/administrador/application/sidebars/_engine.html.haml +32 -0
- data/app/views/administrador/application/sidebars/_i18n.html.haml +8 -0
- data/app/views/administrador/application/sidebars/_messages.html.haml +5 -0
- data/app/views/administrador/application/sidebars/_notifications.html.haml +5 -0
- data/app/views/administrador/application/sidebars/_search.html.haml +5 -0
- data/app/views/administrador/application/sidebars/_settings.html.haml +5 -0
- data/app/views/administrador/application/sidebars/_user.html.haml +5 -0
- data/app/views/administrador/application_view_helper/_flash_messages.html.haml +3 -0
- data/app/views/administrador/application_view_helper/_render_engine_sidebars.html.haml +4 -0
- data/app/views/administrador/home/_html_head_extras.html.haml +0 -0
- data/app/views/administrador/home/index.de.html.haml +6 -0
- data/app/views/administrador/home/index.en.html.haml +6 -0
- data/app/views/administrador/home_controller/base/_html_head_extras.html.haml +0 -0
- data/app/views/administrador/home_controller/base/index.html.haml +3 -0
- data/app/views/administrador/resource_controller/base/_after_show_table.html.haml +0 -0
- data/app/views/administrador/resource_controller/base/_before_show_table.html.haml +0 -0
- data/app/views/administrador/resource_controller/base/_edit_actions.html.haml +7 -0
- data/app/views/administrador/resource_controller/base/_form.html.haml +8 -0
- data/app/views/administrador/resource_controller/base/_form_buttons.html.haml +1 -0
- data/app/views/administrador/resource_controller/base/_form_errors.html.haml +6 -0
- data/app/views/administrador/resource_controller/base/_html_head_extras.html.haml +0 -0
- data/app/views/administrador/resource_controller/base/_new_actions.html.haml +3 -0
- data/app/views/administrador/resource_controller/base/_show_actions.html.haml +6 -0
- data/app/views/administrador/resource_controller/base/_show_table.html.haml +2 -0
- data/app/views/administrador/resource_controller/base/edit.html.haml +14 -0
- data/app/views/administrador/resource_controller/base/new.html.haml +14 -0
- data/app/views/administrador/resource_controller/base/show.html.haml +19 -0
- data/app/views/administrador/resources_controller/base/_after_index_table.html.haml +0 -0
- data/app/views/administrador/resources_controller/base/_after_show_table.html.haml +0 -0
- data/app/views/administrador/resources_controller/base/_before_index_table.html.haml +0 -0
- data/app/views/administrador/resources_controller/base/_before_show_table.html.haml +0 -0
- data/app/views/administrador/resources_controller/base/_edit_actions.html.haml +7 -0
- data/app/views/administrador/resources_controller/base/_form.html.haml +10 -0
- data/app/views/administrador/resources_controller/base/_form_buttons.html.haml +1 -0
- data/app/views/administrador/resources_controller/base/_form_errors.html.haml +6 -0
- data/app/views/administrador/resources_controller/base/_html_head_extras.html.haml +0 -0
- data/app/views/administrador/resources_controller/base/_index_actions.html.haml +4 -0
- data/app/views/administrador/resources_controller/base/_index_table.html.haml +2 -0
- data/app/views/administrador/resources_controller/base/_index_table_actions.html.haml +16 -0
- data/app/views/administrador/resources_controller/base/_index_table_actions.html.haml~ +16 -0
- data/app/views/administrador/resources_controller/base/_new_actions.html.haml +3 -0
- data/app/views/administrador/resources_controller/base/_pagination.html.haml +1 -0
- data/app/views/administrador/resources_controller/base/_query_form.html.haml +0 -0
- data/app/views/administrador/resources_controller/base/_query_form_buttons.html.haml +2 -0
- data/app/views/administrador/resources_controller/base/_show_actions.html.haml +10 -0
- data/app/views/administrador/resources_controller/base/_show_table.html.haml +5 -0
- data/app/views/administrador/resources_controller/base/edit.html.haml +14 -0
- data/app/views/administrador/resources_controller/base/index.html.haml +33 -0
- data/app/views/administrador/resources_controller/base/new.html.haml +14 -0
- data/app/views/administrador/resources_controller/base/show.html.haml +19 -0
- data/app/views/administrador/service_controller/base/_create_actions.html.haml +3 -0
- data/app/views/administrador/service_controller/base/_create_after_service_output.html.haml +0 -0
- data/app/views/administrador/service_controller/base/_create_before_service_output.html.haml +0 -0
- data/app/views/administrador/service_controller/base/_form_buttons.haml +1 -0
- data/app/views/administrador/service_controller/base/_form_errors.html.haml +6 -0
- data/app/views/administrador/service_controller/base/_html_head_extras.html.haml +0 -0
- data/app/views/administrador/service_controller/base/_new_actions.html.haml +3 -0
- data/app/views/administrador/service_controller/base/create.html.haml +24 -0
- data/app/views/administrador/service_controller/base/new.html.haml +14 -0
- data/app/views/administrador/sidebar_controller/base/show.html.haml +1 -0
- data/app/views/breadcrumbs/_render.html.haml +7 -0
- data/app/views/layouts/administrador/application.html.haml +64 -0
- data/app/views/offcanvas_view_helper/_offcanvas.html.erb +11 -0
- data/config/initializers/localized_engines_fix.rb +3 -0
- data/config/locales/de.yml +76 -0
- data/config/locales/en.yml +46 -0
- data/config/routes.rb +8 -0
- data/lib/administrador/configuration.rb +24 -0
- data/lib/administrador/engine.rb +5 -0
- data/lib/administrador/feature.rb +7 -0
- data/lib/administrador/registered_engine.rb +73 -0
- data/lib/administrador/version.rb +3 -0
- data/lib/administrador.rb +19 -0
- data/lib/generators/administrador/install/install_generator.rb +19 -0
- data/lib/generators/administrador/install/templates/initializer.rb +11 -0
- data/lib/generators/administrador/install/templates/routes.source +4 -0
- data/lib/tasks/administrador_tasks.rake +4 -0
- metadata +493 -0
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: 361baa81c14f79a48e2f8f6779c85b5a21ce05f6a34d2b4e4cccb0f92f5ba8f0
|
|
4
|
+
data.tar.gz: d697b0fe6a177328e22d3754ec141e89669845aadaf4c39e37d9571efc3689b9
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: 9ce528d1ae3157a7748b582360b2958efa5cfbc2ada15c59c76cae420122d2d57c3823971568a9e272a20a7afc117fb75ebe3e117c551c48008a69aac6cdd9cc
|
|
7
|
+
data.tar.gz: 85447dedab01ce3c5d0c3833eebe531e81f32b883e4cd6bb102fe5083c736befc79bfdf38727ecafe234f605303cc82b3443f9a57a9ebb97b19ed8c70b49f912
|
data/MIT-LICENSE
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
Copyright 2018 Roberto Vasquez Angel
|
|
2
|
+
|
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
|
4
|
+
a copy of this software and associated documentation files (the
|
|
5
|
+
"Software"), to deal in the Software without restriction, including
|
|
6
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
|
7
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
|
8
|
+
permit persons to whom the Software is furnished to do so, subject to
|
|
9
|
+
the following conditions:
|
|
10
|
+
|
|
11
|
+
The above copyright notice and this permission notice shall be
|
|
12
|
+
included in all copies or substantial portions of the Software.
|
|
13
|
+
|
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
15
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
16
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
17
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
|
18
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
19
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
20
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# Administrador
|
|
2
|
+
|
|
3
|
+
Yet another rails admin UI.
|
|
4
|
+
|
|
5
|
+
Why do we need another one?
|
|
6
|
+
|
|
7
|
+
Most admin UIs need to be hacked or bent to support engines. This admin UI thinks
|
|
8
|
+
engines first, main-app second. ;)
|
|
9
|
+
|
|
10
|
+
## Philosophy
|
|
11
|
+
|
|
12
|
+
Administrador thinks in engines, resources and services.
|
|
13
|
+
|
|
14
|
+
## Prerequisites
|
|
15
|
+
|
|
16
|
+
If you are using rails <= 4.0 you have to add the responders gem to you Gemfile:
|
|
17
|
+
|
|
18
|
+
```ruby
|
|
19
|
+
gem 'responders'
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
## Installation
|
|
24
|
+
Add this line to your application's Gemfile:
|
|
25
|
+
|
|
26
|
+
```ruby
|
|
27
|
+
gem 'administrador'
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
And then execute:
|
|
31
|
+
```bash
|
|
32
|
+
$ bundle
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Or install it yourself as:
|
|
36
|
+
```bash
|
|
37
|
+
$ gem install administrador
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Run the rails generator:
|
|
41
|
+
```bash
|
|
42
|
+
$ rails g administrador:install
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Configuration
|
|
46
|
+
|
|
47
|
+
Look at the initializer at config/initializers/administrador.rb for configuration
|
|
48
|
+
options.
|
|
49
|
+
|
|
50
|
+
### Adding and engine to administrador
|
|
51
|
+
|
|
52
|
+
```ruby
|
|
53
|
+
Administrador.configure do |config|
|
|
54
|
+
config.register_engine 'Blorgh::Engine', {}
|
|
55
|
+
end
|
|
56
|
+
```
|
|
57
|
+
### Stylesheets and Javascripts
|
|
58
|
+
|
|
59
|
+
Administrador assumes, that you have an application.js and application.css in your engine.
|
|
60
|
+
For example if you have a Blorgh-Engine, you should have following files inside the engine:
|
|
61
|
+
|
|
62
|
+
/app/assets/javascripts/blorgh/application.js
|
|
63
|
+
/app/assets/stylesheets/blorgh/application.css
|
|
64
|
+
|
|
65
|
+
## Usage
|
|
66
|
+
|
|
67
|
+
Go to /en/backend and enjoy your admin UI.
|
|
68
|
+
|
|
69
|
+
## Contributing
|
|
70
|
+
Contribution directions go here.
|
|
71
|
+
|
|
72
|
+
## License
|
|
73
|
+
The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
|
data/Rakefile
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
begin
|
|
2
|
+
require 'bundler/setup'
|
|
3
|
+
rescue LoadError
|
|
4
|
+
puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
|
|
5
|
+
end
|
|
6
|
+
|
|
7
|
+
require 'rdoc/task'
|
|
8
|
+
|
|
9
|
+
RDoc::Task.new(:rdoc) do |rdoc|
|
|
10
|
+
rdoc.rdoc_dir = 'rdoc'
|
|
11
|
+
rdoc.title = 'Administrador'
|
|
12
|
+
rdoc.options << '--line-numbers'
|
|
13
|
+
rdoc.rdoc_files.include('README.md')
|
|
14
|
+
rdoc.rdoc_files.include('lib/**/*.rb')
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
APP_RAKEFILE = File.expand_path("spec/dummy/Rakefile", __dir__)
|
|
18
|
+
load 'rails/tasks/engine.rake'
|
|
19
|
+
|
|
20
|
+
load 'rails/tasks/statistics.rake'
|
|
21
|
+
|
|
22
|
+
require 'bundler/gem_tasks'
|
|
@@ -0,0 +1,16 @@
|
|
|
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 any plugin's vendor/assets/javascripts directory 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
|
+
// compiled file. JavaScript code in this file should be added after the last require_* statement.
|
|
9
|
+
//
|
|
10
|
+
// Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details
|
|
11
|
+
// about supported directives.
|
|
12
|
+
//
|
|
13
|
+
//= require rails-ujs
|
|
14
|
+
//= require activestorage
|
|
15
|
+
//= require rao-component/acts_as_list
|
|
16
|
+
//= require_tree .
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
.btn-circle.btn-lg {
|
|
2
|
+
width: 50px;
|
|
3
|
+
height: 50px;
|
|
4
|
+
border-radius: 25px;
|
|
5
|
+
font-size: 18px;
|
|
6
|
+
line-height: 1.33;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.btn-circle.btn-xl {
|
|
10
|
+
width: 70px;
|
|
11
|
+
height: 70px;
|
|
12
|
+
padding: 10px 16px;
|
|
13
|
+
border-radius: 35px;
|
|
14
|
+
font-size: 24px;
|
|
15
|
+
line-height: 1.33;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.btn-circle {
|
|
19
|
+
width: 30px;
|
|
20
|
+
height: 30px;
|
|
21
|
+
padding: 6px 0px;
|
|
22
|
+
border-radius: 15px;
|
|
23
|
+
text-align: center;
|
|
24
|
+
font-size: 12px;
|
|
25
|
+
line-height: 1.42857;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.btn-circle.btn-lg i {
|
|
29
|
+
line-height: 2.4rem;
|
|
30
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
body {
|
|
2
|
+
font-family: 'Poppins', sans-serif;
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
#main-navbar-tools .navbar-nav {
|
|
6
|
+
flex-direction: row;
|
|
7
|
+
flex-wrap: wrap;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
#main-navbar-tools .navbar-nav li {
|
|
11
|
+
margin-left: 0.75rem;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
#main-sidebar {
|
|
15
|
+
padding: 0;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
@media (min-width: 768px) {
|
|
19
|
+
#main-sidebar {
|
|
20
|
+
min-height: 100vh;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
#main-sidebar > .container-fluid > .row {
|
|
24
|
+
height: 100vh;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
#main-sidebar-bottom-content {
|
|
29
|
+
width: 100%;
|
|
30
|
+
display: flex;
|
|
31
|
+
justify-content: space-between;
|
|
32
|
+
flex-wrap: wrap;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
#main-sidebar-bottom-content .btn {
|
|
36
|
+
margin-bottom: 0.75rem;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
#main-breadcrumbs ol.breadcrumb {
|
|
40
|
+
background-color: inherit !important;
|
|
41
|
+
padding-left: 0;
|
|
42
|
+
padding-right: 0;
|
|
43
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
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 any plugin's vendor/assets/stylesheets directory 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 bottom of the
|
|
9
|
+
* compiled file so the styles you add here take precedence over styles defined in any other CSS/SCSS
|
|
10
|
+
* files in this directory. Styles in this file should be added after the last require_* statement.
|
|
11
|
+
* It is generally better to create a new file per style scope.
|
|
12
|
+
*
|
|
13
|
+
*= require_tree ./application
|
|
14
|
+
*= require_self
|
|
15
|
+
*/
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
module Administrador
|
|
2
|
+
module Controller
|
|
3
|
+
module ApplicationConcern
|
|
4
|
+
extend ActiveSupport::Concern
|
|
5
|
+
|
|
6
|
+
included do
|
|
7
|
+
view_helper Administrador::ApplicationViewHelper, as: :administrador_helper
|
|
8
|
+
view_helper Administrador::OffcanvasViewHelper, as: :offcanvas
|
|
9
|
+
view_helper Administrador::BreadcrumbsViewHelper, as: :breadcrumbs
|
|
10
|
+
|
|
11
|
+
prepend Administrador::EngineRoutable::LocalizedConcern
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
module Administrador
|
|
2
|
+
module Controller
|
|
3
|
+
module EngineConcern
|
|
4
|
+
extend ActiveSupport::Concern
|
|
5
|
+
|
|
6
|
+
included do
|
|
7
|
+
helper_method :engine_class
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
class_methods do
|
|
11
|
+
def engine_class
|
|
12
|
+
"#{name.deconstantize}::Engine".constantize
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def engine_class
|
|
17
|
+
self.class.engine_class
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
module Administrador
|
|
2
|
+
module Controller
|
|
3
|
+
module ResourceConcern
|
|
4
|
+
extend ActiveSupport::Concern
|
|
5
|
+
|
|
6
|
+
include Rao::ResourceController::RestActionsConcern
|
|
7
|
+
include Rao::ResourceController::ResourceConcern
|
|
8
|
+
include Rao::ResourceController::RestResourceUrlsConcern
|
|
9
|
+
include Rao::ResourceController::ResourceInflectionsConcern
|
|
10
|
+
include Rao::ResourceController::LocationHistoryConcern
|
|
11
|
+
|
|
12
|
+
included do
|
|
13
|
+
helper Rao::Component::ApplicationHelper
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
# You can exclude available actions so that buttons to that action are not included
|
|
17
|
+
# in the UI.
|
|
18
|
+
#
|
|
19
|
+
# Example:
|
|
20
|
+
#
|
|
21
|
+
# # app/controllers/posts_controller.rb
|
|
22
|
+
# class PostsController < ApplicationController
|
|
23
|
+
# include Administrador::Controller::ResourcesConcern
|
|
24
|
+
#
|
|
25
|
+
# def self.available_rest_actions
|
|
26
|
+
# super - %i(edit new)
|
|
27
|
+
# end
|
|
28
|
+
# end
|
|
29
|
+
module AvailableRestActionsConcern
|
|
30
|
+
extend ActiveSupport::Concern
|
|
31
|
+
|
|
32
|
+
included do
|
|
33
|
+
helper_method :available_rest_actions
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
module ClassMethods
|
|
37
|
+
def available_rest_actions
|
|
38
|
+
%i(new create show edit update destroy)
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def available_rest_actions
|
|
43
|
+
self.class.available_rest_actions
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
include AvailableRestActionsConcern
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
end
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
module Administrador
|
|
2
|
+
module Controller
|
|
3
|
+
module ResourcesConcern
|
|
4
|
+
extend ActiveSupport::Concern
|
|
5
|
+
|
|
6
|
+
include Rao::ResourcesController::RestActionsConcern
|
|
7
|
+
include Rao::ResourcesController::ResourcesConcern
|
|
8
|
+
include Rao::ResourcesController::RestResourceUrlsConcern
|
|
9
|
+
include Rao::ResourcesController::ResourceInflectionsConcern
|
|
10
|
+
include Rao::ResourcesController::LocationHistoryConcern
|
|
11
|
+
include Rao::ResourcesController::SortingConcern
|
|
12
|
+
include Rao::ResourcesController::BatchActionsConcern
|
|
13
|
+
include Rao::ResourcesController::KaminariConcern if Administrador.features?(:kaminari)
|
|
14
|
+
include Rao::Query::Controller::QueryConcern if Administrador.features?(:rao_query)
|
|
15
|
+
|
|
16
|
+
included do
|
|
17
|
+
helper Rao::Component::ApplicationHelper
|
|
18
|
+
view_helper Rao::Query::ApplicationHelper , as: :query_helper if Administrador.features?(:rao_query)
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def load_collection_scope
|
|
22
|
+
with_conditions_from_query(super)
|
|
23
|
+
end if Administrador.features?(:rao_query)
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
module ResourcesCountConcern
|
|
27
|
+
extend ActiveSupport::Concern
|
|
28
|
+
module ClassMethods
|
|
29
|
+
def resource_count
|
|
30
|
+
resource_class.count
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
include ResourcesCountConcern
|
|
35
|
+
|
|
36
|
+
# You can exclude available actions so that buttons to that action are not included
|
|
37
|
+
# in the UI.
|
|
38
|
+
#
|
|
39
|
+
# Example:
|
|
40
|
+
#
|
|
41
|
+
# # app/controllers/posts_controller.rb
|
|
42
|
+
# class PostsController < ApplicationController
|
|
43
|
+
# include Administrador::Controller::ResourcesConcern
|
|
44
|
+
#
|
|
45
|
+
# def self.available_rest_actions
|
|
46
|
+
# super - %i(edit new)
|
|
47
|
+
# end
|
|
48
|
+
# end
|
|
49
|
+
module AvailableRestActionsConcern
|
|
50
|
+
extend ActiveSupport::Concern
|
|
51
|
+
|
|
52
|
+
included do
|
|
53
|
+
helper_method :available_rest_actions
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
module ClassMethods
|
|
57
|
+
def available_rest_actions
|
|
58
|
+
%i(index new create show edit update destroy)
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
def available_rest_actions
|
|
63
|
+
self.class.available_rest_actions
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
include AvailableRestActionsConcern
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
module Administrador
|
|
2
|
+
module Controller
|
|
3
|
+
module ServiceConcern
|
|
4
|
+
extend ActiveSupport::Concern
|
|
5
|
+
|
|
6
|
+
include Rao::ServiceController::RestActionsConcern
|
|
7
|
+
include Rao::ServiceController::ServiceConcern
|
|
8
|
+
include Rao::ServiceController::RestServiceUrlsConcern
|
|
9
|
+
include Rao::ServiceController::ServiceInflectionsConcern
|
|
10
|
+
include Rao::ServiceController::LocationHistoryConcern
|
|
11
|
+
|
|
12
|
+
included do
|
|
13
|
+
helper Rao::Component::ApplicationHelper
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
module Administrador
|
|
2
|
+
module EngineRoutable
|
|
3
|
+
# This prevents missing method error when using localized
|
|
4
|
+
# engines. The localized gem fails to create a default route
|
|
5
|
+
# name for enginges without a locale soffix. For example if you
|
|
6
|
+
# have an engine named blorgh, the router should be named blorgh.
|
|
7
|
+
# With localized you get blorgh_en, blorgh_de and so on. This concern
|
|
8
|
+
# provides the router method without the locale as suffix.
|
|
9
|
+
module LocalizedConcern
|
|
10
|
+
def method_missing(m, *args, &block)
|
|
11
|
+
method_name_with_locale = "#{m}_#{I18n.locale}"
|
|
12
|
+
|
|
13
|
+
if respond_to?(method_name_with_locale)
|
|
14
|
+
send(method_name_with_locale, *args, &block)
|
|
15
|
+
else
|
|
16
|
+
super
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
module Administrador
|
|
2
|
+
module SidebarController
|
|
3
|
+
class Base < Administrador::ApplicationController
|
|
4
|
+
layout false
|
|
5
|
+
|
|
6
|
+
def self.icon_name
|
|
7
|
+
:'ellipsis-v'
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def show
|
|
11
|
+
respond_to do |format|
|
|
12
|
+
format.html
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
module Administrador
|
|
2
|
+
class ApplicationViewHelper < Rao::ViewHelper::Base
|
|
3
|
+
def engines
|
|
4
|
+
Administrador::Configuration.engines
|
|
5
|
+
end
|
|
6
|
+
|
|
7
|
+
def filter_attributes_for_form(attribute_names)
|
|
8
|
+
attribute_names.reject { |an| %w(id created_at updated_at).include?(an) }
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def filter_attributes_for_show(attribute_names)
|
|
12
|
+
attribute_names.reject { |an| %w().include?(an) }
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def flash_messages
|
|
16
|
+
c.render partial: 'administrador/application_view_helper/flash_messages', locals: { flash: bootstrapify_flash_keys(c.flash) }
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def label_for(resource)
|
|
20
|
+
Administrador::Configuration.resource_label_methods.each do |method_name|
|
|
21
|
+
next unless resource.respond_to?(method_name)
|
|
22
|
+
return resource.send(method_name)
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def render_engine_sidebars
|
|
27
|
+
engines.collect do |_, engine|
|
|
28
|
+
c.render partial: 'administrador/application_view_helper/render_engine_sidebars', locals: { engine: engine }
|
|
29
|
+
end.join.html_safe
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
private
|
|
33
|
+
|
|
34
|
+
def bootstrapify_flash_keys(flash)
|
|
35
|
+
flash.each_with_object({}) do |(key, value), memo|
|
|
36
|
+
memo[map_message_type_to_context(key)] = value
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
def map_message_type_to_context(message_type)
|
|
41
|
+
{ success: "success", error: "danger", alert: "warning", notice: "info" }[message_type.to_sym] || message_type.to_s
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|