typus 3.1.0.rc11 → 3.1.0.rc12
Sign up to get free protection for your applications and to get access to all the features.
- 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>
|