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.
- data/Gemfile +1 -0
- data/Gemfile.lock +3 -0
- data/VERSION +1 -1
- data/app/controllers/{links_controller.rb → admin/links_controller.rb} +0 -0
- data/app/controllers/{menus_controller.rb → admin/menus_controller.rb} +0 -0
- data/app/controllers/{page_parts_controller.rb → admin/page_parts_controller.rb} +0 -0
- data/app/controllers/{pages_controller.rb → admin/pages_controller.rb} +1 -1
- data/app/controllers/{posts_controller.rb → admin/posts_controller.rb} +0 -0
- data/app/controllers/{settings_controller.rb → admin/settings_controller.rb} +0 -0
- data/app/controllers/{tags_controller.rb → admin/tags_controller.rb} +0 -0
- data/app/controllers/{users_controller.rb → admin/users_controller.rb} +0 -0
- data/app/helpers/menus_helper.rb +2 -1
- data/app/helpers/mobile_helper.rb +7 -0
- data/app/helpers/pages_helper.rb +25 -1
- data/app/models/nestable.rb +14 -0
- data/app/models/page.rb +16 -3
- data/{lib/generators/fullstack/cms/templates/rails/lib/support → app/models}/pageable.rb +2 -1
- data/app/views/admin/links/_form.html.erb +3 -3
- data/app/views/admin/links/_index.html.erb +1 -1
- data/app/views/admin/links/_links.html.erb +15 -48
- data/app/views/admin/menus/_form.html.erb +5 -5
- data/app/views/admin/menus/_index.html.erb +11 -2
- data/app/views/admin/page_parts/_tabs.html.erb +3 -3
- data/app/views/admin/pages/_form.html.erb +4 -19
- data/app/views/admin/settings/_form.html.erb +17 -15
- data/app/views/admin/settings/_index.html.erb +7 -1
- data/config/routes.rb +27 -0
- data/fullstack-cms.gemspec +29 -62
- data/lib/fullstack/cms.rb +1 -0
- data/lib/generators/fullstack/cms/install_generator.rb +40 -4
- data/lib/generators/fullstack/cms/templates/rails/app/assets/javascripts/admin/links.js.coffee +20 -0
- data/lib/generators/fullstack/cms/templates/rails/app/assets/javascripts/site/lib/jquery.fitvids.js +77 -0
- data/lib/generators/fullstack/cms/templates/rails/app/assets/javascripts/site/lib/plugins.js +5 -0
- data/lib/generators/fullstack/cms/templates/rails/app/assets/javascripts/site/site.js.coffee +12 -0
- data/lib/generators/fullstack/cms/templates/rails/app/assets/stylesheets/site/bootstrap.overrides.css +3 -0
- data/lib/generators/fullstack/cms/templates/rails/app/assets/stylesheets/site/lib/bootstrap.min.css +722 -0
- data/lib/generators/fullstack/cms/templates/rails/app/assets/stylesheets/site/site.css +30 -0
- data/lib/generators/fullstack/cms/templates/rails/app/views/layouts/email.html.erb +1 -1
- data/lib/generators/fullstack/cms/templates/rails/app/views/site/_head.html.erb +7 -7
- data/lib/generators/fullstack/cms/templates/rails/app/views/site/_header.html.erb +1 -1
- data/lib/generators/fullstack/cms/templates/rails/config/initializers/devise_mailer.rb +1 -0
- data/lib/generators/fullstack/cms/templates/rails/public/admin/drag-handle.png +0 -0
- data/locales/en.yml +9 -0
- data/locales/it.yml +30 -0
- metadata +42 -62
- data/app/views/admin/menus/_filter.html.erb +0 -12
- data/app/views/admin/settings/_filter.html.erb +0 -10
- data/lib/generators/fullstack/cms/templates/rails/README.md +0 -40
- data/lib/generators/fullstack/cms/templates/rails/app/views/admin/attachments/_attachments.html.erb +0 -49
- data/lib/generators/fullstack/cms/templates/rails/app/views/admin/attachments/create.js.coffee +0 -14
- data/lib/generators/fullstack/cms/templates/rails/app/views/admin/base/destroy.js.coffee +0 -7
- data/lib/generators/fullstack/cms/templates/rails/app/views/admin/base/edit.html.erb +0 -8
- data/lib/generators/fullstack/cms/templates/rails/app/views/admin/base/index.html.erb +0 -54
- data/lib/generators/fullstack/cms/templates/rails/app/views/admin/base/new.html.erb +0 -8
- data/lib/generators/fullstack/cms/templates/rails/app/views/admin/base/update.js.coffee +0 -5
- data/lib/generators/fullstack/cms/templates/rails/app/views/admin/dashboard/show.html.erb +0 -0
- data/lib/generators/fullstack/cms/templates/rails/app/views/admin/links/_filter.html.erb +0 -14
- data/lib/generators/fullstack/cms/templates/rails/app/views/admin/links/_form.html.erb +0 -24
- data/lib/generators/fullstack/cms/templates/rails/app/views/admin/links/_index.html.erb +0 -9
- data/lib/generators/fullstack/cms/templates/rails/app/views/admin/links/_links.html.erb +0 -128
- data/lib/generators/fullstack/cms/templates/rails/app/views/admin/links/_table_row.html.erb +0 -9
- data/lib/generators/fullstack/cms/templates/rails/app/views/admin/links/create.js.erb +0 -12
- data/lib/generators/fullstack/cms/templates/rails/app/views/admin/links/sort.js.coffee +0 -6
- data/lib/generators/fullstack/cms/templates/rails/app/views/admin/links/update.js.coffee +0 -6
- data/lib/generators/fullstack/cms/templates/rails/app/views/admin/menus/_filter.html.erb +0 -12
- data/lib/generators/fullstack/cms/templates/rails/app/views/admin/menus/_form.html.erb +0 -34
- data/lib/generators/fullstack/cms/templates/rails/app/views/admin/menus/_index.html.erb +0 -9
- data/lib/generators/fullstack/cms/templates/rails/app/views/admin/page_parts/_tabs.html.erb +0 -21
- data/lib/generators/fullstack/cms/templates/rails/app/views/admin/page_parts/destroy.js.coffee +0 -12
- data/lib/generators/fullstack/cms/templates/rails/app/views/admin/pages/_filter.html.erb +0 -12
- data/lib/generators/fullstack/cms/templates/rails/app/views/admin/pages/_form.html.erb +0 -50
- data/lib/generators/fullstack/cms/templates/rails/app/views/admin/pages/_index.html.erb +0 -14
- data/lib/generators/fullstack/cms/templates/rails/app/views/admin/photogalleries/_filter.html.erb +0 -14
- data/lib/generators/fullstack/cms/templates/rails/app/views/admin/photogalleries/_form.html.erb +0 -26
- data/lib/generators/fullstack/cms/templates/rails/app/views/admin/photogalleries/_index.html.erb +0 -9
- data/lib/generators/fullstack/cms/templates/rails/app/views/admin/settings/_filter.html.erb +0 -10
- data/lib/generators/fullstack/cms/templates/rails/app/views/admin/settings/_form.html.erb +0 -25
- data/lib/generators/fullstack/cms/templates/rails/app/views/admin/settings/_index.html.erb +0 -8
- data/lib/generators/fullstack/cms/templates/rails/app/views/admin/shared/_nav.html.erb +0 -38
- data/lib/generators/fullstack/cms/templates/rails/app/views/admin/users/_filter.html.erb +0 -12
- data/lib/generators/fullstack/cms/templates/rails/app/views/admin/users/_form.html.erb +0 -53
- data/lib/generators/fullstack/cms/templates/rails/app/views/admin/users/_index.html.erb +0 -18
- data/lib/generators/fullstack/cms/templates/rails/app/views/layouts/admin.html.erb +0 -80
- data/lib/generators/fullstack/cms/templates/rails/db/migrate/20120416071459_acts_as_taggable_on_migration.rb +0 -31
- data/lib/generators/fullstack/cms/templates/rails/db/migrate/20120730184641_create_friendly_id_slugs.rb +0 -18
- data/lib/generators/fullstack/cms/templates/rails/db/migrate/20120730204729_create_ckeditor_assets.rb +0 -26
- data/lib/generators/fullstack/cms/templates/rails/db/seeds.rb.tt +0 -11
- data/lib/generators/fullstack/cms/templates/rails/lib/support/ckeditor/asset.rb +0 -4
- data/lib/generators/fullstack/cms/templates/rails/lib/support/ckeditor/attachment_file.rb +0 -12
- data/lib/generators/fullstack/cms/templates/rails/lib/support/ckeditor/picture.rb +0 -13
- data/lib/generators/fullstack/cms/templates/rails/lib/support/user_subject.rb +0 -40
- data/lib/generators/fullstack/cms/templates/rails/lib/tasks/.gitkeep +0 -0
- data/lib/generators/fullstack/cms/templates/rails/lib/tasks/assets.rake +0 -53
- data/lib/generators/fullstack/cms/templates/rails/lib/tasks/cms.rake +0 -23
- 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
|
-
|
File without changes
|
@@ -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
|