typus 3.1.0.rc11 → 3.1.0.rc12
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/.gitignore +4 -16
- data/.gitmodules +3 -6
- data/README.md +50 -16
- data/Rakefile +19 -26
- data/app/helpers/admin/resources/data_types/belongs_to_helper.rb +15 -18
- data/app/helpers/admin/resources/data_types/position_helper.rb +9 -11
- data/app/helpers/admin/resources/form_helper.rb +13 -13
- data/app/helpers/admin/resources/relationships_helper.rb +4 -1
- data/app/helpers/admin/resources/table_helper.rb +11 -14
- data/app/helpers/admin/resources_helper.rb +12 -3
- data/app/themes/default/assets/javascripts/typus/jquery.application.js +0 -6
- data/app/themes/default/assets/stylesheets/typus/pagination.css +1 -2
- data/app/themes/default/views/admin/base/user_guide.html.erb +25 -27
- data/app/themes/default/views/admin/dashboard/_applications.html.erb +2 -10
- data/app/themes/default/views/admin/dashboard/_sidebar.html.erb +9 -2
- data/app/themes/default/views/admin/dashboard/styles.html.erb +10 -15
- data/app/themes/default/views/admin/resources/_form.html.erb +4 -2
- data/app/themes/default/views/admin/resources/_form_javascripts.html.erb +0 -0
- data/app/themes/default/views/admin/templates/README.md +5 -0
- data/app/themes/default/views/admin/templates/_dragonfly.html.erb +1 -0
- data/app/themes/default/views/admin/templates/_has_one.html.erb +1 -1
- data/app/themes/default/views/admin/templates/_position.html.erb +5 -0
- data/app/themes/default/views/admin/templates/_profile_sidebar.html.erb +2 -1
- data/app/themes/default/views/admin/templates/_selector.html.erb +4 -1
- data/app/themes/default/views/admin/templates/_text_with_ckeditor.html.erb +0 -4
- data/app/themes/default/views/helpers/admin/resources/_filters.html.erb +1 -3
- data/app/themes/default/views/helpers/admin/resources/_sidebar.html.erb +6 -9
- data/app/themes/default/views/helpers/admin/resources/_table.html.erb +11 -13
- data/lib/generators/templates/config/initializers/typus_resources.rb +1 -1
- data/lib/generators/templates/config/typus/README +1 -1
- data/lib/typus.rb +15 -26
- data/lib/typus/authentication/base.rb +4 -0
- data/lib/typus/authentication/http_basic.rb +2 -2
- data/lib/typus/authentication/session.rb +3 -5
- data/lib/typus/configuration.rb +14 -12
- data/lib/typus/controller/filters.rb +22 -0
- data/lib/typus/i18n.rb +17 -0
- data/lib/typus/orm/active_record/user/class_methods.rb +1 -1
- data/lib/typus/orm/base.rb +2 -2
- data/lib/typus/resources.rb +1 -1
- data/lib/typus/version.rb +1 -1
- metadata +21 -26
- data/.yardopts +0 -6
- data/Gemfile +0 -60
- data/doc/yard/handlers/configurable_attr_handler.rb +0 -38
- data/doc/yard/setup.rb +0 -9
- data/doc/yard/templates/default/fulldoc/html/css/common.css +0 -109
- data/doc/yard/templates/default/layout/html/layout.erb +0 -126
- data/doc/yard/templates/default/module/html/configuration_summary.erb +0 -31
- data/doc/yard/templates/default/module/setup.rb +0 -17
data/.gitignore
CHANGED
|
@@ -1,24 +1,12 @@
|
|
|
1
|
-
|
|
1
|
+
# Bundler stuff
|
|
2
2
|
.bundle
|
|
3
|
+
vendor/gems
|
|
3
4
|
Gemfile.lock
|
|
4
|
-
pkg/*
|
|
5
5
|
|
|
6
|
-
#
|
|
7
|
-
|
|
8
|
-
all.css
|
|
9
|
-
all.js
|
|
6
|
+
# Generated stuff
|
|
7
|
+
*.gem
|
|
10
8
|
db/*.sqlite3
|
|
11
9
|
log/*.log
|
|
12
10
|
test/fixtures/rails_app/public/system/*
|
|
13
11
|
test/fixtures/rails_app/tmp/*
|
|
14
12
|
tmp/**/*
|
|
15
|
-
|
|
16
|
-
# Ignore generated documentation
|
|
17
|
-
.yardoc
|
|
18
|
-
doc/*.html
|
|
19
|
-
doc/css
|
|
20
|
-
doc/js
|
|
21
|
-
doc/Admin
|
|
22
|
-
doc/Typus
|
|
23
|
-
doc/ActiveRecord
|
|
24
|
-
|
data/.gitmodules
CHANGED
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
[submodule "
|
|
2
|
-
path =
|
|
3
|
-
url = git@github.com:typus/
|
|
4
|
-
[submodule "doc/site"]
|
|
5
|
-
path = doc/site
|
|
6
|
-
url = git@github.com:typus/site.git
|
|
1
|
+
[submodule "test/fixtures/rails_app"]
|
|
2
|
+
path = test/fixtures/rails_app
|
|
3
|
+
url = git@github.com:typus/demo.git
|
data/README.md
CHANGED
|
@@ -1,6 +1,18 @@
|
|
|
1
1
|
# Typus: Admin Panel for Ruby on Rails applications
|
|
2
2
|
|
|
3
|
-
**Typus**
|
|
3
|
+
**Typus** is a control panel for [Ruby on Rails][rails] applications to allow
|
|
4
|
+
trusted users edit structured content.
|
|
5
|
+
|
|
6
|
+
It’s not a CMS with a full working system but it provides a part of the
|
|
7
|
+
system: authentication, permissions and basic look and feel for your
|
|
8
|
+
websites control panel. So using [Rails][rails] with **Typus** lets you
|
|
9
|
+
concentrate on your application instead of the bits to manage the system.
|
|
10
|
+
|
|
11
|
+
**Typus** is the "old latin" word for **type** which stands for:
|
|
12
|
+
|
|
13
|
+
> A category of people or things having common characteristics.
|
|
14
|
+
|
|
15
|
+
You can try a demo [here][demo].
|
|
4
16
|
|
|
5
17
|
## Key Features
|
|
6
18
|
|
|
@@ -9,25 +21,18 @@
|
|
|
9
21
|
- Internationalized interface ([See available translations][locales])
|
|
10
22
|
- Customizable and extensible templates.
|
|
11
23
|
- Integrated [paperclip][paperclip] and [dragonfly][dragonfly] attachments viewer.
|
|
12
|
-
- Works with `Rails 3.
|
|
24
|
+
- Works with `Rails 3.1.X`.
|
|
13
25
|
- Tested with latest versions of `1.8.7`, `ree`, `1.9.2` and `jruby`.
|
|
14
26
|
- Tested with `SQLite`, `MySQL` and `PostgreSQL`.
|
|
15
27
|
|
|
16
|
-
## Links
|
|
17
|
-
|
|
18
|
-
- [Documentation](https://github.com/typus/typus/wiki)
|
|
19
|
-
- [Issues](https://github.com/typus/typus/issues)
|
|
20
|
-
- [Demo](http://demo.typuscms.com/) ([Code][code])
|
|
21
|
-
- [Source Code](http://github.com/typus/typus)
|
|
22
|
-
- [Mailing List](http://groups.google.com/group/typus)
|
|
23
|
-
- [Gems](http://rubygems.org/gems/typus)
|
|
24
|
-
- [Contributors List](http://github.com/typus/typus/contributors)
|
|
25
|
-
|
|
26
28
|
## Installing
|
|
27
29
|
|
|
28
30
|
Add **Typus** to your `Gemfile`
|
|
29
31
|
|
|
30
|
-
gem 'typus',
|
|
32
|
+
gem 'typus', '~> 3.1.0.rc'
|
|
33
|
+
|
|
34
|
+
# Bundle edge typus instead:
|
|
35
|
+
# gem 'typus', :git => 'git://github.com/typus/typus.git', :branch => '3-1-unstable'
|
|
31
36
|
|
|
32
37
|
Update your bundle, run the generator and start the application server:
|
|
33
38
|
|
|
@@ -37,11 +42,40 @@ Update your bundle, run the generator and start the application server:
|
|
|
37
42
|
|
|
38
43
|
and go to <http://0.0.0.0:3000/admin>.
|
|
39
44
|
|
|
40
|
-
##
|
|
45
|
+
## Links
|
|
46
|
+
|
|
47
|
+
- [Documentation](https://github.com/typus/typus/wiki)
|
|
48
|
+
- [Issues](https://github.com/typus/typus/issues)
|
|
49
|
+
- [Source Code](http://github.com/typus/typus) and [RubyGems](http://rubygems.org/gems/typus)
|
|
50
|
+
- [Mailing List](http://groups.google.com/group/typus)
|
|
51
|
+
- [Contributors List](http://github.com/typus/typus/contributors)
|
|
52
|
+
|
|
53
|
+
## MIT License
|
|
54
|
+
|
|
55
|
+
Copyright (c) 2007-2011 Francesc Esplugas Marti
|
|
56
|
+
|
|
57
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
|
58
|
+
a copy of this software and associated documentation files (the
|
|
59
|
+
"Software"), to deal in the Software without restriction, including
|
|
60
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
|
61
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
|
62
|
+
permit persons to whom the Software is furnished to do so, subject to
|
|
63
|
+
the following conditions:
|
|
64
|
+
|
|
65
|
+
The above copyright notice and this permission notice shall be
|
|
66
|
+
included in all copies or substantial portions of the Software.
|
|
41
67
|
|
|
42
|
-
|
|
68
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
69
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
70
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
71
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
|
72
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
73
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
74
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
43
75
|
|
|
76
|
+
[demo]: http://demo.typuscms.com/
|
|
44
77
|
[paperclip]: http://rubygems.org/gems/paperclip
|
|
45
78
|
[dragonfly]: http://rubygems.org/gems/dragonfly
|
|
79
|
+
[rails]: http://rubyonrails.org/
|
|
46
80
|
[code]: https://github.com/typus/typus/tree/master/test/fixtures/rails_app
|
|
47
|
-
[locales]: https://github.com/typus/typus/tree/master/config/locales
|
|
81
|
+
[locales]: https://github.com/typus/typus/tree/master/config/locales
|
data/Rakefile
CHANGED
|
@@ -1,23 +1,18 @@
|
|
|
1
|
-
require 'bundler'
|
|
2
|
-
Bundler::GemHelper.install_tasks
|
|
3
|
-
|
|
4
|
-
require 'rubygems'
|
|
1
|
+
require 'bundler/gem_tasks'
|
|
5
2
|
require 'rake/testtask'
|
|
6
3
|
require 'rdoc/task'
|
|
7
4
|
|
|
8
5
|
task :default => :test
|
|
9
6
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
t.
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
t.pattern = 'test/app/controllers/**/*_test.rb'
|
|
7
|
+
Rake::TestTask.new do |t|
|
|
8
|
+
t.libs << "test"
|
|
9
|
+
t.test_files = FileList['test/app/controllers/**/*_test.rb',
|
|
10
|
+
'test/lib/support/*_test.rb',
|
|
11
|
+
'test/config/*_test.rb']
|
|
16
12
|
t.verbose = true
|
|
17
13
|
end
|
|
18
14
|
|
|
19
|
-
|
|
20
|
-
Rake::RDocTask.new(:rdoc) do |rdoc|
|
|
15
|
+
RDoc::Task.new do |rdoc|
|
|
21
16
|
rdoc.rdoc_dir = 'rdoc'
|
|
22
17
|
rdoc.title = 'Typus'
|
|
23
18
|
rdoc.options << '--line-numbers' << '--inline-source'
|
|
@@ -25,11 +20,6 @@ Rake::RDocTask.new(:rdoc) do |rdoc|
|
|
|
25
20
|
rdoc.rdoc_files.include('lib/**/*.rb')
|
|
26
21
|
end
|
|
27
22
|
|
|
28
|
-
desc "Deploy test/fixtures/rails_app"
|
|
29
|
-
task :deploy do
|
|
30
|
-
system "cd test/fixtures/rails_app && cap deploy"
|
|
31
|
-
end
|
|
32
|
-
|
|
33
23
|
RUBIES = %w[1.8.7 ree 1.9.2 jruby].join(",")
|
|
34
24
|
|
|
35
25
|
namespace :setup do
|
|
@@ -54,14 +44,17 @@ namespace :test do
|
|
|
54
44
|
|
|
55
45
|
end
|
|
56
46
|
|
|
57
|
-
|
|
47
|
+
namespace :demo do
|
|
58
48
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
end
|
|
49
|
+
desc "Update demo"
|
|
50
|
+
task :update do
|
|
51
|
+
system "git pull && git submodule update --init"
|
|
52
|
+
end
|
|
63
53
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
54
|
+
desc "Upgrade demo"
|
|
55
|
+
task :upgrade do
|
|
56
|
+
system "git submodule foreach 'git pull origin master'"
|
|
57
|
+
system "git ci -m 'Updated submodules' ."
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
end
|
|
@@ -22,21 +22,19 @@ module Admin::Resources::DataTypes::BelongsToHelper
|
|
|
22
22
|
message = link_to Typus::I18n.t("Add New"), options, { :class => 'iframe' }
|
|
23
23
|
end
|
|
24
24
|
|
|
25
|
-
#
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
else
|
|
29
|
-
"admin/templates/belongs_to_with_autocomplete"
|
|
30
|
-
end
|
|
25
|
+
# By default the used template is ALWAYS `belongs_to` unless we have the
|
|
26
|
+
# `Typus.autocomplete` feature enabled.
|
|
27
|
+
template = Typus.autocomplete ? "belongs_to_with_autocomplete" : "belongs_to"
|
|
31
28
|
|
|
32
|
-
#
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
29
|
+
# If `Typus.autocomplete` is enabled we don't set the values as will be
|
|
30
|
+
# autocompleted.
|
|
31
|
+
if related.respond_to?(:roots)
|
|
32
|
+
values = expand_tree_into_select_field(related.roots, related_fk)
|
|
33
|
+
elsif !Typus.autocomplete
|
|
34
|
+
values = related.order(related.typus_order_by).map { |p| [p.to_label, p.id] }
|
|
35
|
+
end
|
|
38
36
|
|
|
39
|
-
render template,
|
|
37
|
+
render "admin/templates/#{template}",
|
|
40
38
|
:association => association,
|
|
41
39
|
:resource => @resource,
|
|
42
40
|
:attribute => attribute,
|
|
@@ -53,14 +51,13 @@ module Admin::Resources::DataTypes::BelongsToHelper
|
|
|
53
51
|
def table_belongs_to_field(attribute, item)
|
|
54
52
|
if att_value = item.send(attribute)
|
|
55
53
|
action = item.send(attribute).class.typus_options_for(:default_action_on_item)
|
|
54
|
+
message = att_value.to_label
|
|
56
55
|
if admin_user.can?(action, att_value.class.name)
|
|
57
|
-
link_to
|
|
58
|
-
else
|
|
59
|
-
att_value.to_label
|
|
56
|
+
message = link_to(message, :controller => "/admin/#{att_value.class.to_resource}", :action => action, :id => att_value.id)
|
|
60
57
|
end
|
|
61
|
-
else
|
|
62
|
-
"—".html_safe
|
|
63
58
|
end
|
|
59
|
+
|
|
60
|
+
message || "—".html_safe
|
|
64
61
|
end
|
|
65
62
|
|
|
66
63
|
def display_belongs_to(item, attribute)
|
|
@@ -1,22 +1,20 @@
|
|
|
1
1
|
module Admin::Resources::DataTypes::PositionHelper
|
|
2
2
|
|
|
3
3
|
def table_position_field(attribute, item, connector = " / ")
|
|
4
|
-
|
|
4
|
+
locals = { :html_position => [], :connector => connector, :item => item }
|
|
5
|
+
positions = { :move_to_top => "Top", :move_higher => "Up", :move_lower => "Down", :move_to_bottom => "Bottom" }
|
|
5
6
|
|
|
6
|
-
|
|
7
|
-
[:move_higher,
|
|
8
|
-
[:move_lower,
|
|
9
|
-
[:move_to_bottom, "Bottom"] ].each do |key, value|
|
|
7
|
+
positions.each do |key, value|
|
|
8
|
+
first_item = item.respond_to?(:first?) && ([:move_higher, :move_to_top].include?(key) && item.first?)
|
|
9
|
+
last_item = item.respond_to?(:last?) && ([:move_lower, :move_to_bottom].include?(key) && item.last?)
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
html_position << link_to_unless(should_be_inactive, Typus::I18n.t(value), params.merge(options)) do |name|
|
|
15
|
-
%w(<span class="inactive">#{name}</span>)
|
|
11
|
+
unless first_item || last_item
|
|
12
|
+
options = { :controller => "/admin/#{item.class.to_resource}", :action => "position", :id => item.id, :go => key }
|
|
13
|
+
locals[:html_position] << link_to(Typus::I18n.t(value), params.merge(options))
|
|
16
14
|
end
|
|
17
15
|
end
|
|
18
16
|
|
|
19
|
-
"
|
|
17
|
+
render "admin/templates/position", locals
|
|
20
18
|
end
|
|
21
19
|
|
|
22
20
|
end
|
|
@@ -46,24 +46,24 @@ module Admin::Resources::FormHelper
|
|
|
46
46
|
end
|
|
47
47
|
end
|
|
48
48
|
|
|
49
|
-
def
|
|
50
|
-
|
|
49
|
+
def build_save_options
|
|
50
|
+
save_options_for_user_class || save_options_for_headless_mode || save_options
|
|
51
51
|
end
|
|
52
52
|
|
|
53
53
|
def save_options
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
if headless_mode? && params[:resource]
|
|
59
|
-
options = { "_saveandassign" => "Save and assign" }
|
|
60
|
-
end
|
|
54
|
+
{ "_addanother" => "Save and add another",
|
|
55
|
+
"_continue" => "Save and continue editing",
|
|
56
|
+
"_save" => "Save" }
|
|
57
|
+
end
|
|
61
58
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
59
|
+
def save_options_for_headless_mode
|
|
60
|
+
return unless headless_mode?
|
|
61
|
+
params[:resource] ? { "_saveandassign" => "Save and assign" } : { "_continue" => "Save and continue editing" }
|
|
62
|
+
end
|
|
65
63
|
|
|
66
|
-
|
|
64
|
+
def save_options_for_user_class
|
|
65
|
+
return unless Typus.user_class == @resource && admin_user.is_not_root?
|
|
66
|
+
{ "_continue" => "Save and continue editing" }
|
|
67
67
|
end
|
|
68
68
|
|
|
69
69
|
end
|
|
@@ -33,7 +33,10 @@ module Admin::Resources::RelationshipsHelper
|
|
|
33
33
|
:resource_action => 'relate',
|
|
34
34
|
:return_to => request.path }
|
|
35
35
|
|
|
36
|
-
|
|
36
|
+
# Add new basically means: We can create new items or relate existing ones.
|
|
37
|
+
create_or_read = admin_user.can?("create", @model_to_relate) || admin_user.can?("read", @model_to_relate)
|
|
38
|
+
|
|
39
|
+
if set_condition && create_or_read
|
|
37
40
|
link_to Typus::I18n.t("Add New"), default_options.merge(options), { :class => "iframe" }
|
|
38
41
|
end
|
|
39
42
|
end
|
|
@@ -30,15 +30,11 @@ module Admin::Resources::TableHelper
|
|
|
30
30
|
switch = sort_order.last if params[:order_by].eql?(order_by)
|
|
31
31
|
options = { :order_by => order_by, :sort_order => sort_order.first }
|
|
32
32
|
message = [content, switch].compact.join(" ").html_safe
|
|
33
|
-
link_to
|
|
34
|
-
else
|
|
35
|
-
content
|
|
33
|
+
content = link_to(message, params.merge(options))
|
|
36
34
|
end
|
|
37
|
-
|
|
38
|
-
else
|
|
39
|
-
content
|
|
40
35
|
end
|
|
41
36
|
|
|
37
|
+
content
|
|
42
38
|
end
|
|
43
39
|
end
|
|
44
40
|
|
|
@@ -47,15 +43,16 @@ module Admin::Resources::TableHelper
|
|
|
47
43
|
end
|
|
48
44
|
|
|
49
45
|
def table_actions(model, item, association_name = nil)
|
|
50
|
-
resource_actions.
|
|
51
|
-
|
|
52
|
-
|
|
46
|
+
resource_actions.reject! do |body, url, options, proc|
|
|
47
|
+
admin_user.cannot?(url[:action], model.name)
|
|
48
|
+
end
|
|
53
49
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
50
|
+
resource_actions.map do |body, url, options, proc|
|
|
51
|
+
next if proc && proc.respond_to?(:call) && proc.call(item) == false
|
|
52
|
+
{ :message => Typus::I18n.t(body),
|
|
53
|
+
:url => params.dup.cleanup.merge(url).merge(:controller => "/admin/#{model.to_resource}", :id => item.id),
|
|
54
|
+
:options => options }
|
|
55
|
+
end
|
|
59
56
|
end
|
|
60
57
|
|
|
61
58
|
end
|
|
@@ -15,15 +15,24 @@ module Admin::ResourcesHelper
|
|
|
15
15
|
resources = ActiveSupport::OrderedHash.new
|
|
16
16
|
app_name = @resource.typus_application
|
|
17
17
|
|
|
18
|
-
admin_user.application(app_name)
|
|
18
|
+
admin_user.application(app_name).each do |resource|
|
|
19
19
|
klass = resource.typus_constantize
|
|
20
|
-
resources[resource] = [
|
|
21
|
-
resources[resource] << link_to_unless_current(Typus::I18n.t("Add New"), :action => "new") if admin_user.can?("create", klass)
|
|
20
|
+
resources[resource] = [sidebar_all_resource(klass), sidebar_add_new(klass)].compact
|
|
22
21
|
end
|
|
23
22
|
|
|
24
23
|
render "helpers/admin/resources/sidebar", :resources => resources
|
|
25
24
|
end
|
|
26
25
|
|
|
26
|
+
def sidebar_add_new(klass)
|
|
27
|
+
if admin_user.can?("create", klass)
|
|
28
|
+
{ :message => Typus::I18n.t("Add New"), :url => { :action => "new" } }
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def sidebar_all_resource(klass)
|
|
33
|
+
{ :message => Typus::I18n.t("All #{klass.model_name.human.pluralize}"), :url => { :action => "index" } }
|
|
34
|
+
end
|
|
35
|
+
|
|
27
36
|
# TODO: This method should be moved to `lib/typus/controller/actions.rb`
|
|
28
37
|
def resource_actions
|
|
29
38
|
@resource_actions ||= []
|
|
@@ -31,12 +31,6 @@ $(document).ready(function() {
|
|
|
31
31
|
$('.action-toggle').each(function() { this.checked = status; });
|
|
32
32
|
});
|
|
33
33
|
|
|
34
|
-
// This method is used by `text_with_ckeditor` template.
|
|
35
|
-
if ($('textarea.ckeditor').length > 0) {
|
|
36
|
-
var data = $('textarea');
|
|
37
|
-
$.each(data, function(i) { CKEDITOR.replace(data[i].id); });
|
|
38
|
-
}
|
|
39
|
-
|
|
40
34
|
});
|
|
41
35
|
|
|
42
36
|
function setConfirmUnload(on) {
|
|
@@ -10,19 +10,23 @@
|
|
|
10
10
|
|
|
11
11
|
<% end %>
|
|
12
12
|
|
|
13
|
+
<%
|
|
14
|
+
rails = "http://rubyonrails.org/"
|
|
15
|
+
typus = "http://core.typuscms.com/"
|
|
16
|
+
%>
|
|
17
|
+
|
|
13
18
|
<a name="introduction"></a>
|
|
14
19
|
|
|
15
20
|
<h2>Introduction</h2>
|
|
16
21
|
|
|
17
|
-
<p>
|
|
18
|
-
|
|
19
|
-
</p>
|
|
22
|
+
<p>This website is powered by <%= link_to "Ruby on Rails", rails %> and
|
|
23
|
+
<%= link_to "Typus", typus %>.</p>
|
|
20
24
|
|
|
21
|
-
<p>With <%= link_to "Typus",
|
|
25
|
+
<p>With <%= link_to "Typus", typus %>, also known as the application backend
|
|
26
|
+
or admin interface, you'll be able to update your application contents and
|
|
27
|
+
perform the most common operations for the site maintenance.</p>
|
|
22
28
|
|
|
23
|
-
<p>
|
|
24
|
-
You can get more information at <%= link_to "http://core.typuscms.com/", "http://core.typuscms.com/" %>.
|
|
25
|
-
</p>
|
|
29
|
+
<p>You can get more information at <%= link_to typus, typus %>.</p>
|
|
26
30
|
|
|
27
31
|
<a name="basics"></a>
|
|
28
32
|
|
|
@@ -30,22 +34,18 @@ You can get more information at <%= link_to "http://core.typuscms.com/", "http:/
|
|
|
30
34
|
|
|
31
35
|
<h3>Create Entries</h3>
|
|
32
36
|
|
|
33
|
-
<p>
|
|
34
|
-
To create a new entry:
|
|
35
|
-
</p>
|
|
37
|
+
<p>To create a new entry:</p>
|
|
36
38
|
|
|
37
39
|
<ul>
|
|
38
|
-
<li>Click on entries tab.</li>
|
|
39
|
-
<li>Click "Add New" sub tab.</li>
|
|
40
|
-
<li>Start filling in the blanks.</li>
|
|
41
|
-
<li>When you are ready, click "Save Entry".</li>
|
|
40
|
+
<li>Click on entries tab.</li>
|
|
41
|
+
<li>Click "Add New" sub tab.</li>
|
|
42
|
+
<li>Start filling in the blanks.</li>
|
|
43
|
+
<li>When you are ready, click "Save Entry".</li>
|
|
42
44
|
</ul>
|
|
43
45
|
|
|
44
46
|
<h3>Editing & Updating Entries</h3>
|
|
45
47
|
|
|
46
|
-
<p>
|
|
47
|
-
To edit entries:
|
|
48
|
-
</p>
|
|
48
|
+
<p>To edit entries:</p>
|
|
49
49
|
|
|
50
50
|
<ul>
|
|
51
51
|
<li>Click on entries tab.</li>
|
|
@@ -57,9 +57,7 @@ To edit entries:
|
|
|
57
57
|
|
|
58
58
|
<h3>Removing Entries</h3>
|
|
59
59
|
|
|
60
|
-
<p>
|
|
61
|
-
To remove entries:
|
|
62
|
-
</p>
|
|
60
|
+
<p>To remove entries:</p>
|
|
63
61
|
|
|
64
62
|
<ul>
|
|
65
63
|
<li>Click on entries tab.</li>
|
|
@@ -68,18 +66,18 @@ To remove entries:
|
|
|
68
66
|
<li>Click "Ok" on the dialog to confirm you want to remove the entry.</li>
|
|
69
67
|
</ul>
|
|
70
68
|
|
|
71
|
-
<p>
|
|
72
|
-
Removing entries will be only available if you have permissions to do so.
|
|
73
|
-
</p>
|
|
69
|
+
<p>Removing entries will be only available if you have permissions to do so.</p>
|
|
74
70
|
|
|
75
71
|
<a name="registered-users"></a>
|
|
76
72
|
|
|
77
73
|
<h2>Registered Users</h2>
|
|
78
74
|
|
|
79
|
-
<p>
|
|
80
|
-
|
|
75
|
+
<p>Registered users can do a variety of different things on a <strong>Typus</strong>
|
|
76
|
+
driven site. The various elements available to the user are determined by their
|
|
77
|
+
user level.</p>
|
|
81
78
|
|
|
82
|
-
<p>When <code>:session</code> authentication is enabled <strong>Typus</strong>
|
|
83
|
-
|
|
79
|
+
<p>When <code>:session</code> authentication is enabled <strong>Typus</strong>
|
|
80
|
+
will enable a a default role which will allow registered users perform all kind
|
|
81
|
+
of operations on entries: create, read, update and destroy.</p>
|
|
84
82
|
|
|
85
83
|
<p>It's usually recommended having an extra role which some restrictions.</p>
|