drh_admin 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/generators/admin/USAGE +8 -0
- data/lib/generators/admin/admin_generator.rb +100 -0
- data/lib/generators/admin/templates/app/assets/images/admin/add-icon.gif +0 -0
- data/lib/generators/admin/templates/app/assets/images/admin/approve.png +0 -0
- data/lib/generators/admin/templates/app/assets/images/admin/arrow.gif +0 -0
- data/lib/generators/admin/templates/app/assets/images/admin/bg-center-column.jpg +0 -0
- data/lib/generators/admin/templates/app/assets/images/admin/breadcrumb_divider.png +0 -0
- data/lib/generators/admin/templates/app/assets/images/admin/btn_submit.png +0 -0
- data/lib/generators/admin/templates/app/assets/images/admin/btn_submit_2.png +0 -0
- data/lib/generators/admin/templates/app/assets/images/admin/btn_view_site.png +0 -0
- data/lib/generators/admin/templates/app/assets/images/admin/colorbox/border.png +0 -0
- data/lib/generators/admin/templates/app/assets/images/admin/colorbox/controls.png +0 -0
- data/lib/generators/admin/templates/app/assets/images/admin/colorbox/ie6/borderBottomCenter.png +0 -0
- data/lib/generators/admin/templates/app/assets/images/admin/colorbox/ie6/borderBottomLeft.png +0 -0
- data/lib/generators/admin/templates/app/assets/images/admin/colorbox/ie6/borderBottomRight.png +0 -0
- data/lib/generators/admin/templates/app/assets/images/admin/colorbox/ie6/borderMiddleLeft.png +0 -0
- data/lib/generators/admin/templates/app/assets/images/admin/colorbox/ie6/borderMiddleRight.png +0 -0
- data/lib/generators/admin/templates/app/assets/images/admin/colorbox/ie6/borderTopCenter.png +0 -0
- data/lib/generators/admin/templates/app/assets/images/admin/colorbox/ie6/borderTopLeft.png +0 -0
- data/lib/generators/admin/templates/app/assets/images/admin/colorbox/ie6/borderTopRight.png +0 -0
- data/lib/generators/admin/templates/app/assets/images/admin/colorbox/loading.gif +0 -0
- data/lib/generators/admin/templates/app/assets/images/admin/colorbox/loading_background.png +0 -0
- data/lib/generators/admin/templates/app/assets/images/admin/colorbox/overlay.png +0 -0
- data/lib/generators/admin/templates/app/assets/images/admin/edit-icon.gif +0 -0
- data/lib/generators/admin/templates/app/assets/images/admin/header_bg.png +0 -0
- data/lib/generators/admin/templates/app/assets/images/admin/header_shadow.png +0 -0
- data/lib/generators/admin/templates/app/assets/images/admin/hr.gif +0 -0
- data/lib/generators/admin/templates/app/assets/images/admin/icn_add_user.png +0 -0
- data/lib/generators/admin/templates/app/assets/images/admin/icn_alert_error.png +0 -0
- data/lib/generators/admin/templates/app/assets/images/admin/icn_alert_info.png +0 -0
- data/lib/generators/admin/templates/app/assets/images/admin/icn_alert_success.png +0 -0
- data/lib/generators/admin/templates/app/assets/images/admin/icn_alert_warning.png +0 -0
- data/lib/generators/admin/templates/app/assets/images/admin/icn_audio.png +0 -0
- data/lib/generators/admin/templates/app/assets/images/admin/icn_cafe.png +0 -0
- data/lib/generators/admin/templates/app/assets/images/admin/icn_categories.png +0 -0
- data/lib/generators/admin/templates/app/assets/images/admin/icn_check.png +0 -0
- data/lib/generators/admin/templates/app/assets/images/admin/icn_edit.png +0 -0
- data/lib/generators/admin/templates/app/assets/images/admin/icn_edit_article.png +0 -0
- data/lib/generators/admin/templates/app/assets/images/admin/icn_eye.png +0 -0
- data/lib/generators/admin/templates/app/assets/images/admin/icn_folder.png +0 -0
- data/lib/generators/admin/templates/app/assets/images/admin/icn_json.png +0 -0
- data/lib/generators/admin/templates/app/assets/images/admin/icn_jump_back.png +0 -0
- data/lib/generators/admin/templates/app/assets/images/admin/icn_logout.png +0 -0
- data/lib/generators/admin/templates/app/assets/images/admin/icn_new_article.png +0 -0
- data/lib/generators/admin/templates/app/assets/images/admin/icn_photo.png +0 -0
- data/lib/generators/admin/templates/app/assets/images/admin/icn_plus.png +0 -0
- data/lib/generators/admin/templates/app/assets/images/admin/icn_profile.png +0 -0
- data/lib/generators/admin/templates/app/assets/images/admin/icn_qrcode.png +0 -0
- data/lib/generators/admin/templates/app/assets/images/admin/icn_reject.png +0 -0
- data/lib/generators/admin/templates/app/assets/images/admin/icn_search.png +0 -0
- data/lib/generators/admin/templates/app/assets/images/admin/icn_security.png +0 -0
- data/lib/generators/admin/templates/app/assets/images/admin/icn_settings.png +0 -0
- data/lib/generators/admin/templates/app/assets/images/admin/icn_tags.png +0 -0
- data/lib/generators/admin/templates/app/assets/images/admin/icn_trash.png +0 -0
- data/lib/generators/admin/templates/app/assets/images/admin/icn_user.png +0 -0
- data/lib/generators/admin/templates/app/assets/images/admin/icn_video.png +0 -0
- data/lib/generators/admin/templates/app/assets/images/admin/icn_view_users.png +0 -0
- data/lib/generators/admin/templates/app/assets/images/admin/login-icon.gif +0 -0
- data/lib/generators/admin/templates/app/assets/images/admin/logo.png +0 -0
- data/lib/generators/admin/templates/app/assets/images/admin/module_footer_bg.png +0 -0
- data/lib/generators/admin/templates/app/assets/images/admin/post_message.png +0 -0
- data/lib/generators/admin/templates/app/assets/images/admin/save-icon.gif +0 -0
- data/lib/generators/admin/templates/app/assets/images/admin/secondary_bar.png +0 -0
- data/lib/generators/admin/templates/app/assets/images/admin/secondary_bar_shadow.png +0 -0
- data/lib/generators/admin/templates/app/assets/images/admin/show.png +0 -0
- data/lib/generators/admin/templates/app/assets/images/admin/sidebar.png +0 -0
- data/lib/generators/admin/templates/app/assets/images/admin/sidebar_divider.png +0 -0
- data/lib/generators/admin/templates/app/assets/images/admin/sidebar_shadow.png +0 -0
- data/lib/generators/admin/templates/app/assets/images/admin/table_sorter_header.png +0 -0
- data/lib/generators/admin/templates/app/assets/javascripts/admin/admin.js +2 -0
- data/lib/generators/admin/templates/app/assets/stylesheets/admin/admin.css +434 -0
- data/lib/generators/admin/templates/app/assets/stylesheets/admin/auth.css.scss +3 -0
- data/lib/generators/admin/templates/app/controllers/admin/admin_controller.rb +24 -0
- data/lib/generators/admin/templates/app/controllers/admin/auth_controller.rb +45 -0
- data/lib/generators/admin/templates/app/controllers/admin/model_controller.rb.erb +43 -0
- data/lib/generators/admin/templates/app/views/admin/admin/_sidebar.html.erb +12 -0
- data/lib/generators/admin/templates/app/views/admin/admin/index.html.erb +22 -0
- data/lib/generators/admin/templates/app/views/admin/auth/login.html.erb +22 -0
- data/lib/generators/admin/templates/app/views/admin/model/_form.html.erb +21 -0
- data/lib/generators/admin/templates/app/views/admin/model/edit.html.erb +8 -0
- data/lib/generators/admin/templates/app/views/admin/model/index.html.erb +33 -0
- data/lib/generators/admin/templates/app/views/admin/model/new.html.erb +8 -0
- data/lib/generators/admin/templates/app/views/admin/model/show.html.erb +28 -0
- data/lib/generators/admin/templates/app/views/layouts/admin.html.erb +47 -0
- data/lib/generators/admin/templates/config/admin.yml +2 -0
- data/lib/generators/admin/templates/script/new_admin +57 -0
- metadata +130 -0
@@ -0,0 +1,100 @@
|
|
1
|
+
class AdminGenerator < Rails::Generators::Base
|
2
|
+
source_root File.expand_path('../templates', __FILE__)
|
3
|
+
# argument :model_names, :type => :array
|
4
|
+
@@models = {}
|
5
|
+
@@reserved_title_names = %W(title name)
|
6
|
+
def make_app_files
|
7
|
+
|
8
|
+
Dir.glob("app/models/**/*.rb").sort.each do |file|
|
9
|
+
model_path = file[0..-4].split('/')[2..-1]
|
10
|
+
begin
|
11
|
+
klass = model_path.map { |path| path.camelize }.join('::').constantize
|
12
|
+
if defined? Mongoid
|
13
|
+
puts "Mongoid defined"
|
14
|
+
if klass.ancestors.include?(Mongoid::Document) && !klass.embedded
|
15
|
+
@@models[:mongoid] = [] if @@models[:mongoid].nil?
|
16
|
+
@@models[:mongoid] << klass
|
17
|
+
end
|
18
|
+
elsif defined? ActiveRecord
|
19
|
+
puts "ActiveRecord defined"
|
20
|
+
if klass.ancestors.include?(ActiveRecord::Base)
|
21
|
+
@@models[:activerecord] = [] if @@models[:activerecord].nil?
|
22
|
+
@@models[:activerecord] << klass
|
23
|
+
end
|
24
|
+
end
|
25
|
+
rescue => e
|
26
|
+
# puts "model path : #{model_path}"
|
27
|
+
# puts "error : #{e.message}"
|
28
|
+
# Just for non-mongoid objects that dont have the embedded
|
29
|
+
# attribute at the class level.
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
#copy default controllers
|
34
|
+
copy_file 'app/controllers/admin/admin_controller.rb'
|
35
|
+
copy_file 'app/controllers/admin/auth_controller.rb'
|
36
|
+
@@models.keys.each do |k|
|
37
|
+
@@models[k].each do |model|
|
38
|
+
@orm = k
|
39
|
+
@model = model
|
40
|
+
|
41
|
+
if @orm == :activerecord
|
42
|
+
@fields = @model.new.attributes.keys - @model.protected_attributes.to_a
|
43
|
+
elsif @orm == :mongoid
|
44
|
+
@fields = @model.fields.keys - %w(_id _type)
|
45
|
+
end
|
46
|
+
|
47
|
+
template 'app/controllers/admin/model_controller.rb.erb',
|
48
|
+
"app/controllers/admin/#{@model.name.underscore.pluralize}_controller.rb"
|
49
|
+
|
50
|
+
template 'app/views/admin/model/index.html.erb',
|
51
|
+
"app/views/admin/#{@model.name.underscore.pluralize}/index.html.erb"
|
52
|
+
|
53
|
+
template 'app/views/admin/model/new.html.erb',
|
54
|
+
"app/views/admin/#{@model.name.underscore.pluralize}/new.html.erb"
|
55
|
+
|
56
|
+
template 'app/views/admin/model/show.html.erb',
|
57
|
+
"app/views/admin/#{@model.name.underscore.pluralize}/show.html.erb"
|
58
|
+
|
59
|
+
template 'app/views/admin/model/_form.html.erb',
|
60
|
+
"app/views/admin/#{@model.name.underscore.pluralize}/_form.html.erb"
|
61
|
+
|
62
|
+
template 'app/views/admin/model/edit.html.erb',
|
63
|
+
"app/views/admin/#{@model.name.underscore.pluralize}/edit.html.erb"
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
#copy views & layouts
|
68
|
+
directory 'app/views/admin/admin'
|
69
|
+
directory 'app/views/admin/auth'
|
70
|
+
@models = @@models
|
71
|
+
template 'app/views/admin/admin/_sidebar.html.erb',
|
72
|
+
"app/views/admin/admin/_sidebar.html.erb"
|
73
|
+
template 'app/views/layouts/admin.html.erb', 'app/views/layouts/admin.html.erb'
|
74
|
+
|
75
|
+
#copy asset
|
76
|
+
directory 'app/assets'
|
77
|
+
end
|
78
|
+
|
79
|
+
def make_routing
|
80
|
+
admin_routes = <<EOF
|
81
|
+
namespace :admin do
|
82
|
+
match '/' => 'admin#index'
|
83
|
+
match 'login' => 'auth#login'
|
84
|
+
match 'logout' => 'auth#logout'
|
85
|
+
match 'authorize' => 'auth#authorize'
|
86
|
+
#{@@models.keys.map {|k| @@models[k].map {|model| "resources :#{model.name.underscore.pluralize}" }.join("\n")}.join("\n")}
|
87
|
+
end
|
88
|
+
EOF
|
89
|
+
route admin_routes
|
90
|
+
end
|
91
|
+
|
92
|
+
def make_script
|
93
|
+
directory 'script'
|
94
|
+
chmod 'script/new_admin', 0754
|
95
|
+
end
|
96
|
+
|
97
|
+
def make_admin_config
|
98
|
+
directory 'config'
|
99
|
+
end
|
100
|
+
end
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
data/lib/generators/admin/templates/app/assets/images/admin/colorbox/ie6/borderBottomCenter.png
ADDED
Binary file
|
Binary file
|
data/lib/generators/admin/templates/app/assets/images/admin/colorbox/ie6/borderBottomRight.png
ADDED
Binary file
|
Binary file
|
data/lib/generators/admin/templates/app/assets/images/admin/colorbox/ie6/borderMiddleRight.png
ADDED
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|