fullstack-cms 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (95) hide show
  1. data/Gemfile +1 -0
  2. data/Gemfile.lock +3 -0
  3. data/VERSION +1 -1
  4. data/app/controllers/{links_controller.rb → admin/links_controller.rb} +0 -0
  5. data/app/controllers/{menus_controller.rb → admin/menus_controller.rb} +0 -0
  6. data/app/controllers/{page_parts_controller.rb → admin/page_parts_controller.rb} +0 -0
  7. data/app/controllers/{pages_controller.rb → admin/pages_controller.rb} +1 -1
  8. data/app/controllers/{posts_controller.rb → admin/posts_controller.rb} +0 -0
  9. data/app/controllers/{settings_controller.rb → admin/settings_controller.rb} +0 -0
  10. data/app/controllers/{tags_controller.rb → admin/tags_controller.rb} +0 -0
  11. data/app/controllers/{users_controller.rb → admin/users_controller.rb} +0 -0
  12. data/app/helpers/menus_helper.rb +2 -1
  13. data/app/helpers/mobile_helper.rb +7 -0
  14. data/app/helpers/pages_helper.rb +25 -1
  15. data/app/models/nestable.rb +14 -0
  16. data/app/models/page.rb +16 -3
  17. data/{lib/generators/fullstack/cms/templates/rails/lib/support → app/models}/pageable.rb +2 -1
  18. data/app/views/admin/links/_form.html.erb +3 -3
  19. data/app/views/admin/links/_index.html.erb +1 -1
  20. data/app/views/admin/links/_links.html.erb +15 -48
  21. data/app/views/admin/menus/_form.html.erb +5 -5
  22. data/app/views/admin/menus/_index.html.erb +11 -2
  23. data/app/views/admin/page_parts/_tabs.html.erb +3 -3
  24. data/app/views/admin/pages/_form.html.erb +4 -19
  25. data/app/views/admin/settings/_form.html.erb +17 -15
  26. data/app/views/admin/settings/_index.html.erb +7 -1
  27. data/config/routes.rb +27 -0
  28. data/fullstack-cms.gemspec +29 -62
  29. data/lib/fullstack/cms.rb +1 -0
  30. data/lib/generators/fullstack/cms/install_generator.rb +40 -4
  31. data/lib/generators/fullstack/cms/templates/rails/app/assets/javascripts/admin/links.js.coffee +20 -0
  32. data/lib/generators/fullstack/cms/templates/rails/app/assets/javascripts/site/lib/jquery.fitvids.js +77 -0
  33. data/lib/generators/fullstack/cms/templates/rails/app/assets/javascripts/site/lib/plugins.js +5 -0
  34. data/lib/generators/fullstack/cms/templates/rails/app/assets/javascripts/site/site.js.coffee +12 -0
  35. data/lib/generators/fullstack/cms/templates/rails/app/assets/stylesheets/site/bootstrap.overrides.css +3 -0
  36. data/lib/generators/fullstack/cms/templates/rails/app/assets/stylesheets/site/lib/bootstrap.min.css +722 -0
  37. data/lib/generators/fullstack/cms/templates/rails/app/assets/stylesheets/site/site.css +30 -0
  38. data/lib/generators/fullstack/cms/templates/rails/app/views/layouts/email.html.erb +1 -1
  39. data/lib/generators/fullstack/cms/templates/rails/app/views/site/_head.html.erb +7 -7
  40. data/lib/generators/fullstack/cms/templates/rails/app/views/site/_header.html.erb +1 -1
  41. data/lib/generators/fullstack/cms/templates/rails/config/initializers/devise_mailer.rb +1 -0
  42. data/lib/generators/fullstack/cms/templates/rails/public/admin/drag-handle.png +0 -0
  43. data/locales/en.yml +9 -0
  44. data/locales/it.yml +30 -0
  45. metadata +42 -62
  46. data/app/views/admin/menus/_filter.html.erb +0 -12
  47. data/app/views/admin/settings/_filter.html.erb +0 -10
  48. data/lib/generators/fullstack/cms/templates/rails/README.md +0 -40
  49. data/lib/generators/fullstack/cms/templates/rails/app/views/admin/attachments/_attachments.html.erb +0 -49
  50. data/lib/generators/fullstack/cms/templates/rails/app/views/admin/attachments/create.js.coffee +0 -14
  51. data/lib/generators/fullstack/cms/templates/rails/app/views/admin/base/destroy.js.coffee +0 -7
  52. data/lib/generators/fullstack/cms/templates/rails/app/views/admin/base/edit.html.erb +0 -8
  53. data/lib/generators/fullstack/cms/templates/rails/app/views/admin/base/index.html.erb +0 -54
  54. data/lib/generators/fullstack/cms/templates/rails/app/views/admin/base/new.html.erb +0 -8
  55. data/lib/generators/fullstack/cms/templates/rails/app/views/admin/base/update.js.coffee +0 -5
  56. data/lib/generators/fullstack/cms/templates/rails/app/views/admin/dashboard/show.html.erb +0 -0
  57. data/lib/generators/fullstack/cms/templates/rails/app/views/admin/links/_filter.html.erb +0 -14
  58. data/lib/generators/fullstack/cms/templates/rails/app/views/admin/links/_form.html.erb +0 -24
  59. data/lib/generators/fullstack/cms/templates/rails/app/views/admin/links/_index.html.erb +0 -9
  60. data/lib/generators/fullstack/cms/templates/rails/app/views/admin/links/_links.html.erb +0 -128
  61. data/lib/generators/fullstack/cms/templates/rails/app/views/admin/links/_table_row.html.erb +0 -9
  62. data/lib/generators/fullstack/cms/templates/rails/app/views/admin/links/create.js.erb +0 -12
  63. data/lib/generators/fullstack/cms/templates/rails/app/views/admin/links/sort.js.coffee +0 -6
  64. data/lib/generators/fullstack/cms/templates/rails/app/views/admin/links/update.js.coffee +0 -6
  65. data/lib/generators/fullstack/cms/templates/rails/app/views/admin/menus/_filter.html.erb +0 -12
  66. data/lib/generators/fullstack/cms/templates/rails/app/views/admin/menus/_form.html.erb +0 -34
  67. data/lib/generators/fullstack/cms/templates/rails/app/views/admin/menus/_index.html.erb +0 -9
  68. data/lib/generators/fullstack/cms/templates/rails/app/views/admin/page_parts/_tabs.html.erb +0 -21
  69. data/lib/generators/fullstack/cms/templates/rails/app/views/admin/page_parts/destroy.js.coffee +0 -12
  70. data/lib/generators/fullstack/cms/templates/rails/app/views/admin/pages/_filter.html.erb +0 -12
  71. data/lib/generators/fullstack/cms/templates/rails/app/views/admin/pages/_form.html.erb +0 -50
  72. data/lib/generators/fullstack/cms/templates/rails/app/views/admin/pages/_index.html.erb +0 -14
  73. data/lib/generators/fullstack/cms/templates/rails/app/views/admin/photogalleries/_filter.html.erb +0 -14
  74. data/lib/generators/fullstack/cms/templates/rails/app/views/admin/photogalleries/_form.html.erb +0 -26
  75. data/lib/generators/fullstack/cms/templates/rails/app/views/admin/photogalleries/_index.html.erb +0 -9
  76. data/lib/generators/fullstack/cms/templates/rails/app/views/admin/settings/_filter.html.erb +0 -10
  77. data/lib/generators/fullstack/cms/templates/rails/app/views/admin/settings/_form.html.erb +0 -25
  78. data/lib/generators/fullstack/cms/templates/rails/app/views/admin/settings/_index.html.erb +0 -8
  79. data/lib/generators/fullstack/cms/templates/rails/app/views/admin/shared/_nav.html.erb +0 -38
  80. data/lib/generators/fullstack/cms/templates/rails/app/views/admin/users/_filter.html.erb +0 -12
  81. data/lib/generators/fullstack/cms/templates/rails/app/views/admin/users/_form.html.erb +0 -53
  82. data/lib/generators/fullstack/cms/templates/rails/app/views/admin/users/_index.html.erb +0 -18
  83. data/lib/generators/fullstack/cms/templates/rails/app/views/layouts/admin.html.erb +0 -80
  84. data/lib/generators/fullstack/cms/templates/rails/db/migrate/20120416071459_acts_as_taggable_on_migration.rb +0 -31
  85. data/lib/generators/fullstack/cms/templates/rails/db/migrate/20120730184641_create_friendly_id_slugs.rb +0 -18
  86. data/lib/generators/fullstack/cms/templates/rails/db/migrate/20120730204729_create_ckeditor_assets.rb +0 -26
  87. data/lib/generators/fullstack/cms/templates/rails/db/seeds.rb.tt +0 -11
  88. data/lib/generators/fullstack/cms/templates/rails/lib/support/ckeditor/asset.rb +0 -4
  89. data/lib/generators/fullstack/cms/templates/rails/lib/support/ckeditor/attachment_file.rb +0 -12
  90. data/lib/generators/fullstack/cms/templates/rails/lib/support/ckeditor/picture.rb +0 -13
  91. data/lib/generators/fullstack/cms/templates/rails/lib/support/user_subject.rb +0 -40
  92. data/lib/generators/fullstack/cms/templates/rails/lib/tasks/.gitkeep +0 -0
  93. data/lib/generators/fullstack/cms/templates/rails/lib/tasks/assets.rake +0 -53
  94. data/lib/generators/fullstack/cms/templates/rails/lib/tasks/cms.rake +0 -23
  95. data/lib/generators/fullstack/cms/templates/rails/lib/tasks/remote.rake +0 -255
