fullstack-cms 0.1.1 → 0.1.2

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.
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