simple-admin 0.1.0.pre.alpha
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/.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
|