simple-admin 0.1.0.pre.alpha
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.codeclimate.yml +3 -0
- data/.gitattributes +1 -0
- data/.gitignore +17 -0
- data/.hound.yml +2 -0
- data/.inch.yml +4 -0
- data/.rspec +2 -0
- data/.rubocop.yml +68 -0
- data/.travis.yml +11 -0
- data/CODE_OF_CONDUCT.md +74 -0
- data/CONTRIBUTING.md +51 -0
- data/Gemfile +27 -0
- data/LICENSE.txt +21 -0
- data/README.md +87 -0
- data/Rakefile +20 -0
- data/app/assets/fonts/Simple-Line-Icons.woff +0 -0
- data/app/assets/javascripts/simple_admin/application.js +28 -0
- data/app/assets/stylesheets/simple_admin/application.scss +48 -0
- data/app/assets/stylesheets/simple_admin/global/buttons.css +473 -0
- data/app/assets/stylesheets/simple_admin/global/errors.css +12 -0
- data/app/assets/stylesheets/simple_admin/global/fontawesome-icons.css +3024 -0
- data/app/assets/stylesheets/simple_admin/global/fonts.css +560 -0
- data/app/assets/stylesheets/simple_admin/global/jquery.dataTables.css +169 -0
- data/app/assets/stylesheets/simple_admin/global/pagination.css +11 -0
- data/app/assets/stylesheets/simple_admin/global/reset.css +197 -0
- data/app/assets/stylesheets/simple_admin/global/simple-line-icons.css +672 -0
- data/app/assets/stylesheets/simple_admin/global/table.css +214 -0
- data/app/assets/stylesheets/simple_admin/global/tags.css +87 -0
- data/app/assets/stylesheets/simple_admin/page/aside.css +324 -0
- data/app/assets/stylesheets/simple_admin/page/header.css +332 -0
- data/app/assets/stylesheets/simple_admin/page/main-container.css +222 -0
- data/app/assets/stylesheets/simple_admin/page/sign_in.css +15 -0
- data/app/assets/stylesheets/simple_admin/tabs.css +26 -0
- data/app/controllers/simple_admin/admin/application_controller.rb +21 -0
- data/app/controllers/simple_admin/admin/search_controller.rb +29 -0
- data/app/controllers/simple_admin/admin/system/entities_controller.rb +37 -0
- data/app/controllers/simple_admin/admin/system/entity_field_types_controller.rb +31 -0
- data/app/controllers/simple_admin/admin/system/entity_fields_controller.rb +20 -0
- data/app/helpers/simple_admin_helper.rb +15 -0
- data/app/models/simple_admin/base.rb +14 -0
- data/app/models/simple_admin/entity.rb +50 -0
- data/app/models/simple_admin/entity_field.rb +77 -0
- data/app/models/simple_admin/entity_field_setting.rb +5 -0
- data/app/models/simple_admin/entity_field_type.rb +79 -0
- data/app/views/kaminari/_next_page.html.erb +5 -0
- data/app/views/kaminari/_page.html.erb +3 -0
- data/app/views/kaminari/_paginator.html.erb +26 -0
- data/app/views/kaminari/_prev_page.html.erb +5 -0
- data/app/views/layouts/devise.html.erb +11 -0
- data/app/views/layouts/simple_admin.html.erb +28 -0
- data/app/views/simple_admin/admin/resource/_form.html.erb +19 -0
- data/app/views/simple_admin/admin/resource/edit.html.erb +21 -0
- data/app/views/simple_admin/admin/resource/index.html.erb +13 -0
- data/app/views/simple_admin/admin/resource/new.html.erb +21 -0
- data/app/views/simple_admin/admin/search/index.html.erb +55 -0
- data/app/views/simple_admin/admin/shared/_aside.html.erb +46 -0
- data/app/views/simple_admin/admin/shared/_footer.html.erb +5 -0
- data/app/views/simple_admin/admin/shared/_header.html.erb +7 -0
- data/app/views/simple_admin/admin/shared/collection/_header.html.erb +12 -0
- data/app/views/simple_admin/admin/shared/collection/_table_body.html.erb +29 -0
- data/app/views/simple_admin/admin/shared/collection/_table_header.html.erb +11 -0
- data/app/views/simple_admin/admin/shared/components/_logout.html.erb +6 -0
- data/app/views/simple_admin/admin/shared/components/_search.html.erb +14 -0
- data/app/views/simple_admin/admin/shared/messages/_errors.html.erb +9 -0
- data/app/views/simple_admin/admin/shared/messages/_flash.html.erb +8 -0
- data/app/views/simple_admin/admin/system/entities/_form.html.erb +32 -0
- data/app/views/simple_admin/admin/system/entities/edit.html.erb +27 -0
- data/app/views/simple_admin/admin/system/entities/entity_fields/_form.html.erb +62 -0
- data/app/views/simple_admin/admin/system/entities/entity_fields/edit.html.erb +9 -0
- data/app/views/simple_admin/admin/system/entities/entity_fields/index.html.erb +39 -0
- data/app/views/simple_admin/admin/system/entities/entity_fields/new.html.erb +12 -0
- data/app/views/simple_admin/admin/system/entities/index.html.erb +59 -0
- data/app/views/simple_admin/admin/system/entities/new.html.erb +21 -0
- data/app/views/simple_admin/admin/system/entity_field_types/_form.html.erb +21 -0
- data/app/views/simple_admin/admin/system/entity_field_types/edit.html.erb +24 -0
- data/app/views/simple_admin/admin/system/entity_field_types/index.html.erb +55 -0
- data/app/views/simple_admin/admin/system/entity_field_types/new.html.erb +21 -0
- data/app/views/simple_admin/admin/system/entity_fields/create.js.erb +18 -0
- data/app/views/simple_admin/admin/system/entity_fields/destroy.js.erb +18 -0
- data/app/views/simple_admin/admin/system/entity_fields/update.js.erb +1 -0
- data/app/views/simple_admin/fields/boolean/_form.html.erb +6 -0
- data/app/views/simple_admin/fields/boolean/_index.html.erb +5 -0
- data/app/views/simple_admin/fields/image/_collection.html.erb +5 -0
- data/app/views/simple_admin/fields/image/_form.html.erb +6 -0
- data/app/views/simple_admin/fields/number/_collection.html.erb +5 -0
- data/app/views/simple_admin/fields/number/_form.html.erb +6 -0
- data/app/views/simple_admin/fields/password/_form.html.erb +6 -0
- data/app/views/simple_admin/fields/relation/_collection.html.erb +3 -0
- data/app/views/simple_admin/fields/relation/_form.html.erb +6 -0
- data/app/views/simple_admin/fields/select/_form.html.erb +8 -0
- data/app/views/simple_admin/fields/select/_index.html.erb +5 -0
- data/app/views/simple_admin/fields/string/_collection.html.erb +3 -0
- data/app/views/simple_admin/fields/string/_form.html.erb +6 -0
- data/app/views/simple_admin/fields/tags/_collection.html.erb +3 -0
- data/app/views/simple_admin/fields/tags/_form.html.erb +6 -0
- data/app/views/simple_admin/fields/text/_collection.html.erb +3 -0
- data/app/views/simple_admin/fields/text/_form.html.erb +6 -0
- data/bin/bundle +4 -0
- data/bin/rails +5 -0
- data/codecov.yml +21 -0
- data/config/locales/en.yml +23 -0
- data/config/locales/ru.yml +20 -0
- data/config/routes.rb +19 -0
- data/lib/generators/simple_admin/install_generator.rb +41 -0
- data/lib/generators/simple_admin/migration_generator.rb +24 -0
- data/lib/generators/templates/application_controller.rb +20 -0
- data/lib/generators/templates/initializers/simple_admin.rb.erb +3 -0
- data/lib/generators/templates/migrations/core_data_migration.rb +12 -0
- data/lib/generators/templates/migrations/core_migrations/entities_migration.rb +13 -0
- data/lib/generators/templates/migrations/core_migrations/entity_field_settings_migration.rb +12 -0
- data/lib/generators/templates/migrations/core_migrations/entity_field_types_migration.rb +12 -0
- data/lib/generators/templates/migrations/core_migrations/entity_fields_migration.rb +18 -0
- data/lib/generators/templates/user.rb +24 -0
- data/lib/generators/templates/views/devise/registrations/new.html.erb +46 -0
- data/lib/generators/templates/views/devise/sessions/new.html.erb +35 -0
- data/lib/generators/templates/views/devise/shared/_footer.html.erb +3 -0
- data/lib/simple_admin.rb +39 -0
- data/lib/simple_admin/config.rb +19 -0
- data/lib/simple_admin/engine.rb +15 -0
- data/lib/simple_admin/helpers/boolean_helper.rb +36 -0
- data/lib/simple_admin/helpers/url_helper.rb +29 -0
- data/lib/simple_admin/refinements/boolean.rb +36 -0
- data/lib/simple_admin/resource_controller/actions_builder.rb +40 -0
- data/lib/simple_admin/resource_controller/controller_builder.rb +31 -0
- data/lib/simple_admin/resource_controller/crudify.rb +111 -0
- data/lib/simple_admin/resource_controller/crudify_dynamic_resource.rb +55 -0
- data/lib/simple_admin/resource_controller/dynamic_fields.rb +53 -0
- data/lib/simple_admin/search.rb +23 -0
- data/lib/simple_admin/version.rb +3 -0
- data/simple_admin.gemspec +38 -0
- data/vendor/assets/fonts/Simple-Line-Icons.eot +0 -0
- data/vendor/assets/fonts/Simple-Line-Icons.ttf +0 -0
- data/vendor/assets/fonts/Simple-Line-Icons.woff +0 -0
- data/vendor/assets/fonts/fontawesome-webfont.eot +0 -0
- data/vendor/assets/fonts/fontawesome-webfont.svg +2671 -0
- data/vendor/assets/fonts/fontawesome-webfont.ttf +0 -0
- data/vendor/assets/fonts/fontawesome-webfont.woff +0 -0
- data/vendor/assets/fonts/fontawesome-webfont.woff2 +0 -0
- metadata +307 -0
data/codecov.yml
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
en:
|
2
|
+
simple_admin:
|
3
|
+
form_fields:
|
4
|
+
empty: '* That page empty, because you need to define form fields'
|
5
|
+
create: Create Entity Fields
|
6
|
+
table:
|
7
|
+
actions: Actions
|
8
|
+
actions:
|
9
|
+
confirm: Are you sure?
|
10
|
+
logout: Log out
|
11
|
+
resource:
|
12
|
+
index:
|
13
|
+
title: '%{resource_name}'
|
14
|
+
new:
|
15
|
+
title: 'New %{resource_name}'
|
16
|
+
edit:
|
17
|
+
title: 'Edit %{resource_name}'
|
18
|
+
update:
|
19
|
+
success: '%{resource_name} has been successfully updated!'
|
20
|
+
create:
|
21
|
+
success: '%{resource_name} has been successfully created!'
|
22
|
+
destroy:
|
23
|
+
success: '%{resource_name} has been successfully destroyed!'
|
@@ -0,0 +1,20 @@
|
|
1
|
+
ru:
|
2
|
+
simple_admin:
|
3
|
+
table:
|
4
|
+
actions: Действия
|
5
|
+
actions:
|
6
|
+
confirm: Вы уверены?
|
7
|
+
logout: Выйти
|
8
|
+
resource:
|
9
|
+
index:
|
10
|
+
title: '%{resource_name}'
|
11
|
+
new:
|
12
|
+
title: 'Создать %{resource_name}'
|
13
|
+
edit:
|
14
|
+
title: 'Редактировать %{resource_name}'
|
15
|
+
update:
|
16
|
+
success: '%{resource_name} был успешно обновлен!'
|
17
|
+
create:
|
18
|
+
success: '%{resource_name} был успешно создан!'
|
19
|
+
destroy:
|
20
|
+
success: '%{resource_name} был успешно удален!'
|
data/config/routes.rb
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
Rails.application.routes.draw do
|
2
|
+
scope module: :simple_admin do
|
3
|
+
namespace :admin do
|
4
|
+
root 'system/users#index'
|
5
|
+
|
6
|
+
get :search, to: 'search#index'
|
7
|
+
|
8
|
+
if ActiveRecord::Base.connection.table_exists?(:simple_admin_entities)
|
9
|
+
SimpleAdmin.mount_entities!(self)
|
10
|
+
end
|
11
|
+
|
12
|
+
namespace :system do
|
13
|
+
resources :entities
|
14
|
+
resources :entity_field_types
|
15
|
+
resources :entity_fields, only: [:create, :update, :destroy]
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
require 'rails/generators/base'
|
2
|
+
|
3
|
+
module SimpleAdmin
|
4
|
+
module Generators
|
5
|
+
class InstallGenerator < Rails::Generators::Base
|
6
|
+
source_root File.expand_path('../../templates', __FILE__)
|
7
|
+
|
8
|
+
def copy_initializer
|
9
|
+
template 'initializers/simple_admin.rb.erb', 'config/initializers/simple_admin.rb'
|
10
|
+
end
|
11
|
+
|
12
|
+
def create_application_controller
|
13
|
+
copy_file(
|
14
|
+
'application_controller.rb',
|
15
|
+
'app/controllers/simple_admin/admin/application_controller.rb'
|
16
|
+
)
|
17
|
+
end
|
18
|
+
|
19
|
+
def create_user_model
|
20
|
+
copy_file(
|
21
|
+
'user.rb',
|
22
|
+
'app/models/simple_admin/user.rb'
|
23
|
+
)
|
24
|
+
end
|
25
|
+
|
26
|
+
def create_views
|
27
|
+
if defined?(Devise)
|
28
|
+
create_devise_views!
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
private
|
33
|
+
|
34
|
+
def create_devise_views!
|
35
|
+
copy_file('views/devise/registrations/new.html.erb', 'app/views/devise/registrations/new.html.erb')
|
36
|
+
copy_file('views/devise/sessions/new.html.erb', 'app/views/devise/sessions/new.html.erb')
|
37
|
+
copy_file('views/devise/shared/_footer.html.erb', 'app/views/devise/shared/_footer.html.erb')
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
require 'rails/generators/active_record'
|
2
|
+
|
3
|
+
module SimpleAdmin
|
4
|
+
module Generators
|
5
|
+
class MigrationGenerator < ActiveRecord::Generators::Base
|
6
|
+
source_root File.expand_path('../../templates', __FILE__)
|
7
|
+
|
8
|
+
argument :name, default: 'simple_admin'
|
9
|
+
|
10
|
+
def copy_simple_admin_migration
|
11
|
+
migration_template 'migrations/core_migrations/entities_migration.rb', 'db/migrate/create_simple_admin_entities.rb'
|
12
|
+
|
13
|
+
migration_template 'migrations/core_migrations/entity_fields_migration.rb',
|
14
|
+
'db/migrate/create_simple_admin_entity_fields.rb'
|
15
|
+
migration_template 'migrations/core_migrations/entity_field_types_migration.rb',
|
16
|
+
'db/migrate/create_simple_admin_entity_field_types.rb'
|
17
|
+
migration_template 'migrations/core_migrations/entity_field_settings_migration.rb',
|
18
|
+
'db/migrate/create_simple_admin_entity_field_settings.rb'
|
19
|
+
|
20
|
+
migration_template 'migrations/core_data_migration.rb', 'db/migrate/create_simple_admin_core_data_migration.rb'
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
module SimpleAdmin
|
2
|
+
module Admin
|
3
|
+
class ApplicationController < ActionController::Base
|
4
|
+
layout 'simple_admin'
|
5
|
+
|
6
|
+
before_action :authenticate_user!
|
7
|
+
|
8
|
+
def current_user
|
9
|
+
# TODO Add authenticated user here
|
10
|
+
raise NotImplementedError
|
11
|
+
end
|
12
|
+
|
13
|
+
private
|
14
|
+
def authenticate_user!
|
15
|
+
# TODO Add authentication logic here
|
16
|
+
raise NotImplementedError
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
class CreateSimpleAdminCoreDataMigration < ActiveRecord::Migration[5.0]
|
2
|
+
def change
|
3
|
+
SimpleAdmin::EntityFieldType.create(name: :boolean, template: 'simple_admin/fields/boolean')
|
4
|
+
SimpleAdmin::EntityFieldType.create(name: :number, template: 'simple_admin/fields/number')
|
5
|
+
SimpleAdmin::EntityFieldType.create(name: :select, template: 'simple_admin/fields/select')
|
6
|
+
SimpleAdmin::EntityFieldType.create(name: :string, template: 'simple_admin/fields/string')
|
7
|
+
SimpleAdmin::EntityFieldType.create(name: :text, template: 'simple_admin/fields/text')
|
8
|
+
SimpleAdmin::EntityFieldType.create(name: :image, template: 'simple_admin/fields/image')
|
9
|
+
SimpleAdmin::EntityFieldType.create(name: :tags, template: 'simple_admin/fields/tags')
|
10
|
+
SimpleAdmin::EntityFieldType.create(name: :relation, template: 'simple_admin/fields/relation')
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
class CreateSimpleAdminEntities < ActiveRecord::Migration[5.0]
|
2
|
+
def change
|
3
|
+
create_table :simple_admin_entities do |t|
|
4
|
+
t.string :model_klass_name, null: false
|
5
|
+
t.string :label
|
6
|
+
|
7
|
+
t.boolean :status, default: true
|
8
|
+
t.boolean :inbuilt, default: false
|
9
|
+
|
10
|
+
t.timestamps null: false
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
class CreateSimpleAdminEntityFieldSettings < ActiveRecord::Migration[5.0]
|
2
|
+
def change
|
3
|
+
create_table :simple_admin_entity_field_settings do |t|
|
4
|
+
t.string :name
|
5
|
+
t.string :value
|
6
|
+
|
7
|
+
t.integer :entity_field_id, null: false
|
8
|
+
|
9
|
+
t.timestamps null: false
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
class CreateSimpleAdminEntityFieldTypes < ActiveRecord::Migration[5.0]
|
2
|
+
def change
|
3
|
+
create_table :simple_admin_entity_field_types do |t|
|
4
|
+
t.string :name
|
5
|
+
t.string :template
|
6
|
+
|
7
|
+
t.boolean :inbuilt, default: false
|
8
|
+
|
9
|
+
t.timestamps null: false
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
class CreateSimpleAdminEntityFields < ActiveRecord::Migration[5.0]
|
2
|
+
def change
|
3
|
+
create_table :simple_admin_entity_fields do |t|
|
4
|
+
t.string :name
|
5
|
+
t.string :label
|
6
|
+
|
7
|
+
t.integer :entity_field_type_id, null: false
|
8
|
+
t.integer :entity_id, null: false
|
9
|
+
|
10
|
+
t.integer :presentation
|
11
|
+
t.integer :sort_order, default: 0
|
12
|
+
|
13
|
+
t.boolean :search_indexable, default: false
|
14
|
+
|
15
|
+
t.timestamps null: false
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
module SimpleAdmin
|
2
|
+
class User < Base
|
3
|
+
has_one :profile, dependent: :destroy
|
4
|
+
|
5
|
+
has_many :posts
|
6
|
+
has_many :comments
|
7
|
+
|
8
|
+
accepts_nested_attributes_for :profile, update_only: true
|
9
|
+
delegate :avatar, :first_name, :last_name, to: :profile, allow_nil: true
|
10
|
+
|
11
|
+
after_create :create_profile!
|
12
|
+
|
13
|
+
def full_name
|
14
|
+
"#{first_name} #{last_name}"
|
15
|
+
end
|
16
|
+
|
17
|
+
private
|
18
|
+
|
19
|
+
def create_profile!
|
20
|
+
profile = build_profile
|
21
|
+
profile.save
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,46 @@
|
|
1
|
+
<div class="bg-white pulldown">
|
2
|
+
<div class="content content-boxed overflow-hidden">
|
3
|
+
<div class="row">
|
4
|
+
<div class="col-sm-8 col-sm-offset-2 col-md-6 col-md-offset-3 col-lg-4 col-lg-offset-4">
|
5
|
+
<div class="push-30-t push-20 animated fadeIn">
|
6
|
+
<div class="text-center">
|
7
|
+
<h1 class="h3 push-10-t">Create Account</h1>
|
8
|
+
</div>
|
9
|
+
<%= form_for(resource, as: resource_name, url: registration_path(resource_name), html: { class: 'js-validation-register form-horizontal push-50-t push-50' }) do |f| %>
|
10
|
+
<div class="form-group">
|
11
|
+
<div class="col-xs-12">
|
12
|
+
<div class="form-material form-material-success">
|
13
|
+
<%= f.email_field :email, autofocus: true, class: 'form-control' %>
|
14
|
+
<%= f.label :email %>
|
15
|
+
</div>
|
16
|
+
</div>
|
17
|
+
</div>
|
18
|
+
<div class="form-group">
|
19
|
+
<div class="col-xs-12">
|
20
|
+
<div class="form-material form-material-success">
|
21
|
+
<%= f.password_field :password, autocomplete: "off", class: 'form-control' %>
|
22
|
+
<%= f.label :password %>
|
23
|
+
</div>
|
24
|
+
</div>
|
25
|
+
</div>
|
26
|
+
<div class="form-group">
|
27
|
+
<div class="col-xs-12">
|
28
|
+
<div class="form-material form-material-success">
|
29
|
+
<%= f.password_field :password_confirmation, autocomplete: "off", class: 'form-control' %>
|
30
|
+
<%= f.label :password_confirmation %>
|
31
|
+
</div>
|
32
|
+
</div>
|
33
|
+
</div>
|
34
|
+
<div class="form-group">
|
35
|
+
<div class="col-xs-12 col-sm-6 col-sm-offset-3">
|
36
|
+
<%= f.submit "Sign up", class: 'btn btn-sm btn-block btn-success' %>
|
37
|
+
</div>
|
38
|
+
</div>
|
39
|
+
<% end %>
|
40
|
+
</div>
|
41
|
+
</div>
|
42
|
+
</div>
|
43
|
+
</div>
|
44
|
+
</div>
|
45
|
+
|
46
|
+
<%= render 'devise/shared/footer' %>
|
@@ -0,0 +1,35 @@
|
|
1
|
+
<div class="bg-white pulldown">
|
2
|
+
<div class="content content-boxed overflow-hidden">
|
3
|
+
<div class="row">
|
4
|
+
<div class="col-sm-8 col-sm-offset-2 col-md-6 col-md-offset-3 col-lg-4 col-lg-offset-4">
|
5
|
+
<div class="push-30-t push-50 animated fadeIn">
|
6
|
+
<%= form_for(resource, as: resource_name, url: session_path(resource_name), html: { class: 'js-validation-login form-horizontal push-30-t' }) do |f| %>
|
7
|
+
<div class="form-group">
|
8
|
+
<div class="col-xs-12">
|
9
|
+
<div class="form-material form-material-primary floating">
|
10
|
+
<%= f.email_field :email, autofocus: true, class: 'form-control' %>
|
11
|
+
<%= f.label :email %>
|
12
|
+
</div>
|
13
|
+
</div>
|
14
|
+
</div>
|
15
|
+
<div class="form-group">
|
16
|
+
<div class="col-xs-12">
|
17
|
+
<div class="form-material form-material-primary floating">
|
18
|
+
<%= f.password_field :password, autocomplete: "off", class: 'form-control' %>
|
19
|
+
<%= f.label :password %>
|
20
|
+
</div>
|
21
|
+
</div>
|
22
|
+
</div>
|
23
|
+
<div class="form-group push-30-t">
|
24
|
+
<div class="col-xs-12 col-sm-6 col-sm-offset-3 col-md-4 col-md-offset-4">
|
25
|
+
<%= f.submit "Log in", class: 'btn btn-sm btn-block btn-primary' %>
|
26
|
+
</div>
|
27
|
+
</div>
|
28
|
+
<% end %>
|
29
|
+
</div>
|
30
|
+
</div>
|
31
|
+
</div>
|
32
|
+
</div>
|
33
|
+
</div>
|
34
|
+
|
35
|
+
<%= render 'devise/shared/footer' %>
|
data/lib/simple_admin.rb
ADDED
@@ -0,0 +1,39 @@
|
|
1
|
+
require 'simple_admin/version'
|
2
|
+
require 'simple_admin/engine'
|
3
|
+
|
4
|
+
module SimpleAdmin
|
5
|
+
module Refinements
|
6
|
+
require 'simple_admin/refinements/boolean'
|
7
|
+
end
|
8
|
+
|
9
|
+
module ResourceController
|
10
|
+
require 'simple_admin/resource_controller/actions_builder'
|
11
|
+
require 'simple_admin/resource_controller/controller_builder'
|
12
|
+
|
13
|
+
require 'simple_admin/resource_controller/crudify'
|
14
|
+
require 'simple_admin/resource_controller/crudify_dynamic_resource'
|
15
|
+
|
16
|
+
require 'simple_admin/resource_controller/dynamic_fields'
|
17
|
+
end
|
18
|
+
|
19
|
+
module Helpers
|
20
|
+
require 'simple_admin/helpers/url_helper'
|
21
|
+
require 'simple_admin/helpers/boolean_helper'
|
22
|
+
end
|
23
|
+
|
24
|
+
require 'simple_admin/config'
|
25
|
+
require 'simple_admin/search'
|
26
|
+
|
27
|
+
class << self
|
28
|
+
def mount_entities!(routing_mapper)
|
29
|
+
SimpleAdmin::Entity.resource_attributes.each do |resource_name, model_klass_name|
|
30
|
+
routing_mapper.resources(resource_name)
|
31
|
+
|
32
|
+
controller_builder = SimpleAdmin::ResourceController::ControllerBuilder.new(resource_name)
|
33
|
+
controller_builder.build!
|
34
|
+
|
35
|
+
SimpleAdmin::ResourceController::ActionsBuilder.initialize_actions!(controller_builder.controller_klass, model_klass_name)
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
require 'kaminari'
|
2
|
+
|
3
|
+
require 'bootstrap-sass'
|
4
|
+
require 'jquery-ui-rails'
|
5
|
+
|
6
|
+
module SimpleAdmin
|
7
|
+
class Engine < Rails::Engine
|
8
|
+
initializer 'simple_admin.precompile', group: :all do |app|
|
9
|
+
app.config.assets.precompile += [
|
10
|
+
'simple_admin/application.css',
|
11
|
+
'simple_admin/application.js'
|
12
|
+
]
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|