typus 3.1.0 → 3.1.1
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/CHANGELOG +22 -1
- data/Gemfile +2 -0
- data/README.md +6 -2
- data/Rakefile +1 -6
- data/app/assets/javascripts/typus/jquery.application.js +0 -1
- data/app/assets/stylesheets/typus/hacks.css +9 -0
- data/app/controllers/admin/base_controller.rb +0 -2
- data/app/controllers/admin/resources_controller.rb +4 -4
- data/app/helpers/admin/resources/data_types/has_and_belongs_to_many_helper.rb +6 -6
- data/app/helpers/admin/resources/data_types/string_helper.rb +1 -0
- data/app/helpers/admin/resources/table_helper.rb +1 -1
- data/app/views/admin/dashboard/_sidebar.html.erb +2 -2
- data/app/views/admin/templates/_has_and_belongs_to_many.html.erb +2 -2
- data/config/routes.rb +10 -5
- data/lib/generators/templates/config/initializers/typus.rb +3 -0
- data/lib/typus.rb +7 -4
- data/lib/typus/configuration.rb +5 -3
- data/lib/typus/controller/headless.rb +2 -2
- data/lib/typus/controller/trash.rb +3 -1
- data/lib/typus/version.rb +1 -1
- data/typus.gemspec +1 -1
- metadata +11 -15
- data/.gitignore +0 -15
- data/.travis.yml +0 -12
- data/Guardfile +0 -11
- data/app/views/admin/base/user_guide.html.erb +0 -87
data/CHANGELOG
CHANGED
@@ -1,6 +1,27 @@
|
|
1
1
|
= 3.2.0 (unreleased)
|
2
2
|
|
3
|
-
= 3.1.
|
3
|
+
= 3.1.1 (unreleased)
|
4
|
+
|
5
|
+
* [CHANGED] Removed user guide. Docs can now be found at http://docs.typuscmf.com/
|
6
|
+
|
7
|
+
* [NEW] New configuration setting which allows serving Typus from a subdomain. (42b5d8ae)
|
8
|
+
|
9
|
+
* [FIXED] HABTM associations were not working as expected when using namespaced
|
10
|
+
models.
|
11
|
+
|
12
|
+
* [CHANGED] Configuration can be read from subfolders so you can organize better
|
13
|
+
your models. I'm starting to use a file per model and I'd recommend you start
|
14
|
+
using it ... (8a3fc09f)
|
15
|
+
|
16
|
+
* [FIXED] Helper Method `display_virtual` was not defined. (2b7e1948)
|
17
|
+
|
18
|
+
* [FIXED] Do not show Trash link when user can't edit items.
|
19
|
+
|
20
|
+
* [CHANGED] Updated Rubies list for Travis-CI.
|
21
|
+
|
22
|
+
* [CHANGED] Default development/test database is now **Postgresql**.
|
23
|
+
|
24
|
+
= 3.1.0
|
4
25
|
|
5
26
|
* [NEW] Filter with scopes.
|
6
27
|
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -48,9 +48,14 @@ To test clone the git repo and run the following commands:
|
|
48
48
|
$ bundle install --path vendor/bundle
|
49
49
|
$ bundle exec rake
|
50
50
|
|
51
|
+
**Note:** In `OSX Lion` it's possible you need to create a `postgres`
|
52
|
+
user to be able to run tests.
|
53
|
+
|
54
|
+
CREATE USER postgres SUPERUSER;
|
55
|
+
|
51
56
|
## Links
|
52
57
|
|
53
|
-
- [Documentation](https://
|
58
|
+
- [Documentation](https://docs.typuscmf.com/)
|
54
59
|
- [Issues](https://github.com/typus/typus/issues)
|
55
60
|
- [Source Code][typus] and [RubyGems][typus_gem]
|
56
61
|
- [Mailing List](http://groups.google.com/group/typus)
|
@@ -63,7 +68,6 @@ Typus is released under the MIT license.
|
|
63
68
|
|
64
69
|
[typus]: http://github.com/typus/typus
|
65
70
|
[typus_demo]: http://demo.typuscmf.com/
|
66
|
-
[typus_demo_code]: https://github.com/typus/demo
|
67
71
|
[typus_locales]: https://github.com/typus/typus/tree/master/config/locales
|
68
72
|
[typus_gem]: http://rubygems.org/gems/typus
|
69
73
|
[paperclip]: http://rubygems.org/gems/paperclip
|
data/Rakefile
CHANGED
@@ -18,12 +18,7 @@ require 'rake/testtask'
|
|
18
18
|
Rake::TestTask.new(:test) do |t|
|
19
19
|
t.libs << 'lib'
|
20
20
|
t.libs << 'test'
|
21
|
-
|
22
|
-
t.test_files = FileList['test/app/controllers/**/*_test.rb',
|
23
|
-
'test/app/models/**/*_test.rb',
|
24
|
-
'test/app/mailers/**/*_test.rb',
|
25
|
-
'test/config/*_test.rb',
|
26
|
-
'test/lib/**/*_test.rb']
|
21
|
+
t.test_files = FileList['test/**/*_test.rb']
|
27
22
|
t.verbose = false
|
28
23
|
end
|
29
24
|
|
@@ -17,7 +17,7 @@ class Admin::ResourcesController < Admin::BaseController
|
|
17
17
|
get_objects
|
18
18
|
|
19
19
|
custom_actions_for(:index).each do |action|
|
20
|
-
prepend_resources_action(action.titleize, {:action => action, :id => nil}
|
20
|
+
prepend_resources_action(action.titleize, {:action => action, :id => nil})
|
21
21
|
end
|
22
22
|
|
23
23
|
respond_to do |format|
|
@@ -64,7 +64,7 @@ class Admin::ResourcesController < Admin::BaseController
|
|
64
64
|
|
65
65
|
def edit
|
66
66
|
custom_actions_for(:edit).each do |action|
|
67
|
-
prepend_resources_action(action.titleize, {:action => action, :id => @item}
|
67
|
+
prepend_resources_action(action.titleize, {:action => action, :id => @item})
|
68
68
|
end
|
69
69
|
end
|
70
70
|
|
@@ -72,7 +72,7 @@ class Admin::ResourcesController < Admin::BaseController
|
|
72
72
|
check_resource_ownership if @resource.typus_options_for(:only_user_items)
|
73
73
|
|
74
74
|
if admin_user.can?('edit', @resource)
|
75
|
-
prepend_resources_action("Edit", {:action => 'edit', :id => @item}
|
75
|
+
prepend_resources_action("Edit", {:action => 'edit', :id => @item})
|
76
76
|
end
|
77
77
|
|
78
78
|
respond_to do |format|
|
@@ -215,7 +215,7 @@ class Admin::ResourcesController < Admin::BaseController
|
|
215
215
|
def set_default_action
|
216
216
|
default_action = @resource.typus_options_for(:default_action_on_item)
|
217
217
|
action = admin_user.can?('edit', @resource.model_name) ? default_action : "show"
|
218
|
-
|
218
|
+
prepend_resource_action(action.titleize, {:action => action})
|
219
219
|
end
|
220
220
|
|
221
221
|
def custom_actions_for(action)
|
@@ -7,12 +7,12 @@ module Admin::Resources::DataTypes::HasAndBelongsToManyHelper
|
|
7
7
|
alias_method :table_has_many_field, :table_has_and_belongs_to_many_field
|
8
8
|
|
9
9
|
def typus_has_and_belongs_to_many_field(attribute, form)
|
10
|
-
klass = attribute.
|
11
|
-
resource_ids = "#{attribute.singularize}_ids"
|
10
|
+
klass = @resource.reflect_on_association(attribute.to_sym).class_name.constantize
|
12
11
|
|
12
|
+
resource_ids = "#{attribute.singularize}_ids"
|
13
13
|
html_options = { :disabled => attribute_disabled?(resource_ids.to_sym) }
|
14
|
-
|
15
|
-
options = { :attribute => "#{
|
14
|
+
model = @resource.name.downcase.gsub("::", "_")
|
15
|
+
options = { :attribute => "#{model}_#{attribute}" }
|
16
16
|
|
17
17
|
label_text = @resource.human_attribute_name(attribute)
|
18
18
|
if (text = build_label_text_for_has_and_belongs_to_many(klass, html_options, options))
|
@@ -20,10 +20,10 @@ module Admin::Resources::DataTypes::HasAndBelongsToManyHelper
|
|
20
20
|
end
|
21
21
|
|
22
22
|
locals = { :attribute => attribute,
|
23
|
-
:attribute_id => "#{
|
23
|
+
:attribute_id => "#{model}_#{attribute}",
|
24
24
|
:related_klass => klass,
|
25
25
|
:related_items => klass.all,
|
26
|
-
:related_ids => "#{
|
26
|
+
:related_ids => "#{model}[#{resource_ids}][]",
|
27
27
|
:values => @item.send(attribute),
|
28
28
|
:form => form,
|
29
29
|
:label_text => label_text.html_safe,
|
@@ -9,6 +9,7 @@ module Admin::Resources::DataTypes::StringHelper
|
|
9
9
|
alias_method :display_integer, :display_string
|
10
10
|
alias_method :display_position, :display_string
|
11
11
|
alias_method :display_text, :display_string
|
12
|
+
alias_method :display_virtual, :display_string
|
12
13
|
|
13
14
|
def string_filter(filter)
|
14
15
|
values = set_context.send(filter.to_s.pluralize).to_a
|
@@ -50,7 +50,7 @@ module Admin::Resources::TableHelper
|
|
50
50
|
resource_actions.map do |body, url, options, proc|
|
51
51
|
next if proc && proc.respond_to?(:call) && proc.call(item) == false
|
52
52
|
{ :message => Typus::I18n.t(body),
|
53
|
-
:url =>
|
53
|
+
:url => { :controller => "/admin/#{model.to_resource}", :id => item.id }.merge(params.dup.cleanup.merge(url)),
|
54
54
|
:options => options }
|
55
55
|
end
|
56
56
|
end
|
@@ -2,11 +2,11 @@
|
|
2
2
|
|
3
3
|
<%
|
4
4
|
mailing_list = link_to('mailing list', 'http://groups.google.com/group/typus')
|
5
|
-
user_guide = link_to('user guide',
|
5
|
+
user_guide = link_to('user guide', 'http://docs.typuscmf.com/')
|
6
6
|
%>
|
7
7
|
|
8
8
|
<p>If you need help don't hesitate in joining the <%= mailing_list %> or use
|
9
|
-
the
|
9
|
+
the <%= user_guide %>.</p>
|
10
10
|
|
11
11
|
<p>Replace this sidebar dropping a file named <code>_sidebar.html.erb</code>
|
12
12
|
on the <code>app/views/admin/dashboard</code> folder.</p>
|
@@ -1,11 +1,11 @@
|
|
1
|
-
<li id="<%= attribute_id %>">
|
1
|
+
<li id="<%= attribute_id %>_field">
|
2
2
|
<%= form.label attribute, label_text %>
|
3
3
|
<% if related_items.any? %>
|
4
4
|
<%= hidden_field_tag related_ids %>
|
5
5
|
<%= select_tag related_ids,
|
6
6
|
options_from_collection_for_select(related_items, "id", "to_label", values.map(&:id)),
|
7
7
|
html_options.merge(:multiple => true,
|
8
|
-
:id =>
|
8
|
+
:id => attribute_id,
|
9
9
|
:class => "chzn-select",
|
10
10
|
:style => "width: 550px;",
|
11
11
|
"data-placeholder" => Typus::I18n.t("Select Some Options")) %>
|
data/config/routes.rb
CHANGED
@@ -1,14 +1,13 @@
|
|
1
1
|
Rails.application.routes.draw do
|
2
2
|
|
3
|
-
|
3
|
+
routes_block = lambda do
|
4
4
|
|
5
|
-
|
5
|
+
dashboard = Typus.subdomain ? "/dashboard" : "/admin/dashboard"
|
6
6
|
|
7
|
+
match "/" => redirect(dashboard)
|
7
8
|
match "dashboard" => "dashboard#index", :as => "dashboard_index"
|
8
9
|
match "dashboard/:application" => "dashboard#show", :as => "dashboard"
|
9
10
|
|
10
|
-
match "user_guide" => "base#user_guide"
|
11
|
-
|
12
11
|
if Typus.authentication == :session
|
13
12
|
resource :session, :only => [:new, :create], :controller => :session do
|
14
13
|
get :destroy, :as => "destroy"
|
@@ -29,7 +28,13 @@ Rails.application.routes.draw do
|
|
29
28
|
Typus.resources.map { |i| i.underscore }.each do |resource|
|
30
29
|
match "#{resource}(/:action(/:id))(.:format)", :controller => resource
|
31
30
|
end
|
32
|
-
|
33
31
|
end
|
34
32
|
|
33
|
+
if Typus.subdomain
|
34
|
+
constraints :subdomain => Typus.subdomain do
|
35
|
+
namespace :admin, :path => "", &routes_block
|
36
|
+
end
|
37
|
+
else
|
38
|
+
scope "admin", {:module => :admin, :as => "admin"}, &routes_block
|
39
|
+
end
|
35
40
|
end
|
@@ -29,6 +29,9 @@ Typus.setup do |config|
|
|
29
29
|
# config.username = "admin"
|
30
30
|
# config.password = "columbia"
|
31
31
|
|
32
|
+
# Define subdomain to use instead of additional path
|
33
|
+
# config.subdomain = "admin"
|
34
|
+
|
32
35
|
# Pagination options: These options are passed to `kaminari`.
|
33
36
|
# config.pagination = { :previous_label => "← " + Typus::I18n.t("Previous"),
|
34
37
|
# :next_label => Typus::I18n.t("Next") + " →" }
|
data/lib/typus.rb
CHANGED
@@ -65,6 +65,9 @@ module Typus
|
|
65
65
|
mattr_accessor :username
|
66
66
|
@@username = "admin"
|
67
67
|
|
68
|
+
mattr_accessor :subdomain
|
69
|
+
@@subdomain = nil
|
70
|
+
|
68
71
|
##
|
69
72
|
# Pagination options passed to Kaminari helper.
|
70
73
|
#
|
@@ -220,14 +223,14 @@ module Typus
|
|
220
223
|
end
|
221
224
|
|
222
225
|
def model_configuration_files
|
223
|
-
app = Typus.root.join("*.yml")
|
224
|
-
plugins = Rails.root.join("vendor", "plugins", "*", "config", "typus", "*.yml")
|
226
|
+
app = Typus.root.join("**", "*.yml")
|
227
|
+
plugins = Rails.root.join("vendor", "plugins", "*", "config", "typus", "**", "*.yml")
|
225
228
|
Dir[app, plugins].reject { |f| f.match(/_roles.yml/) }.sort
|
226
229
|
end
|
227
230
|
|
228
231
|
def role_configuration_files
|
229
|
-
app = Typus.root.join("*_roles.yml")
|
230
|
-
plugins = Rails.root.join("vendor", "plugins", "*", "config", "typus", "*_roles.yml")
|
232
|
+
app = Typus.root.join("**", "*_roles.yml")
|
233
|
+
plugins = Rails.root.join("vendor", "plugins", "*", "config", "typus", "**", "*_roles.yml")
|
231
234
|
Dir[app, plugins].sort
|
232
235
|
end
|
233
236
|
|
data/lib/typus/configuration.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'erb'
|
2
|
+
|
1
3
|
module Typus
|
2
4
|
module Configuration
|
3
5
|
|
@@ -6,7 +8,7 @@ module Typus
|
|
6
8
|
@@config = {}
|
7
9
|
|
8
10
|
Typus.model_configuration_files.each do |file|
|
9
|
-
if data = YAML::
|
11
|
+
if data = YAML::load(ERB.new(File.read(file)).result)
|
10
12
|
@@config.merge!(data)
|
11
13
|
end
|
12
14
|
end
|
@@ -20,7 +22,7 @@ module Typus
|
|
20
22
|
@@roles = {}
|
21
23
|
|
22
24
|
Typus.role_configuration_files.each do |file|
|
23
|
-
if data = YAML::
|
25
|
+
if data = YAML::load(ERB.new(File.read(file)).result)
|
24
26
|
data.compact.each do |key, value|
|
25
27
|
@@roles[key] ? @@roles[key].merge!(value) : (@@roles[key] = value)
|
26
28
|
end
|
@@ -32,4 +34,4 @@ module Typus
|
|
32
34
|
@@roles = {}
|
33
35
|
|
34
36
|
end
|
35
|
-
end
|
37
|
+
end
|
@@ -10,12 +10,12 @@ module Typus
|
|
10
10
|
end
|
11
11
|
|
12
12
|
def set_resources_action_for_headless_on_index
|
13
|
-
add_resources_action("Add New", {:action => "new"}
|
13
|
+
add_resources_action("Add New", {:action => "new"})
|
14
14
|
end
|
15
15
|
private :set_resources_action_for_headless_on_index
|
16
16
|
|
17
17
|
def set_resources_action_for_headless
|
18
|
-
add_resources_action("All Entries", {:action => 'index', :id => nil}
|
18
|
+
add_resources_action("All Entries", {:action => 'index', :id => nil})
|
19
19
|
end
|
20
20
|
private :set_resources_action_for_headless
|
21
21
|
|
@@ -13,7 +13,9 @@ module Typus
|
|
13
13
|
end
|
14
14
|
|
15
15
|
def set_predefined_filter_for_trash
|
16
|
-
|
16
|
+
if admin_user.can?('edit', @resource.model_name)
|
17
|
+
add_predefined_filter("Trash", "trash", "deleted")
|
18
|
+
end
|
17
19
|
end
|
18
20
|
private :set_predefined_filter_for_trash
|
19
21
|
|
data/lib/typus/version.rb
CHANGED
data/typus.gemspec
CHANGED
@@ -7,7 +7,7 @@ require "typus/version"
|
|
7
7
|
|
8
8
|
files = `git ls-files`.split("\n")
|
9
9
|
test_files = `git ls-files -- test/*`.split("\n")
|
10
|
-
ignores = `git ls-files --
|
10
|
+
ignores = `git ls-files -- doc/* Guardfile .travis.yml .gitignor .travis.yml .gitignore`.split("\n")
|
11
11
|
|
12
12
|
# Describe your gem and declare its dependencies:
|
13
13
|
Gem::Specification.new do |s|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: typus
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.1.
|
4
|
+
version: 3.1.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2011-09-
|
12
|
+
date: 2011-09-08 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: jquery-rails
|
16
|
-
requirement: &
|
16
|
+
requirement: &70333450722940 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70333450722940
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: kaminari
|
27
|
-
requirement: &
|
27
|
+
requirement: &70333450722120 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70333450722120
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: rails
|
38
|
-
requirement: &
|
38
|
+
requirement: &70333450720960 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ~>
|
@@ -43,7 +43,7 @@ dependencies:
|
|
43
43
|
version: 3.1.0
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70333450720960
|
47
47
|
description: Ruby on Rails Admin Panel (Engine) to allow trusted users edit structured
|
48
48
|
content.
|
49
49
|
email:
|
@@ -52,11 +52,8 @@ executables: []
|
|
52
52
|
extensions: []
|
53
53
|
extra_rdoc_files: []
|
54
54
|
files:
|
55
|
-
- .gitignore
|
56
|
-
- .travis.yml
|
57
55
|
- CHANGELOG
|
58
56
|
- Gemfile
|
59
|
-
- Guardfile
|
60
57
|
- MIT-LICENSE
|
61
58
|
- README.md
|
62
59
|
- Rakefile
|
@@ -111,7 +108,6 @@ files:
|
|
111
108
|
- app/mailers/admin/mailer.rb
|
112
109
|
- app/views/admin/account/forgot_password.html.erb
|
113
110
|
- app/views/admin/account/new.html.erb
|
114
|
-
- app/views/admin/base/user_guide.html.erb
|
115
111
|
- app/views/admin/dashboard/_sidebar.html.erb
|
116
112
|
- app/views/admin/dashboard/index.html.erb
|
117
113
|
- app/views/admin/dashboard/styles.html.erb
|
@@ -320,7 +316,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
320
316
|
version: '0'
|
321
317
|
segments:
|
322
318
|
- 0
|
323
|
-
hash:
|
319
|
+
hash: 431185922972537498
|
324
320
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
325
321
|
none: false
|
326
322
|
requirements:
|
@@ -329,10 +325,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
329
325
|
version: '0'
|
330
326
|
segments:
|
331
327
|
- 0
|
332
|
-
hash:
|
328
|
+
hash: 431185922972537498
|
333
329
|
requirements: []
|
334
330
|
rubyforge_project: typus
|
335
|
-
rubygems_version: 1.8.
|
331
|
+
rubygems_version: 1.8.7
|
336
332
|
signing_key:
|
337
333
|
specification_version: 3
|
338
334
|
summary: Effortless backend interface for Ruby on Rails applications. (Admin scaffold
|
data/.gitignore
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
.bundle/
|
2
|
-
log/*.log
|
3
|
-
pkg/
|
4
|
-
|
5
|
-
test/dummy/config/email.yml
|
6
|
-
test/dummy/config/mongoid.yml
|
7
|
-
test/dummy/db/*.sqlite3
|
8
|
-
test/dummy/log/*.log
|
9
|
-
test/dummy/public/system/
|
10
|
-
test/dummy/tmp/
|
11
|
-
|
12
|
-
vendor/bundle
|
13
|
-
|
14
|
-
# This is a RubyGem so there's no need to keep the `Gemfile.lock`.
|
15
|
-
Gemfile.lock
|
data/.travis.yml
DELETED
data/Guardfile
DELETED
@@ -1,11 +0,0 @@
|
|
1
|
-
# A sample Guardfile
|
2
|
-
# More info at https://github.com/guard/guard#readme
|
3
|
-
|
4
|
-
guard 'livereload' do
|
5
|
-
watch(%r{app/.+\.(erb|haml)})
|
6
|
-
watch(%r{app/helpers/.+\.rb})
|
7
|
-
watch(%r{(public/|app/assets).+\.(css|js|html)})
|
8
|
-
watch(%r{(app/assets/.+\.css)\.s[ac]ss}) { |m| m[1] }
|
9
|
-
watch(%r{(app/assets/.+\.js)\.coffee}) { |m| m[1] }
|
10
|
-
watch(%r{config/locales/.+\.yml})
|
11
|
-
end
|
@@ -1,87 +0,0 @@
|
|
1
|
-
<%
|
2
|
-
rails = "http://rubyonrails.org/"
|
3
|
-
typus = "http://core.typuscmf.com/"
|
4
|
-
%>
|
5
|
-
|
6
|
-
<% content_for :main_grid do %>
|
7
|
-
<a name="introduction"></a>
|
8
|
-
|
9
|
-
<h2>Introduction</h2>
|
10
|
-
|
11
|
-
<p>This website is powered by <%= link_to "Ruby on Rails", rails %> and
|
12
|
-
<%= link_to "Typus", typus %>.</p>
|
13
|
-
|
14
|
-
<p>With <%= link_to "Typus", typus %>, also known as the application backend
|
15
|
-
or admin interface, you'll be able to update your application contents and
|
16
|
-
perform the most common operations for the site maintenance.</p>
|
17
|
-
|
18
|
-
<p>You can get more information at <%= link_to typus, typus %>.</p>
|
19
|
-
|
20
|
-
<a name="basics"></a>
|
21
|
-
|
22
|
-
<h2>Basic Actions</h2>
|
23
|
-
|
24
|
-
<h3>Create Entries</h3>
|
25
|
-
|
26
|
-
<p>To create a new entry:</p>
|
27
|
-
|
28
|
-
<ul>
|
29
|
-
<li>Click on entries tab.</li>
|
30
|
-
<li>Click "Add New" sub tab.</li>
|
31
|
-
<li>Start filling in the blanks.</li>
|
32
|
-
<li>When you are ready, click "Save Entry".</li>
|
33
|
-
</ul>
|
34
|
-
|
35
|
-
<h3>Editing & Updating Entries</h3>
|
36
|
-
|
37
|
-
<p>To edit entries:</p>
|
38
|
-
|
39
|
-
<ul>
|
40
|
-
<li>Click on entries tab.</li>
|
41
|
-
<li>You'll see a list of entries, if you have already create some.</li>
|
42
|
-
<li>Click on "Edit".</li>
|
43
|
-
<li>Edit the entry.</li>
|
44
|
-
<li>When you are ready, click "Update Entry".</li>
|
45
|
-
</ul>
|
46
|
-
|
47
|
-
<h3>Removing Entries</h3>
|
48
|
-
|
49
|
-
<p>To remove entries:</p>
|
50
|
-
|
51
|
-
<ul>
|
52
|
-
<li>Click on entries tab.</li>
|
53
|
-
<li>You'll see a list of entries, if you have already create some.</li>
|
54
|
-
<li>Click on "Trash".</li>
|
55
|
-
<li>Click "Ok" on the dialog to confirm you want to remove the entry.</li>
|
56
|
-
</ul>
|
57
|
-
|
58
|
-
<p>Removing entries will be only available if you have permissions to do so.</p>
|
59
|
-
|
60
|
-
<a name="registered-users"></a>
|
61
|
-
|
62
|
-
<h2>Registered Users</h2>
|
63
|
-
|
64
|
-
<p>Registered users can do a variety of different things on a <strong>Typus</strong>
|
65
|
-
driven site. The various elements available to the user are determined by their
|
66
|
-
user level.</p>
|
67
|
-
|
68
|
-
<p>When <code>:session</code> authentication is enabled <strong>Typus</strong>
|
69
|
-
will enable a a default role which will allow registered users perform all kind
|
70
|
-
of operations on entries: create, read, update and destroy.</p>
|
71
|
-
|
72
|
-
<p>It's usually recommended having an extra role which some restrictions.</p>
|
73
|
-
<% end %>
|
74
|
-
|
75
|
-
<div class="grid_2">
|
76
|
-
<h2>User Guide</h2>
|
77
|
-
|
78
|
-
<ul>
|
79
|
-
<li><%= link_to "Introduction", "#introduction" %></li>
|
80
|
-
<li><%= link_to "Basics", "#basics" %></li>
|
81
|
-
<li><%= link_to "Registered Users", "#registered-users" %></li>
|
82
|
-
</ul>
|
83
|
-
</div>
|
84
|
-
|
85
|
-
<div class="grid_8">
|
86
|
-
<%= yield :main_grid %>
|
87
|
-
</div>
|