@@ -1,40 +0,0 @@
1
- class UserSubject < Checkin::Subject
2
-
3
- role :guest, :alias => :anonymous do
4
- !subject_model
5
- end
6
-
7
- role :logged_in, :alias => [:connected] do
8
- !!subject_model
9
- end
10
-
11
- role :owner, :require => [:logged_in], :method => :own do |object|
12
- object && ( object.respond_to?(:author) && ( subject_model == object.author ) ) || ( object.respond_to?(:owner) && ( subject_model == object.owner ) )
13
- end
14
-
15
- role :administrator, :require => :logged_in, :alias => :admin do
16
- subject_model.has_role?(:administrator)
17
- end
18
-
19
- #
20
- # Permissions
21
- #
22
-
23
- # Admin
24
-
25
- scope :admin do
26
- permissions do
27
- allow :administrators
28
- deny
29
- end
30
- end
31
-
32
- scope :support do
33
- permissions do
34
- allow :administrators
35
- deny
36
- end
37
- end
38
-
39
- end
40
-
@@ -1,53 +0,0 @@
1
- namespace :assets do
2
- task :compile => :environment do
3
- require 'sprockets'
4
-
5
- # workaround used also by native assets:precompile:all to load sprockets hooks
6
- _ = ActionView::Base
7
-
8
- # ==============================================
9
- # = Read configuration from Rails / assets.yml =
10
- # ==============================================
11
-
12
- env = Rails.application.assets
13
- target = File.join(::Rails.public_path, Rails.application.config.assets.prefix)
14
- assets = YAML.load_file(Rails.root.join('config', 'assets.yml'))
15
- manifest_path = Rails.root.join(target, 'manifest.yml')
16
- digest = !!Rails.application.config.assets.digest
17
- manifest = digest
18
-
19
-
20
- # =======================
21
- # = Old manifest backup =
22
- # =======================
23
-
24
- manifest_old = File.exists?(manifest_path) ? YAML.load_file(manifest_path) : {}
25
-
26
- # ==================
27
- # = Compile assets =
28
- # ==================
29
-
30
- compiler = Sprockets::StaticCompiler.new(env,
31
- target,
32
- assets,
33
- :digest => digest,
34
- :manifest => manifest)
35
- compiler.compile
36
-
37
- # ===================================
38
- # = Merge new manifest into old one =
39
- # ===================================
40
-
41
- manifest_new = File.exists?(manifest_path) ? YAML.load_file(manifest_path) : {}
42
-
43
- File.open(manifest_path, 'w') do |out|
44
- YAML.dump(manifest_old.merge(manifest_new), out)
45
- end
46
-
47
-
48
- # ===============================
49
- # = Compress assets if required =
50
- # ===============================
51
-
52
- end
53
- end
@@ -1,23 +0,0 @@
1
- namespace :cms do
2
- task :bootstrap do
3
- models = Dir.glob(Rails.root.join("app","models", "*.rb")).map {|f| File.basename(f, ".rb")}.join(" ")
4
- exec("cd #{Rails.root} && bundle exec rails g migration:from #{models} && bundle exec rake db:create && bundle exec rake db:migrate && bundle exec rake db:seed")
5
- end
6
-
7
- namespace :settings do
8
- task :collect do
9
- require "YAML"
10
- grepd = `grep -R "get_setting" #{Rails.root.join('app', 'views')}`
11
- lines = grepd.split("\n")
12
- entries = lines.map do |line|
13
- m = line.match(/ get_setting\( \s+ [\:\"\'] [A-z\-\_]+ /x )
14
- m[1]
15
- end.compact
16
- puts entries.to_yaml
17
-
18
- end
19
- end
20
-
21
- end
22
-
23
-
@@ -1,255 +0,0 @@
1
- namespace :remote do
2
-
3
- task :info do
4
- require 'remoting/task'
5
- remote('info', config.login) do
6
-
7
- source "/usr/local/rvm/scripts/rvm"
8
- which :ruby
9
- echo "RUBY VERSION: `ruby --version`"
10
- echo "RUBYGEM VERSION: `gem --version`"
11
- command "RVM_VER=`rvm --version`"
12
- echo "RVM VERSION: $RVM_VER"
13
- end
14
- end
15
-
16
- desc "Setup git origin"
17
- task :init do
18
- require 'remoting/task'
19
-
20
- local('init') do
21
- git :init
22
- git :remote, :add, :origin, config.repo
23
- end
24
- end
25
-
26
- desc "Initialize remote"
27
- task :setup do
28
- require 'remoting/task'
29
- repo_location = config.repo.gsub(/^ssh:\/\/[^\/]+/, "")
30
- remote('setup', config.login) do
31
- mkdir "-p", repo_location
32
- cd repo_location
33
- git :init, "--bare"
34
- git "--bare", "update-server-info"
35
- mkdir "-p", config.dest
36
- git :config, "core.bare", :false
37
- git :config, "core.worktree", config.dest
38
- git :config, "receive.denycurrentbranch", :ignore
39
- touch "hooks/post-receive"
40
- command("echo '#!/bin/sh' >> hooks/post-receive")
41
- command("echo git checkout -f >> hooks/post-receive ")
42
- chmod "+x", "hooks/post-receive"
43
- end
44
- end
45
-
46
- desc "Commit everything to remote git repository"
47
- task :push do
48
- require 'remoting/task'
49
-
50
- message = ENV["MESSAGE"] || "commit #{Time.now}"
51
-
52
- local('push') do
53
- git :add, "."
54
- git :commit, "-a", "-m", "\"#{message}\""
55
- git :push, "origin", "+master:refs/heads/master"
56
- end
57
- end
58
-
59
- desc "Commit everything to remote git repository"
60
- task :pull do
61
- require 'remoting/task'
62
-
63
- local('pull') do
64
- git :pull, :origin, :master
65
- end
66
- end
67
-
68
-
69
- desc "Restart the server"
70
- task :restart do
71
- require 'remoting/task'
72
-
73
- remote('restart', config.login) do
74
- mkdir '-p', config.dest.join('tmp')
75
- touch config.dest.join('tmp', 'restart.txt')
76
- end
77
-
78
- end
79
-
80
- desc "Run bundle install on the server"
81
- task :bundle do
82
- require 'remoting/task'
83
-
84
- remote('bundle', config.login) do
85
- source "/usr/local/rvm/scripts/rvm"
86
- rvm :use, config.ruby
87
-
88
- cd config.dest
89
- export "LANG=en_US.UTF-8"
90
- command "RAILS_ENV=production", "bundle install", "--without development test", "--deployment"
91
- end
92
- end
93
-
94
- desc "Deploy application on server"
95
- task :deploy => [:push, :bundle, :"assets:compile", :restart] do
96
- end
97
-
98
- desc "Run rake tasks on server"
99
- task :rake, [:invocation] do |t, args|
100
- require 'remoting/task'
101
-
102
- invocation = args[:invocation]
103
-
104
- remote('rake', config.login, :interactive => true) do
105
- source "/usr/local/rvm/scripts/rvm"
106
- rvm :use, config.ruby
107
- cd config.dest
108
- command("RAILS_ENV=production bundle exec rake #{invocation}")
109
- end
110
-
111
- end
112
-
113
- desc "Open a remote shell session on server"
114
- task :ssh do
115
- require 'remoting/task'
116
- remote('ssh', config.login, :interactive => true) do
117
- end
118
- end
119
-
120
- desc "Dump a remote logfile"
121
- task :log, [:lines, :filename] do |t, args|
122
- require 'remoting/task'
123
-
124
- filename, lines = args.values_at(:lines, :filename)
125
- filename ||= "production"
126
- filename = "#{filename}.log" unless filename =~ /\.[a-z]+$/
127
-
128
- lines ||= 100
129
-
130
- remote('log', config.login) do
131
- cd config.dest
132
- tail "-#{lines} log/#{filename}"
133
- end
134
- end
135
-
136
- task :logs => [:log] do
137
- end
138
-
139
-
140
- desc "Run tail -f on logfile"
141
- task :logtail, [:filename] do |t, args|
142
- require 'remoting/task'
143
-
144
- filename= args[:filename]
145
- filename ||= "production"
146
- filename = "#{filename}.log" unless filename =~ /\.[a-z]+$/
147
-
148
- remote('logtail', config.login) do
149
- cd config.dest
150
- tail "-f log/#{filename}"
151
- end
152
- end
153
-
154
- desc "Open a remote console"
155
- task :console do
156
- require 'remoting/task'
157
-
158
- remote('console', config.login, :interactive => true) do
159
- cd config.dest
160
- source "/usr/local/rvm/scripts/rvm"
161
- bundle :exec, "rails c production"
162
- end
163
- end
164
-
165
- desc "Update crontab with whenever schedule"
166
- task :whenever do
167
- require 'remoting/task'
168
-
169
- remote('whenever', config.login) do
170
- cd config.dest
171
- whenever "-w"
172
- end
173
- end
174
-
175
-
176
- namespace :apache do
177
- task :ensite do
178
- require 'remoting/task'
179
- remote('ensite', config.login, :interactive => true) do
180
- cd "/etc/apache2/sites-enabled"
181
- sudo "ln -s #{config.dest.join('config', 'apache.conf')} #{config.app}"
182
- end
183
- end
184
-
185
- task :reload do
186
- require 'remoting/task'
187
-
188
- remote('reload', config.login, :interactive => true) do
189
- sudo "/etc/init.d/apache2 reload"
190
- end
191
- end
192
- end
193
-
194
- namespace :assets do
195
-
196
- desc 'Precompile assets'
197
- task :precompile do
198
- require 'remoting/task'
199
-
200
- remote('rake assets:precompile', config.login) do
201
- source "/usr/local/rvm/scripts/rvm"
202
- rvm :use, config.ruby
203
- cd config.dest
204
- command("RAILS_ENV=production bundle exec rake assets:precompile")
205
- echo 'restarting ...'
206
- mkdir '-p', config.dest.join('tmp')
207
- touch config.dest.join('tmp', 'restart.txt')
208
-
209
- end
210
- end
211
-
212
- desc 'compile application related static assets'
213
- task :compile do
214
- require 'remoting/task'
215
-
216
- remote('rake assets:compile', config.login) do
217
- source "/usr/local/rvm/scripts/rvm"
218
- rvm :use, config.ruby
219
- cd config.dest
220
- command("RAILS_ENV=production bundle exec rake assets:compile")
221
- end
222
- end
223
-
224
- end
225
-
226
- namespace :db do
227
-
228
- desc "Migrate remote database"
229
- task :migrate do |t, args|
230
- require 'remoting/task'
231
-
232
- remote('rake db:migrate', config.login) do
233
- source "/usr/local/rvm/scripts/rvm"
234
- rvm :use, config.ruby
235
- cd config.dest
236
- command("RAILS_ENV=production bundle exec rake db:migrate")
237
- end
238
- end
239
-
240
- desc "Seed remote database"
241
- task :seed do |t, args|
242
- require 'remoting/task'
243
-
244
- remote('rake db:seed', config.login) do
245
- source "/usr/local/rvm/scripts/rvm"
246
- rvm :use, config.ruby
247
- cd config.dest
248
- command("RAILS_ENV=production bundle exec rake db:seed")
249
- end
250
- end
251
-
252
-
253
- end
254
-
255
- end