cartoonist 0.0.8 → 0.0.9
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.
- data/app/assets/stylesheets/admin.css.scss +2 -0
- data/app/controllers/{accounts_controller.rb → admin/accounts_controller.rb} +4 -4
- data/app/controllers/{cache_controller.rb → admin/cache_controller.rb} +6 -6
- data/app/controllers/{settings_controller.rb → admin/settings_controller.rb} +11 -6
- data/app/controllers/{static_cache_controller.rb → admin/static_cache_controller.rb} +3 -3
- data/app/controllers/admin_controller.rb +7 -33
- data/app/controllers/cartoonist_controller.rb +1 -1
- data/app/helpers/{cache_helper.rb → admin/cache_helper.rb} +1 -1
- data/app/helpers/admin/settings_helper.rb +17 -0
- data/app/models/entity.rb +104 -0
- data/app/models/postable.rb +59 -0
- data/app/models/setting.rb +70 -26
- data/app/models/simple_template.rb +2 -0
- data/app/views/{accounts → admin/accounts}/edit.html.erb +1 -1
- data/app/views/{accounts → admin/accounts}/index.html.erb +3 -3
- data/app/views/{accounts → admin/accounts}/new.html.erb +1 -1
- data/app/views/{accounts → admin/accounts}/show.html.erb +1 -1
- data/app/views/{cache → admin/cache}/index.html.erb +5 -5
- data/app/views/{settings → admin/settings}/initial_setup.html.erb +1 -1
- data/app/views/{settings → admin/settings}/show.html.erb +18 -6
- data/app/views/{static_cache → admin/static_cache}/index.html.erb +2 -2
- data/app/views/layouts/admin.html.erb +2 -2
- data/app/views/layouts/admin/accounts.html.erb +8 -0
- data/app/views/layouts/{initial_setup.html.erb → admin/initial_setup.html.erb} +0 -0
- data/app/views/layouts/general_admin.html.erb +3 -3
- data/cartoonist.gemspec +0 -1
- data/config/locales/en.yml +0 -11
- data/lib/cartoonist.rb +47 -1
- data/lib/cartoonist/engine.rb +75 -91
- metadata +28 -37
- data/app/models/tweetable.rb +0 -17
- data/app/views/layouts/accounts.html.erb +0 -8
@@ -1,6 +1,6 @@
|
|
1
1
|
<h2><%= t "accounts.edit.subtitle" %></h2>
|
2
2
|
|
3
|
-
<%= form_tag "/accounts/#{@user.id}", :method => :put do %>
|
3
|
+
<%= form_tag "/admin/accounts/#{@user.id}", :method => :put do %>
|
4
4
|
<p>
|
5
5
|
<%= t "accounts.edit.email" %> <input type="text" name="email" value="<%= @user.email %>" />
|
6
6
|
</p>
|
@@ -1,4 +1,4 @@
|
|
1
|
-
<a href="/accounts/new"><%= t "accounts.index.new_user" %></a>
|
1
|
+
<a href="/admin/accounts/new"><%= t "accounts.index.new_user" %></a>
|
2
2
|
|
3
3
|
<table>
|
4
4
|
<thead>
|
@@ -15,10 +15,10 @@
|
|
15
15
|
<tr>
|
16
16
|
<td><%= user.name %></td>
|
17
17
|
<td><%= user.email %></td>
|
18
|
-
<td><a href="/accounts/<%= user.id %>/edit"><%= t "accounts.index.edit_button" %></a></td>
|
18
|
+
<td><a href="/admin/accounts/<%= user.id %>/edit"><%= t "accounts.index.edit_button" %></a></td>
|
19
19
|
<td>
|
20
20
|
<% if current_user.id != user.id %>
|
21
|
-
<%= form_tag "/accounts/#{user.id}", :method => :delete do %>
|
21
|
+
<%= form_tag "/admin/accounts/#{user.id}", :method => :delete do %>
|
22
22
|
<input type="submit" value="<%= t "accounts.index.delete_button" %>" />
|
23
23
|
<% end %>
|
24
24
|
<% end %>
|
@@ -1,17 +1,17 @@
|
|
1
1
|
<p>
|
2
|
-
<%= form_tag "/cache/expire_www", :method => :post, :class => "inline" do %>
|
2
|
+
<%= form_tag "/admin/cache/expire_www", :method => :post, :class => "inline" do %>
|
3
3
|
<input type="submit" value="<%= t "cache.index.expire_www" %>" />
|
4
4
|
<% end %>
|
5
5
|
|
6
|
-
<%= form_tag "/cache/expire_m", :method => :post, :class => "inline" do %>
|
6
|
+
<%= form_tag "/admin/cache/expire_m", :method => :post, :class => "inline" do %>
|
7
7
|
<input type="submit" value="<%= t "cache.index.expire_m" %>" />
|
8
8
|
<% end %>
|
9
9
|
|
10
|
-
<%= form_tag "/cache/expire_tmp", :method => :post, :class => "inline" do %>
|
10
|
+
<%= form_tag "/admin/cache/expire_tmp", :method => :post, :class => "inline" do %>
|
11
11
|
<input type="submit" value="<%= t "cache.index.expire_tmp" %>" />
|
12
12
|
<% end %>
|
13
13
|
|
14
|
-
<%= form_tag "/cache/expire_all", :method => :post, :class => "inline" do %>
|
14
|
+
<%= form_tag "/admin/cache/expire_all", :method => :post, :class => "inline" do %>
|
15
15
|
<input type="submit" value="<%= t "cache.index.expire_all" %>" />
|
16
16
|
<% end %>
|
17
17
|
</p>
|
@@ -50,7 +50,7 @@
|
|
50
50
|
</td>
|
51
51
|
|
52
52
|
<td>
|
53
|
-
<%= form_tag "/cache/#{u cache.delete_name}", :method => :delete do %>
|
53
|
+
<%= form_tag "/admin/cache/#{u cache.delete_name}", :method => :delete do %>
|
54
54
|
<input type="submit" value="<%= t "cache.index.expire" %>" />
|
55
55
|
<% end %>
|
56
56
|
</td>
|
@@ -4,7 +4,7 @@
|
|
4
4
|
</div>
|
5
5
|
<% end %>
|
6
6
|
|
7
|
-
<%= form_tag "/settings/save_initial_setup", :method => :post do %>
|
7
|
+
<%= form_tag "/admin/settings/save_initial_setup", :method => :post do %>
|
8
8
|
<p>
|
9
9
|
<%= t "settings.initial_setup.email" %><input type="text" name="admin_email" value="<%= t "settings.initial_setup.default_email" %>" autofocus="autofocus" />
|
10
10
|
</p>
|
@@ -1,25 +1,33 @@
|
|
1
1
|
<div class="tabs">
|
2
2
|
<% Setting.tabs.each do |tab| %>
|
3
|
-
<a href="/settings/<%= tab %>" class="tab <%= "selected_tab" if tab == params[:id].to_sym %>"><%=
|
3
|
+
<a href="/admin/settings/<%= tab %>" class="tab <%= "selected_tab" if tab == params[:id].to_sym %>"><%= Setting::Tab[tab].localized %></a>
|
4
4
|
<% end %>
|
5
5
|
</div>
|
6
6
|
|
7
|
-
|
7
|
+
<% if flash[:update_errors] %>
|
8
|
+
<% flash[:update_errors].each do |message| %>
|
9
|
+
<p class="message">
|
10
|
+
<%= message %>
|
11
|
+
</p>
|
12
|
+
<% end %>
|
13
|
+
<% end %>
|
14
|
+
|
15
|
+
<%= form_tag "/admin/settings/#{@tab.label}", :method => :put do %>
|
8
16
|
<% @tab.sections.each do |section| %>
|
9
17
|
<div class="section">
|
10
|
-
<h2><%=
|
18
|
+
<h2><%= @tab[section].localized %></h2>
|
11
19
|
|
12
20
|
<% @tab[section].settings.each do |setting| %>
|
13
21
|
<%# Other setting types to come later %>
|
14
22
|
<% next unless Setting::Meta[setting].select_from || [:string, :boolean, :int].include?(Setting::Meta[setting].type) %>
|
15
|
-
<p>
|
23
|
+
<p class="setting">
|
16
24
|
<input type="hidden" name="included_settings[]" value="<%= setting %>" />
|
17
25
|
<label>
|
18
|
-
<%=
|
26
|
+
<%= Setting::Meta[setting].localized %>
|
19
27
|
<% if Setting::Meta[setting].select_from %>
|
20
28
|
<select name="<%= setting %>">
|
21
29
|
<% Setting::Meta[setting].select_from_options.each do |option| %>
|
22
|
-
<option value="<%= option %>" <%= selected option, Setting[setting] %>><%= option %></option>
|
30
|
+
<option value="<%= setting_select_value option %>" <%= selected setting_select_value(option), Setting[setting] %>><%= setting_select_label option %></option>
|
23
31
|
<% end %>
|
24
32
|
<select name="<%= setting %>" value="<%= Setting[setting] %>">
|
25
33
|
<% elsif Setting::Meta[setting].type == :string %>
|
@@ -30,6 +38,10 @@
|
|
30
38
|
<input type="checkbox" name="<%= setting %>" value="true" <%= checked Setting[setting] %> />
|
31
39
|
<% end %>
|
32
40
|
</label>
|
41
|
+
|
42
|
+
<% if Setting::Meta[setting].info_label %>
|
43
|
+
<em class="info"><%= t Setting::Meta[setting].info_label %></em>
|
44
|
+
<% end %>
|
33
45
|
</p>
|
34
46
|
<% end %>
|
35
47
|
</div>
|
@@ -1,5 +1,5 @@
|
|
1
1
|
<p>
|
2
|
-
<%= form_tag "/static_cache/expire_all", :method => :post, :class => "inline" do %>
|
2
|
+
<%= form_tag "/admin/static_cache/expire_all", :method => :post, :class => "inline" do %>
|
3
3
|
<input type="submit" value="<%= t "static_cache.index.expire_all" %>" />
|
4
4
|
<% end %>
|
5
5
|
</p>
|
@@ -18,7 +18,7 @@
|
|
18
18
|
<td><%= cache.name %></td>
|
19
19
|
|
20
20
|
<td>
|
21
|
-
<%= form_tag "/static_cache/#{u cache.name}", :method => :delete do %>
|
21
|
+
<%= form_tag "/admin/static_cache/#{u cache.name}", :method => :delete do %>
|
22
22
|
<input type="submit" value="<%= t "static_cache.index.expire" %>" />
|
23
23
|
<% end %>
|
24
24
|
</td>
|
@@ -14,7 +14,7 @@
|
|
14
14
|
<a class="tab" href="<%= Cartoonist::Admin::Tab[tab] %>"><%= t tab, :scope => "admin.layout.tab" %></a>
|
15
15
|
<% end %>
|
16
16
|
| <%= t "admin.layout.user_heading", :user => current_user.name %>
|
17
|
-
<a href="/accounts/<%= current_user.id %>"><%= t "admin.layout.account" %></a>
|
17
|
+
<a href="/admin/accounts/<%= current_user.id %>"><%= t "admin.layout.account" %></a>
|
18
18
|
<input type="submit" value="<%= t "admin.layout.logout" %>" />
|
19
19
|
</p>
|
20
20
|
<% end %>
|
@@ -36,7 +36,7 @@
|
|
36
36
|
<% end %>
|
37
37
|
|
38
38
|
<% if flash[:message] %>
|
39
|
-
<p
|
39
|
+
<p class="message">
|
40
40
|
<%= flash[:message] %>
|
41
41
|
</p>
|
42
42
|
<% end %>
|
@@ -0,0 +1,8 @@
|
|
1
|
+
<% content_for :subtabs do %>
|
2
|
+
<a class="subtab" href="/admin/accounts/<%= current_user.id %>"><%= t "admin.accounts.layout.my_account" %></a>
|
3
|
+
<a class="subtab" href="/admin/accounts"><%= t "admin.accounts.layout.users" %></a>
|
4
|
+
<% end %>
|
5
|
+
|
6
|
+
<% content_for :page_title, t("admin.accounts.layout.section") %>
|
7
|
+
<% content_for(:content) { yield } %>
|
8
|
+
<%= render :template => "layouts/admin" %>
|
File without changes
|
@@ -1,8 +1,8 @@
|
|
1
1
|
<% content_for :subtabs do %>
|
2
2
|
<a class="subtab" href="/admin"><%= t "admin.general.layout.actions" %></a>
|
3
|
-
<a class="subtab" href="/settings"><%= t "admin.general.layout.settings" %></a>
|
4
|
-
<a class="subtab" href="/cache"><%= t "admin.general.layout.cache" %></a>
|
5
|
-
<a class="subtab" href="/static_cache"><%= t "admin.general.layout.static_cache" %></a>
|
3
|
+
<a class="subtab" href="/admin/settings"><%= t "admin.general.layout.settings" %></a>
|
4
|
+
<a class="subtab" href="/admin/cache"><%= t "admin.general.layout.cache" %></a>
|
5
|
+
<a class="subtab" href="/admin/static_cache"><%= t "admin.general.layout.static_cache" %></a>
|
6
6
|
<% end %>
|
7
7
|
|
8
8
|
<% content_for :page_title, t("admin.general.layout.section") %>
|
data/cartoonist.gemspec
CHANGED
data/config/locales/en.yml
CHANGED
@@ -57,9 +57,6 @@ en:
|
|
57
57
|
noscript_link: Disqus comments.
|
58
58
|
noscript_post_link:
|
59
59
|
logo: Logo
|
60
|
-
navigation:
|
61
|
-
follow_on_twitter: Follow us on Twitter
|
62
|
-
follow_on_twitter_title: Follow us on Twitter
|
63
60
|
cache:
|
64
61
|
index:
|
65
62
|
cached: cached
|
@@ -97,7 +94,6 @@ en:
|
|
97
94
|
social_and_analytics:
|
98
95
|
disqus: Disqus
|
99
96
|
google_analytics: Google Analytics
|
100
|
-
twitter: Twitter
|
101
97
|
settings:
|
102
98
|
domain: "Domain: "
|
103
99
|
site_name: "Site Name: "
|
@@ -109,13 +105,6 @@ en:
|
|
109
105
|
copyright_starting_year: "Copyright Starting Year: "
|
110
106
|
copyright_owners: "Copyright Owners: "
|
111
107
|
default_title: "Default Title: "
|
112
|
-
default_tweet: "Default Tweet: "
|
113
|
-
twitter_enabled: "Twitter Enabled: "
|
114
|
-
twitter_handle: "Twitter Handle: "
|
115
|
-
twitter_consumer_key: "Twitter Consumer Key: "
|
116
|
-
twitter_consumer_secret: "Twitter Consumer Secret: "
|
117
|
-
twitter_oauth_token: "Twitter Oauth Token: "
|
118
|
-
twitter_oauth_token_secret: "Twitter Oauth Token Secret: "
|
119
108
|
google_analytics_enabled: "Google Analytics Enabled: "
|
120
109
|
google_analytics_account: "Google Analytics Account: "
|
121
110
|
disqus_enabled: "Disqus Enabled: "
|
data/lib/cartoonist.rb
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
require "devise"
|
2
2
|
require "jquery-rails"
|
3
3
|
require "redcarpet"
|
4
|
-
require "twitter"
|
5
4
|
|
6
5
|
module Cartoonist
|
7
6
|
module Admin
|
@@ -90,6 +89,53 @@ module Cartoonist
|
|
90
89
|
end
|
91
90
|
end
|
92
91
|
|
92
|
+
class Cron
|
93
|
+
@@all = []
|
94
|
+
|
95
|
+
class << self
|
96
|
+
def all
|
97
|
+
@@all
|
98
|
+
end
|
99
|
+
|
100
|
+
def add(&block)
|
101
|
+
@@all << block
|
102
|
+
end
|
103
|
+
end
|
104
|
+
end
|
105
|
+
|
106
|
+
class Entity
|
107
|
+
@@all = {}
|
108
|
+
@@cached_order = []
|
109
|
+
@@hooks = []
|
110
|
+
|
111
|
+
class << self
|
112
|
+
def all
|
113
|
+
@@cached_order.map &:constantize
|
114
|
+
end
|
115
|
+
|
116
|
+
def [](key)
|
117
|
+
@@all[key].constantize
|
118
|
+
end
|
119
|
+
|
120
|
+
def add(key, model_name)
|
121
|
+
@@all[key] = model_name
|
122
|
+
@@cached_order = @@all.keys.sort.map { |key| @@all[key] }
|
123
|
+
end
|
124
|
+
|
125
|
+
def register_hooks(hooks)
|
126
|
+
@@hooks << hooks unless @@hooks.include? hooks
|
127
|
+
end
|
128
|
+
|
129
|
+
def hooks
|
130
|
+
@@hooks
|
131
|
+
end
|
132
|
+
|
133
|
+
def hooks_with(method)
|
134
|
+
@@hooks.select { |x| x.respond_to? method }
|
135
|
+
end
|
136
|
+
end
|
137
|
+
end
|
138
|
+
|
93
139
|
class Migration
|
94
140
|
@@all = []
|
95
141
|
|
data/lib/cartoonist/engine.rb
CHANGED
@@ -243,81 +243,58 @@ module Cartoonist
|
|
243
243
|
config.to_prepare do
|
244
244
|
Devise::SessionsController.layout "users"
|
245
245
|
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
end
|
254
|
-
|
255
|
-
twitter_auth_changed = lambda do
|
256
|
-
Twitter.configure do |twitter_config|
|
257
|
-
twitter_config.consumer_key = Setting[:twitter_consumer_key]
|
258
|
-
twitter_config.consumer_secret = Setting[:twitter_consumer_secret]
|
259
|
-
twitter_config.oauth_token = Setting[:twitter_oauth_token]
|
260
|
-
twitter_config.oauth_token_secret = Setting[:twitter_oauth_token_secret]
|
261
|
-
end
|
262
|
-
end
|
246
|
+
secret_token_changed = lambda do
|
247
|
+
# Your secret key for verifying the integrity of signed cookies.
|
248
|
+
# If you change this key, all old signed cookies will become invalid!
|
249
|
+
# Make sure the secret is at least 30 characters and all random,
|
250
|
+
# no regular words or you'll be exposed to dictionary attacks.
|
251
|
+
Rails.application.config.secret_token = Setting[:secret_token]
|
252
|
+
end
|
263
253
|
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
end
|
254
|
+
devise_pepper_changed = lambda do
|
255
|
+
Devise.setup do |devise_config|
|
256
|
+
devise_config.mailer_sender = "no-reply@#{Setting[:domain]}"
|
257
|
+
devise_config.pepper = Setting[:devise_pepper]
|
269
258
|
end
|
259
|
+
end
|
270
260
|
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
|
286
|
-
end
|
287
|
-
|
288
|
-
Setting::Section.define :twitter, :order => 2 do
|
289
|
-
Setting.define :twitter_enabled, :type => :boolean, :order => 1
|
290
|
-
Setting.define :default_tweet, :order => 2
|
291
|
-
Setting.define :twitter_handle, :order => 3
|
292
|
-
Setting.define :twitter_consumer_key, :onchange => twitter_auth_changed, :order => 4
|
293
|
-
Setting.define :twitter_consumer_secret, :onchange => twitter_auth_changed, :order => 5
|
294
|
-
Setting.define :twitter_oauth_token, :onchange => twitter_auth_changed, :order => 6
|
295
|
-
Setting.define :twitter_oauth_token_secret, :onchange => twitter_auth_changed, :order => 7
|
296
|
-
end
|
297
|
-
|
298
|
-
Setting::Section.define :disqus, :order => 3 do
|
299
|
-
Setting.define :disqus_enabled, :type => :boolean, :order => 1
|
300
|
-
Setting.define :disqus_shortname, :order => 2
|
301
|
-
Setting.define :disqus_comic_category, :order => 3
|
302
|
-
Setting.define :disqus_blog_post_category, :order => 4
|
303
|
-
Setting.define :disqus_page_category, :order => 5
|
304
|
-
end
|
261
|
+
Setting.define :domain, :order => 1
|
262
|
+
Setting.define :site_name, :order => 2
|
263
|
+
Setting.define :site_heading, :order => 3
|
264
|
+
Setting.define :site_update_description, :order => 4
|
265
|
+
Setting.define :root_path, :type => :symbol, :default => Cartoonist::RootPath.all.first, :order => 5, :select_from => lambda { Cartoonist::RootPath.all }, :onchange => lambda { Rails.application.reload_routes! }
|
266
|
+
Setting.define :theme, :type => :symbol, :default => :cartoonist_default_theme, :order => 6, :select_from => lambda { Cartoonist::Theme.all }
|
267
|
+
Setting.define :schedule, :type => :array, :default => [:monday, :wednesday, :friday], :order => 7
|
268
|
+
Setting.define :copyright_starting_year, :type => :int, :order => 8
|
269
|
+
Setting.define :copyright_owners, :order => 9
|
270
|
+
Setting.define :default_title, :order => 10
|
271
|
+
|
272
|
+
Setting::Tab.define :social_and_analytics, :order => 1 do
|
273
|
+
Setting::Section.define :google_analytics, :order => 1 do
|
274
|
+
Setting.define :google_analytics_enabled, :type => :boolean, :order => 1
|
275
|
+
Setting.define :google_analytics_account, :order => 2
|
305
276
|
end
|
306
277
|
|
307
|
-
Setting::
|
308
|
-
Setting.define :
|
309
|
-
Setting.define :
|
278
|
+
Setting::Section.define :disqus, :order => 3 do
|
279
|
+
Setting.define :disqus_enabled, :type => :boolean, :order => 1
|
280
|
+
Setting.define :disqus_shortname, :order => 2
|
281
|
+
Setting.define :disqus_comic_category, :order => 3
|
282
|
+
Setting.define :disqus_blog_post_category, :order => 4
|
283
|
+
Setting.define :disqus_page_category, :order => 5
|
310
284
|
end
|
285
|
+
end
|
311
286
|
|
312
|
-
|
313
|
-
|
314
|
-
devise_pepper_changed
|
287
|
+
Setting::Tab.define :advanced, :order => 2 do
|
288
|
+
Setting.define :secret_token, :default => "ThisTokenMustBeRegenerated....", :onchange => secret_token_changed
|
289
|
+
Setting.define :devise_pepper, :default => "ThisTokenMustBeRegenerated....", :onchange => devise_pepper_changed
|
315
290
|
end
|
291
|
+
|
292
|
+
secret_token_changed.call
|
293
|
+
devise_pepper_changed.call
|
316
294
|
end
|
317
295
|
|
318
296
|
Mime::Type.register "image/x-icon", :ico
|
319
297
|
Cartoonist::Admin::Tab.add :general, :url => "/admin", :order => 3
|
320
|
-
Cartoonist::Navigation::Link.add :url => (lambda { "https://twitter.com/#{Setting[:twitter_handle]}" }), :class => "follow-us", :label => "cartoonist.layout.navigation.follow_on_twitter", :title => "cartoonist.layout.navigation.follow_on_twitter_title", :order => 2
|
321
298
|
Cartoonist::Migration.add_for self
|
322
299
|
|
323
300
|
Cartoonist::Backup.for :files do
|
@@ -332,50 +309,57 @@ module Cartoonist
|
|
332
309
|
User.order(:id).all
|
333
310
|
end
|
334
311
|
|
335
|
-
Cartoonist::
|
336
|
-
|
337
|
-
|
312
|
+
Cartoonist::Cron.add do
|
313
|
+
Dir.glob(File.join(Rails.root, "public/cache/**/*.tmp.html*"), File::FNM_DOTMATCH).each do |file|
|
314
|
+
if 2.hours.ago > File.mtime(file)
|
315
|
+
File.delete file
|
316
|
+
end
|
338
317
|
end
|
339
318
|
end
|
340
319
|
|
320
|
+
Cartoonist::Routes.add_begin do
|
321
|
+
root :to => Cartoonist::RootPath.current
|
322
|
+
end
|
323
|
+
|
341
324
|
Cartoonist::Routes.add do
|
342
325
|
match "favicon" => "site#favicon", :defaults => { :format => "ico" }
|
343
326
|
match "sitemap" => "site#sitemap", :defaults => { :format => "xml" }
|
344
327
|
match "robots" => "site#robots", :defaults => { :format => "text" }
|
345
328
|
|
346
|
-
|
347
|
-
|
348
|
-
resources :cache do
|
329
|
+
resource :admin, :controller => :admin do
|
349
330
|
collection do
|
350
|
-
|
351
|
-
|
352
|
-
|
353
|
-
|
331
|
+
get "cron"
|
332
|
+
get "backup"
|
333
|
+
get "main"
|
334
|
+
get "reload"
|
354
335
|
end
|
355
336
|
end
|
356
337
|
|
357
|
-
|
358
|
-
collection do
|
359
|
-
post "expire_all"
|
360
|
-
end
|
361
|
-
end
|
338
|
+
devise_for :users
|
362
339
|
|
363
|
-
|
340
|
+
namespace :admin do
|
341
|
+
resources :accounts
|
364
342
|
|
365
|
-
|
366
|
-
|
367
|
-
|
368
|
-
|
369
|
-
|
370
|
-
|
371
|
-
|
343
|
+
resources :cache, :constraints => { :id => /.*/ } do
|
344
|
+
collection do
|
345
|
+
post "expire_www"
|
346
|
+
post "expire_m"
|
347
|
+
post "expire_tmp"
|
348
|
+
post "expire_all"
|
349
|
+
end
|
372
350
|
end
|
373
|
-
end
|
374
351
|
|
375
|
-
|
376
|
-
|
377
|
-
|
378
|
-
|
352
|
+
resources :static_cache, :constraints => { :id => /.*/ } do
|
353
|
+
collection do
|
354
|
+
post "expire_all"
|
355
|
+
end
|
356
|
+
end
|
357
|
+
|
358
|
+
resources :settings do
|
359
|
+
collection do
|
360
|
+
get "initial_setup"
|
361
|
+
post "save_initial_setup"
|
362
|
+
end
|
379
363
|
end
|
380
364
|
end
|
381
365
|
end
|