admin_template 1.0.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/README +5 -0
- data/Rakefile +25 -0
- data/lib/admin_template.rb +113 -0
- metadata +62 -0
data/README
ADDED
data/Rakefile
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
#!/usr/bin/env rake
|
2
|
+
require 'rake/testtask'
|
3
|
+
require 'rdoc/task'
|
4
|
+
|
5
|
+
desc 'Default: run unit tests.'
|
6
|
+
task :default => :test
|
7
|
+
|
8
|
+
desc 'Test the admin_template plugin.'
|
9
|
+
Rake::TestTask.new(:test) do |t|
|
10
|
+
t.libs << 'lib'
|
11
|
+
t.libs << 'test'
|
12
|
+
t.pattern = 'test/**/*_test.rb'
|
13
|
+
t.verbose = true
|
14
|
+
end
|
15
|
+
|
16
|
+
desc 'Generate documentation for the admin_template plugin.'
|
17
|
+
RDoc::Task.new(:rdoc) do |rdoc|
|
18
|
+
rdoc.rdoc_dir = 'rdoc'
|
19
|
+
rdoc.title = 'AdminTemplate'
|
20
|
+
rdoc.options << '--line-numbers' << '--inline-source'
|
21
|
+
rdoc.rdoc_files.include('README')
|
22
|
+
rdoc.rdoc_files.include('lib/**/*.rb')
|
23
|
+
end
|
24
|
+
require 'rubygems'
|
25
|
+
require 'rake'
|
@@ -0,0 +1,113 @@
|
|
1
|
+
module AdminTemplate
|
2
|
+
|
3
|
+
def self.included(base)
|
4
|
+
base.extend(ClassMethods)
|
5
|
+
end
|
6
|
+
|
7
|
+
module ClassMethods
|
8
|
+
def init_action
|
9
|
+
before_filter :init_model_string
|
10
|
+
include AdminTemplate::InstanceMethods
|
11
|
+
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
|
16
|
+
module InstanceMethods
|
17
|
+
|
18
|
+
|
19
|
+
|
20
|
+
def index
|
21
|
+
|
22
|
+
@title = t('labels.manager', :model => @model.model_name.human)
|
23
|
+
@search = @model.search(params[:search])
|
24
|
+
|
25
|
+
unless params[:keyword].blank?
|
26
|
+
keyword = split_keyword(params[:keyword])
|
27
|
+
keyword.each do |word|
|
28
|
+
@search.conditions.group do |group|
|
29
|
+
group.or_name_like = word
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
instance_variable_set("@#{@model_string.pluralize}" ,@search.page(params[:page] || 1).per(10))
|
35
|
+
|
36
|
+
end
|
37
|
+
|
38
|
+
def new
|
39
|
+
@title = t('labels.manager', :model => @model.model_name.human)
|
40
|
+
instance_variable_set("@#{@model_string}" ,@model.new)
|
41
|
+
end
|
42
|
+
|
43
|
+
def create
|
44
|
+
|
45
|
+
instance_variable_set("@#{@model_string}" ,@model.new(params["#{@model_string}"]))
|
46
|
+
if instance_variable_get("@#{@model_string}").save
|
47
|
+
flash[:notice] = t('labels.created_success')
|
48
|
+
if @model_string.pluralize == @model_string
|
49
|
+
redirect_to eval("admin_#{@model_string.pluralize}_index_path")
|
50
|
+
else
|
51
|
+
redirect_to eval("admin_#{@model_string.pluralize}_path")
|
52
|
+
end
|
53
|
+
else
|
54
|
+
render :action => :new
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
def edit
|
59
|
+
@title = t('labels.manager', :model => @model.model_name.human)
|
60
|
+
instance_variable_set("@#{@model_string}" ,@model.find(params[:id]))
|
61
|
+
end
|
62
|
+
|
63
|
+
def show
|
64
|
+
instance_variable_set("@#{@model_string}" ,@model.find(params[:id]))
|
65
|
+
render :edit
|
66
|
+
end
|
67
|
+
|
68
|
+
def update
|
69
|
+
|
70
|
+
instance_variable_set("@#{@model_string}" ,@model.find(params[:id]))
|
71
|
+
if instance_variable_get("@#{@model_string}").update_attributes(params["#{@model_string}"])
|
72
|
+
flash[:notice] = t('labels.update_success')
|
73
|
+
if @model_string.pluralize == @model_string
|
74
|
+
redirect_to eval("admin_#{@model_string.pluralize}_index_path")
|
75
|
+
else
|
76
|
+
redirect_to eval("admin_#{@model_string.pluralize}_path")
|
77
|
+
end
|
78
|
+
else
|
79
|
+
render :action => 'edit'
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
83
|
+
def destroy
|
84
|
+
instance_variable_set("@#{@model_string}" ,@model.find(params[:id]))
|
85
|
+
|
86
|
+
instance_variable_get("@#{@model_string}").destroy
|
87
|
+
respond_to do |format|
|
88
|
+
format.html {
|
89
|
+
if @model_string.pluralize == @model_string
|
90
|
+
redirect_to eval("admin_#{@model_string.pluralize}_index_path")
|
91
|
+
else
|
92
|
+
redirect_to eval("admin_#{@model_string.pluralize}_path")
|
93
|
+
end
|
94
|
+
|
95
|
+
}
|
96
|
+
format.xml { head :ok }
|
97
|
+
end
|
98
|
+
end
|
99
|
+
|
100
|
+
|
101
|
+
|
102
|
+
def init_model_string
|
103
|
+
begin
|
104
|
+
@model = self.class.to_s.split('::').last.sub(/Controller$/, '').singularize.classify.constantize
|
105
|
+
@model_string = self.class.to_s.split('::').last.sub(/Controller$/, '').singularize.downcase
|
106
|
+
rescue
|
107
|
+
p 'ERROR_BASE'
|
108
|
+
end
|
109
|
+
end
|
110
|
+
|
111
|
+
end
|
112
|
+
|
113
|
+
end
|
metadata
ADDED
@@ -0,0 +1,62 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: admin_template
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.1
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Anthony Wang
|
9
|
+
- Rick Olson
|
10
|
+
autorequire:
|
11
|
+
bindir: bin
|
12
|
+
cert_chain: []
|
13
|
+
date: 2012-02-13 00:00:00.000000000 Z
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: rails
|
17
|
+
requirement: &2156862900 !ruby/object:Gem::Requirement
|
18
|
+
none: false
|
19
|
+
requirements:
|
20
|
+
- - ~>
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 3.1.0
|
23
|
+
type: :runtime
|
24
|
+
prerelease: false
|
25
|
+
version_requirements: *2156862900
|
26
|
+
description: This admin_template plugin provides a foundation for securely managing
|
27
|
+
user.
|
28
|
+
email: vwangzhen@gmail.com
|
29
|
+
executables: []
|
30
|
+
extensions: []
|
31
|
+
extra_rdoc_files: []
|
32
|
+
files:
|
33
|
+
- README
|
34
|
+
- Rakefile
|
35
|
+
- lib/admin_template.rb
|
36
|
+
homepage: http://rubygems.org/gems/admin_template
|
37
|
+
licenses: []
|
38
|
+
post_install_message:
|
39
|
+
rdoc_options:
|
40
|
+
- --main
|
41
|
+
- README.makdown
|
42
|
+
require_paths:
|
43
|
+
- lib
|
44
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
45
|
+
none: false
|
46
|
+
requirements:
|
47
|
+
- - ! '>='
|
48
|
+
- !ruby/object:Gem::Version
|
49
|
+
version: '0'
|
50
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
51
|
+
none: false
|
52
|
+
requirements:
|
53
|
+
- - ! '>='
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: '0'
|
56
|
+
requirements: []
|
57
|
+
rubyforge_project:
|
58
|
+
rubygems_version: 1.8.6
|
59
|
+
signing_key:
|
60
|
+
specification_version: 2
|
61
|
+
summary: admin controller template
|
62
|
+
test_files: []
|