drh_admin 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (87) hide show
  1. data/lib/generators/admin/USAGE +8 -0
  2. data/lib/generators/admin/admin_generator.rb +100 -0
  3. data/lib/generators/admin/templates/app/assets/images/admin/add-icon.gif +0 -0
  4. data/lib/generators/admin/templates/app/assets/images/admin/approve.png +0 -0
  5. data/lib/generators/admin/templates/app/assets/images/admin/arrow.gif +0 -0
  6. data/lib/generators/admin/templates/app/assets/images/admin/bg-center-column.jpg +0 -0
  7. data/lib/generators/admin/templates/app/assets/images/admin/breadcrumb_divider.png +0 -0
  8. data/lib/generators/admin/templates/app/assets/images/admin/btn_submit.png +0 -0
  9. data/lib/generators/admin/templates/app/assets/images/admin/btn_submit_2.png +0 -0
  10. data/lib/generators/admin/templates/app/assets/images/admin/btn_view_site.png +0 -0
  11. data/lib/generators/admin/templates/app/assets/images/admin/colorbox/border.png +0 -0
  12. data/lib/generators/admin/templates/app/assets/images/admin/colorbox/controls.png +0 -0
  13. data/lib/generators/admin/templates/app/assets/images/admin/colorbox/ie6/borderBottomCenter.png +0 -0
  14. data/lib/generators/admin/templates/app/assets/images/admin/colorbox/ie6/borderBottomLeft.png +0 -0
  15. data/lib/generators/admin/templates/app/assets/images/admin/colorbox/ie6/borderBottomRight.png +0 -0
  16. data/lib/generators/admin/templates/app/assets/images/admin/colorbox/ie6/borderMiddleLeft.png +0 -0
  17. data/lib/generators/admin/templates/app/assets/images/admin/colorbox/ie6/borderMiddleRight.png +0 -0
  18. data/lib/generators/admin/templates/app/assets/images/admin/colorbox/ie6/borderTopCenter.png +0 -0
  19. data/lib/generators/admin/templates/app/assets/images/admin/colorbox/ie6/borderTopLeft.png +0 -0
  20. data/lib/generators/admin/templates/app/assets/images/admin/colorbox/ie6/borderTopRight.png +0 -0
  21. data/lib/generators/admin/templates/app/assets/images/admin/colorbox/loading.gif +0 -0
  22. data/lib/generators/admin/templates/app/assets/images/admin/colorbox/loading_background.png +0 -0
  23. data/lib/generators/admin/templates/app/assets/images/admin/colorbox/overlay.png +0 -0
  24. data/lib/generators/admin/templates/app/assets/images/admin/edit-icon.gif +0 -0
  25. data/lib/generators/admin/templates/app/assets/images/admin/header_bg.png +0 -0
  26. data/lib/generators/admin/templates/app/assets/images/admin/header_shadow.png +0 -0
  27. data/lib/generators/admin/templates/app/assets/images/admin/hr.gif +0 -0
  28. data/lib/generators/admin/templates/app/assets/images/admin/icn_add_user.png +0 -0
  29. data/lib/generators/admin/templates/app/assets/images/admin/icn_alert_error.png +0 -0
  30. data/lib/generators/admin/templates/app/assets/images/admin/icn_alert_info.png +0 -0
  31. data/lib/generators/admin/templates/app/assets/images/admin/icn_alert_success.png +0 -0
  32. data/lib/generators/admin/templates/app/assets/images/admin/icn_alert_warning.png +0 -0
  33. data/lib/generators/admin/templates/app/assets/images/admin/icn_audio.png +0 -0
  34. data/lib/generators/admin/templates/app/assets/images/admin/icn_cafe.png +0 -0
  35. data/lib/generators/admin/templates/app/assets/images/admin/icn_categories.png +0 -0
  36. data/lib/generators/admin/templates/app/assets/images/admin/icn_check.png +0 -0
  37. data/lib/generators/admin/templates/app/assets/images/admin/icn_edit.png +0 -0
  38. data/lib/generators/admin/templates/app/assets/images/admin/icn_edit_article.png +0 -0
  39. data/lib/generators/admin/templates/app/assets/images/admin/icn_eye.png +0 -0
  40. data/lib/generators/admin/templates/app/assets/images/admin/icn_folder.png +0 -0
  41. data/lib/generators/admin/templates/app/assets/images/admin/icn_json.png +0 -0
  42. data/lib/generators/admin/templates/app/assets/images/admin/icn_jump_back.png +0 -0
  43. data/lib/generators/admin/templates/app/assets/images/admin/icn_logout.png +0 -0
  44. data/lib/generators/admin/templates/app/assets/images/admin/icn_new_article.png +0 -0
  45. data/lib/generators/admin/templates/app/assets/images/admin/icn_photo.png +0 -0
  46. data/lib/generators/admin/templates/app/assets/images/admin/icn_plus.png +0 -0
  47. data/lib/generators/admin/templates/app/assets/images/admin/icn_profile.png +0 -0
  48. data/lib/generators/admin/templates/app/assets/images/admin/icn_qrcode.png +0 -0
  49. data/lib/generators/admin/templates/app/assets/images/admin/icn_reject.png +0 -0
  50. data/lib/generators/admin/templates/app/assets/images/admin/icn_search.png +0 -0
  51. data/lib/generators/admin/templates/app/assets/images/admin/icn_security.png +0 -0
  52. data/lib/generators/admin/templates/app/assets/images/admin/icn_settings.png +0 -0
  53. data/lib/generators/admin/templates/app/assets/images/admin/icn_tags.png +0 -0
  54. data/lib/generators/admin/templates/app/assets/images/admin/icn_trash.png +0 -0
  55. data/lib/generators/admin/templates/app/assets/images/admin/icn_user.png +0 -0
  56. data/lib/generators/admin/templates/app/assets/images/admin/icn_video.png +0 -0
  57. data/lib/generators/admin/templates/app/assets/images/admin/icn_view_users.png +0 -0
  58. data/lib/generators/admin/templates/app/assets/images/admin/login-icon.gif +0 -0
  59. data/lib/generators/admin/templates/app/assets/images/admin/logo.png +0 -0
  60. data/lib/generators/admin/templates/app/assets/images/admin/module_footer_bg.png +0 -0
  61. data/lib/generators/admin/templates/app/assets/images/admin/post_message.png +0 -0
  62. data/lib/generators/admin/templates/app/assets/images/admin/save-icon.gif +0 -0
  63. data/lib/generators/admin/templates/app/assets/images/admin/secondary_bar.png +0 -0
  64. data/lib/generators/admin/templates/app/assets/images/admin/secondary_bar_shadow.png +0 -0
  65. data/lib/generators/admin/templates/app/assets/images/admin/show.png +0 -0
  66. data/lib/generators/admin/templates/app/assets/images/admin/sidebar.png +0 -0
  67. data/lib/generators/admin/templates/app/assets/images/admin/sidebar_divider.png +0 -0
  68. data/lib/generators/admin/templates/app/assets/images/admin/sidebar_shadow.png +0 -0
  69. data/lib/generators/admin/templates/app/assets/images/admin/table_sorter_header.png +0 -0
  70. data/lib/generators/admin/templates/app/assets/javascripts/admin/admin.js +2 -0
  71. data/lib/generators/admin/templates/app/assets/stylesheets/admin/admin.css +434 -0
  72. data/lib/generators/admin/templates/app/assets/stylesheets/admin/auth.css.scss +3 -0
  73. data/lib/generators/admin/templates/app/controllers/admin/admin_controller.rb +24 -0
  74. data/lib/generators/admin/templates/app/controllers/admin/auth_controller.rb +45 -0
  75. data/lib/generators/admin/templates/app/controllers/admin/model_controller.rb.erb +43 -0
  76. data/lib/generators/admin/templates/app/views/admin/admin/_sidebar.html.erb +12 -0
  77. data/lib/generators/admin/templates/app/views/admin/admin/index.html.erb +22 -0
  78. data/lib/generators/admin/templates/app/views/admin/auth/login.html.erb +22 -0
  79. data/lib/generators/admin/templates/app/views/admin/model/_form.html.erb +21 -0
  80. data/lib/generators/admin/templates/app/views/admin/model/edit.html.erb +8 -0
  81. data/lib/generators/admin/templates/app/views/admin/model/index.html.erb +33 -0
  82. data/lib/generators/admin/templates/app/views/admin/model/new.html.erb +8 -0
  83. data/lib/generators/admin/templates/app/views/admin/model/show.html.erb +28 -0
  84. data/lib/generators/admin/templates/app/views/layouts/admin.html.erb +47 -0
  85. data/lib/generators/admin/templates/config/admin.yml +2 -0
  86. data/lib/generators/admin/templates/script/new_admin +57 -0
  87. metadata +130 -0
@@ -0,0 +1,8 @@
1
+ Description:
2
+ Create a neat, simple admin template can be easily customized
3
+
4
+ Example:
5
+ rails generate admin Thing
6
+
7
+ This will create:
8
+ what/will/it/create
@@ -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
@@ -0,0 +1,2 @@
1
+ //= require jquery
2
+ //= require jquery_ujs