zcore 0.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/app/controllers/admin_controller.rb +5 -0
- data/app/controllers/auth_controller.rb +23 -0
- data/app/controllers/groups_controller.rb +90 -0
- data/app/controllers/roles_controller.rb +57 -0
- data/app/controllers/users_controller.rb +62 -0
- data/app/helpers/accounts_helper.rb +3 -0
- data/app/helpers/application_helper.rb +4 -0
- data/app/models/group.rb +22 -0
- data/app/models/role.rb +18 -0
- data/app/models/user.rb +54 -0
- data/app/views/admin/index.html.erb +0 -0
- data/app/views/auth/login.html.erb +11 -0
- data/app/views/groups/_group.erb +19 -0
- data/app/views/groups/edit.html.erb +2 -0
- data/app/views/groups/index.html.erb +21 -0
- data/app/views/groups/new.html.erb +2 -0
- data/app/views/groups/show.html.erb +9 -0
- data/app/views/layouts/admin.html.erb +25 -0
- data/app/views/roles/index.html.erb +7 -0
- data/app/views/users/_form.erb +17 -0
- data/app/views/users/_userlist.erb +29 -0
- data/app/views/users/append.html.erb +1 -0
- data/app/views/users/edit.html.erb +1 -0
- data/app/views/users/index.html.erb +7 -0
- data/app/views/users/new.html.erb +1 -0
- data/app/views/users/search.html.erb +7 -0
- data/app/views/users/show.html.erb +20 -0
- data/config/initializers/dbinit.rb +8 -0
- data/config/routes.rb +79 -0
- data/lib/zcore.rb +8 -0
- metadata +93 -0
@@ -0,0 +1,23 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
class AuthController < ApplicationController
|
3
|
+
layout nil
|
4
|
+
def login
|
5
|
+
if request.post?
|
6
|
+
if u=User.auth(params[:login],params[:password])
|
7
|
+
session[:slast_lip]=u.last_lip
|
8
|
+
session[:slast_ltime]=u.last_ltime
|
9
|
+
u.update_attributes(:last_lip=>request.remote_ip,:last_ltime=>Time.now)
|
10
|
+
session[:slname]=params[:login]
|
11
|
+
redirect_to root_path
|
12
|
+
else
|
13
|
+
flash[:error]="登录失败!"
|
14
|
+
redirect_to login_path
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
def logout
|
19
|
+
session[:slname]=nil
|
20
|
+
flash[:notice]="注销成功。"
|
21
|
+
redirect_to root_path
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,90 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
class GroupsController < ApplicationController
|
3
|
+
layout "admin"
|
4
|
+
before_filter :findgroup,:only=>[:edit,:get_logo,:show,:update,:destroy]
|
5
|
+
before_filter :check_logo,:only =>[:create,:update]
|
6
|
+
|
7
|
+
def findgroup
|
8
|
+
@group=Group.find(params[:id])
|
9
|
+
end
|
10
|
+
|
11
|
+
def index
|
12
|
+
@page,@per_page=params[:page],5
|
13
|
+
@minum = @page ? @per_page*(@page.to_i-1) : 0
|
14
|
+
@groups=Group.paginate :pages=>@page,:per_page=>@per_page
|
15
|
+
end
|
16
|
+
|
17
|
+
def new
|
18
|
+
@group=Group.new
|
19
|
+
end
|
20
|
+
|
21
|
+
def edit
|
22
|
+
end
|
23
|
+
|
24
|
+
def show
|
25
|
+
end
|
26
|
+
|
27
|
+
def get_logo
|
28
|
+
id=@group.logo["grid_id"]
|
29
|
+
if FileGrid.exist?(id)
|
30
|
+
f=FileGrid.get(id)
|
31
|
+
send_data(f.read,:type=>f.content_type)
|
32
|
+
#response.headers['Content-Type'] = f.content_type
|
33
|
+
else
|
34
|
+
render :text=>"文件不存在"
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
def handle_logo(logo)
|
39
|
+
filehash={}
|
40
|
+
Zbox::QmExt.resize(logo.tempfile.path,:size=>:tinylogo)
|
41
|
+
file_id=FileGrid.put(File.open(logo.tempfile.path),:filename=>logo.original_filename)
|
42
|
+
thefile=FileGrid.get(file_id)
|
43
|
+
filehash["grid_id"]=file_id
|
44
|
+
filehash["content_type"]=logo.content_type
|
45
|
+
filehash["chunk_size"]=thefile.chunk_size
|
46
|
+
filehash["filename"]=thefile.filename
|
47
|
+
return filehash
|
48
|
+
|
49
|
+
end
|
50
|
+
|
51
|
+
def check_logo
|
52
|
+
logo=params[:group][:logo]
|
53
|
+
params[:group][:logo] = logo.blank? ? nil : handle_logo(logo)
|
54
|
+
end
|
55
|
+
|
56
|
+
def create
|
57
|
+
@group=Group.new(params[:group])
|
58
|
+
|
59
|
+
if @group.save
|
60
|
+
flash[:notice]="群组创建成功"
|
61
|
+
else
|
62
|
+
flash[:error]="群组创建失败"
|
63
|
+
end
|
64
|
+
redirect_to :back and return
|
65
|
+
end
|
66
|
+
|
67
|
+
def update
|
68
|
+
logo=params[:group][:logo]
|
69
|
+
params[:group][:logo]=File.read(logo.tempfile.path)
|
70
|
+
if @group.update_attributes(params[:group])
|
71
|
+
flash[:notice]="群组更新成功"
|
72
|
+
else
|
73
|
+
flash[:error]="群组更新失败"
|
74
|
+
end
|
75
|
+
redirect_to :back and return
|
76
|
+
end
|
77
|
+
|
78
|
+
def destroy
|
79
|
+
|
80
|
+
#if @group.delete
|
81
|
+
params[:group][:enable]=false
|
82
|
+
if @group.update_attributes(params[:group])
|
83
|
+
flash[:notice]="群组删除成功"
|
84
|
+
else
|
85
|
+
flash[:error]="群组删除失败"
|
86
|
+
end
|
87
|
+
redirect_to :back and return
|
88
|
+
end
|
89
|
+
|
90
|
+
end
|
@@ -0,0 +1,57 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
class RolesController < ApplicationController
|
3
|
+
layout "admin"
|
4
|
+
before_filter :findrole,:only=>[:edit,:show,:update,:destroy]
|
5
|
+
|
6
|
+
def findrole
|
7
|
+
@role=Role.find(params[:id])
|
8
|
+
end
|
9
|
+
|
10
|
+
def index
|
11
|
+
@page,@per_page=params[:page],5
|
12
|
+
@minum = @page ? @per_page*(@page.to_i-1) : 0
|
13
|
+
@roles=Role.paginate :pages=>@page,:per_page=>@per_page
|
14
|
+
end
|
15
|
+
|
16
|
+
def new
|
17
|
+
@role=Role.new
|
18
|
+
end
|
19
|
+
|
20
|
+
def edit
|
21
|
+
end
|
22
|
+
|
23
|
+
def show
|
24
|
+
end
|
25
|
+
|
26
|
+
def create
|
27
|
+
@role=Role.new(params[:role])
|
28
|
+
if @role.save
|
29
|
+
flash[:notice]="角色创建成功"
|
30
|
+
else
|
31
|
+
flash[:error]="角色创建失败"
|
32
|
+
end
|
33
|
+
redirect_to :back and return
|
34
|
+
end
|
35
|
+
|
36
|
+
def update
|
37
|
+
if @role.update_attributes(params[:role])
|
38
|
+
flash[:notice]="角色更新成功"
|
39
|
+
else
|
40
|
+
flash[:error]="角色更新失败"
|
41
|
+
end
|
42
|
+
redirect_to :back and return
|
43
|
+
end
|
44
|
+
|
45
|
+
def destroy
|
46
|
+
|
47
|
+
#if @role.delete
|
48
|
+
params[:role][:enable]=false
|
49
|
+
if @role.update_attributes(params[:role])
|
50
|
+
flash[:notice]="角色删除成功"
|
51
|
+
else
|
52
|
+
flash[:error]="角色删除失败"
|
53
|
+
end
|
54
|
+
redirect_to :back and return
|
55
|
+
end
|
56
|
+
|
57
|
+
end
|
@@ -0,0 +1,62 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
class UsersController < ApplicationController
|
3
|
+
layout "admin"
|
4
|
+
before_filter :finduser,:only=>[:show,:edit,:update,:destroy,:append]
|
5
|
+
before_filter :lip,:only=>[:create,:update]
|
6
|
+
def lip
|
7
|
+
request.remote_ip
|
8
|
+
end
|
9
|
+
def finduser
|
10
|
+
@user=User.find(params[:id])
|
11
|
+
end
|
12
|
+
|
13
|
+
def index
|
14
|
+
@page,@per_page=params[:page],5
|
15
|
+
@minum = @page ? @per_page*(@page.to_i-1) : 0
|
16
|
+
@users=User.paginate :page=>@page,:per_page=>@per_page,:order=>"created_at DESC"
|
17
|
+
end
|
18
|
+
def new
|
19
|
+
@user=User.new
|
20
|
+
end
|
21
|
+
def append
|
22
|
+
end
|
23
|
+
def create
|
24
|
+
@user=User.new(params[:user])
|
25
|
+
@user.last_lip=lip
|
26
|
+
#redirect_to @user.save ? users_path : new_user_path
|
27
|
+
if @user.save
|
28
|
+
redirect_to users_path
|
29
|
+
else
|
30
|
+
redirect_to new_user_path
|
31
|
+
end
|
32
|
+
end
|
33
|
+
def edit
|
34
|
+
end
|
35
|
+
|
36
|
+
def search
|
37
|
+
redirect_to users_path and return if params[:str].blank?
|
38
|
+
str=params[:str].strip
|
39
|
+
@users = ["!",">","<"].include?(str[0]) ? User.search_ltime(str) : User.search(str)
|
40
|
+
@page,@per_page=params[:page],5
|
41
|
+
@minum = @page ? @per_page*(@page.to_i-1) : 0
|
42
|
+
@users=@users.paginate :page=>@page,:per_page=>@per_page,:order=>"created_at DESC"
|
43
|
+
end
|
44
|
+
|
45
|
+
def update
|
46
|
+
params[:user][:last_ip]=lip
|
47
|
+
lpassword=params[:user][:lpassword]
|
48
|
+
params[:user][:lpassword] = lpassword.blank? ? @user.lpassword : User.encrypt(lpassword)
|
49
|
+
@user.update_attributes(params[:user])
|
50
|
+
redirect_to users_path
|
51
|
+
end
|
52
|
+
def show
|
53
|
+
end
|
54
|
+
def destroy
|
55
|
+
begin
|
56
|
+
@user.destroy
|
57
|
+
rescue
|
58
|
+
flash[:error]="删除失败!"
|
59
|
+
end
|
60
|
+
redirect_to users_path
|
61
|
+
end
|
62
|
+
end
|
data/app/models/group.rb
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
class Group
|
3
|
+
include MongoMapper::Document
|
4
|
+
key :name,String,:required=>true,:unique=>true
|
5
|
+
key :creator,String
|
6
|
+
key :level,String
|
7
|
+
key :enable,Boolean
|
8
|
+
key :members,Array
|
9
|
+
key :summary,String
|
10
|
+
key :apply_pool,Array
|
11
|
+
key :options,Hash
|
12
|
+
key :logo_fileinfo,Hash
|
13
|
+
|
14
|
+
timestamps!
|
15
|
+
|
16
|
+
before_destroy :reserved_users
|
17
|
+
|
18
|
+
def reserved_users
|
19
|
+
raise "不能修改删除管理组" if ["admin"].include?(name)
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
data/app/models/role.rb
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
class Role
|
3
|
+
include MongoMapper::Document
|
4
|
+
key :name,String,:required=>true,:unique=>true
|
5
|
+
key :creator,String
|
6
|
+
key :range,Array #if it is for speciall groups role?
|
7
|
+
key :enable,Boolean
|
8
|
+
|
9
|
+
timestamps!
|
10
|
+
|
11
|
+
before_destroy :reserved_roles
|
12
|
+
|
13
|
+
|
14
|
+
def reserved_roles
|
15
|
+
raise "不能修改删除系统角色" if ["system"].include?(name)
|
16
|
+
end
|
17
|
+
|
18
|
+
end
|
data/app/models/user.rb
ADDED
@@ -0,0 +1,54 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
require 'digest'
|
3
|
+
class User
|
4
|
+
include MongoMapper::Document
|
5
|
+
key :lname,String,:required=>true,:unique=>true
|
6
|
+
key :lpassword,String
|
7
|
+
key :ltimes,Integer
|
8
|
+
key :status,String,:default=>"正常"
|
9
|
+
key :last_ltime,Time
|
10
|
+
key :last_lip,String
|
11
|
+
timestamps!
|
12
|
+
|
13
|
+
before_create :encrypt_password
|
14
|
+
before_destroy :reserved_users
|
15
|
+
|
16
|
+
def encrypt_password
|
17
|
+
self.lpassword=encrypt(self.lpassword)
|
18
|
+
end
|
19
|
+
|
20
|
+
def search(str)
|
21
|
+
pat=/#{str}/
|
22
|
+
where("$or"=>[{:lname=>pat},{:status=>pat},{:last_lip=>pat}])
|
23
|
+
end
|
24
|
+
|
25
|
+
def search_ltime(str)
|
26
|
+
op=str[0]
|
27
|
+
str[0]=""
|
28
|
+
str=str.strip
|
29
|
+
case op
|
30
|
+
when ">"
|
31
|
+
where(:last_ltime.gt=>Time.parse(str))
|
32
|
+
when "<"
|
33
|
+
where(:last_ltime.lt=>Time.parse(str))
|
34
|
+
when "!"
|
35
|
+
stime=str.split(",")
|
36
|
+
start_at=Time.parse(stime[0])
|
37
|
+
stop_at=Time.parse(stime[1])
|
38
|
+
where(:last_ltime=>{"$gte"=>start_at,"$lte"=>stop_at})
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
def encrypt(password)
|
43
|
+
Digest::SHA2.hexdigest(password)
|
44
|
+
end
|
45
|
+
|
46
|
+
def reserved_users
|
47
|
+
raise "不能修改删除根用户" if ["root"].include?(lname)
|
48
|
+
end
|
49
|
+
|
50
|
+
def auth(user,passwd)
|
51
|
+
find_by_lname_and_lpassword_and_status(user,self.encrypt(passwd),"正常")
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
File without changes
|
@@ -0,0 +1,19 @@
|
|
1
|
+
<%= form_for @group,:html=>{:multipart=>true} do |f| %>
|
2
|
+
<table>
|
3
|
+
<tr>
|
4
|
+
<td> 群组名称: </td>
|
5
|
+
<td> <%= f.text_field :name %> </td>
|
6
|
+
</tr>
|
7
|
+
<tr>
|
8
|
+
<td> 群组简介: </td>
|
9
|
+
<td> <%= f.text_area :summary %> </td>
|
10
|
+
</tr>
|
11
|
+
<tr>
|
12
|
+
<td> 群组标志: </td>
|
13
|
+
<td> <%= f.file_field :logo %> </td>
|
14
|
+
</tr>
|
15
|
+
<tr>
|
16
|
+
<td colspan=2> <%= f.submit stbname %> </td>
|
17
|
+
</tr>
|
18
|
+
</table>
|
19
|
+
<% end %>
|
@@ -0,0 +1,21 @@
|
|
1
|
+
<table>
|
2
|
+
<thead>
|
3
|
+
<td>编号</td>
|
4
|
+
<td>群组名称</td>
|
5
|
+
<td>标志</td>
|
6
|
+
<td>操作 <%= link_to "增加" ,new_group_path %>
|
7
|
+
</td>
|
8
|
+
</thead>
|
9
|
+
<% @groups.each do |group| %>
|
10
|
+
<tr>
|
11
|
+
<td><%= @minum+=1 %></td>
|
12
|
+
<td><%= link_to group.name,group_path(group) %></td>
|
13
|
+
|
14
|
+
<td><% if group.logo %><img src=<%= get_logo_group_path(group) %>> <% end %></td>
|
15
|
+
<td>
|
16
|
+
<%= link_to "编辑" , edit_group_path(group) %>
|
17
|
+
<%= link_to "删除" , group_path(group),:method => "delete",:confirm= =>"真的删除吗?" %>
|
18
|
+
</td>
|
19
|
+
</tr>
|
20
|
+
<% end %>
|
21
|
+
<%= will_paginate @groups %>
|
@@ -0,0 +1,25 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<title>Dss</title>
|
5
|
+
<%#= stylesheet_link_tag :all %>
|
6
|
+
<%#= javascript_include_tag("jquery-1.5.min","rails") %>
|
7
|
+
<%#= javascript_include_tag :defaults %>
|
8
|
+
<style type="text/css"><%= yield :stylesheets %></style>
|
9
|
+
<%= csrf_meta_tag %>
|
10
|
+
</head>
|
11
|
+
<body>
|
12
|
+
<div>
|
13
|
+
<%= link_to "用户管理",users_path %>
|
14
|
+
<%= link_to "角色管理",roles_path %>
|
15
|
+
<%= link_to "群组管理",groups_path %>
|
16
|
+
</div>
|
17
|
+
<div>
|
18
|
+
<%= flash[:error] %>
|
19
|
+
<%= flash[:notice] %>
|
20
|
+
</div>
|
21
|
+
<div>
|
22
|
+
<%= yield %>
|
23
|
+
</div>
|
24
|
+
</body>
|
25
|
+
</html>
|
@@ -0,0 +1,17 @@
|
|
1
|
+
<table>
|
2
|
+
<%= form_for :user, @user, :url => { :action => ac },:html => { :method => mtd } do |f| %>
|
3
|
+
<tr>
|
4
|
+
<td> 登录名</td><td> <%= f.text_field :lname %></td>
|
5
|
+
</tr>
|
6
|
+
<tr>
|
7
|
+
<td> 密码</td><td> <%= f.password_field :lpassword,:value=>nil %></td>
|
8
|
+
</tr>
|
9
|
+
<tr>
|
10
|
+
<td> 状态</td><td> <%= f.select :status,options_for_select(["正常","停用"],@user.status) %></td>
|
11
|
+
</tr>
|
12
|
+
<tr>
|
13
|
+
<td colspan=2> <%= submit_tag submit %></td>
|
14
|
+
</tr>
|
15
|
+
|
16
|
+
<% end %>
|
17
|
+
</table>
|
@@ -0,0 +1,29 @@
|
|
1
|
+
<table>
|
2
|
+
<thead>
|
3
|
+
<td></td>
|
4
|
+
<td>登录名</td>
|
5
|
+
<td>状态</td>
|
6
|
+
<td>最后登录时间</td>
|
7
|
+
<td>最后登录IP</td>
|
8
|
+
<td>创建时间</td>
|
9
|
+
<td>更新时间</td>
|
10
|
+
<td colspan="3">操作
|
11
|
+
<%= link_to "增加",new_user_path %>
|
12
|
+
</td>
|
13
|
+
</thead>
|
14
|
+
<% @users.each do |u| %>
|
15
|
+
<tr>
|
16
|
+
<td><%= @minum+=1 %></td>
|
17
|
+
<td><%= u.lname %></td>
|
18
|
+
<td><%= u.status %></td>
|
19
|
+
<td><%= u.last_ltime %></td>
|
20
|
+
<td><%= u.last_lip %></td>
|
21
|
+
<td><%= u.created_at.to_fmt1 %></td>
|
22
|
+
<td><%= u.updated_at.to_fmt1 %></td>
|
23
|
+
<td><%= link_to "用户信息",user_path(u) %></td>
|
24
|
+
<td><%= link_to "修改",edit_user_path(u) %></td>
|
25
|
+
<td><%= link_to "追加",append_user_path(u) %></td>
|
26
|
+
<td><%= link_to "删除",user_path(u),:method=>"delete",:confirm=>"#{u.lname}将被删除,确信吗?" if u.lname!="root" %></td>
|
27
|
+
</tr>
|
28
|
+
<% end %>
|
29
|
+
</table>
|
@@ -0,0 +1 @@
|
|
1
|
+
<%= render :partial=>"form",:locals=>{:ac=>"create",:submit=>"创建",:mtd=>"post"} %>
|
@@ -0,0 +1 @@
|
|
1
|
+
<%= render :partial=>"form",:locals=>{:ac=>"update",:submit=>"修改",:mtd=>"put" } %>
|
@@ -0,0 +1 @@
|
|
1
|
+
<%= render :partial=>"form",:locals=>{:ac=>"create",:submit=>"创建",:mtd=>"post"} %>
|
@@ -0,0 +1,20 @@
|
|
1
|
+
<table>
|
2
|
+
<tr>
|
3
|
+
<td>登录名</td><td><%= @user.lname %></td>
|
4
|
+
</tr>
|
5
|
+
<tr>
|
6
|
+
<td>用户状态</td><td><%= @user.status %></td>
|
7
|
+
</tr>
|
8
|
+
<tr>
|
9
|
+
<td>上次登录时间</td><td><%= @user.lname==session[:slname] ? session[:slast_ltime] : @user.last_ltime %></td>
|
10
|
+
</tr>
|
11
|
+
<tr>
|
12
|
+
<td>上次登录IP</td><td><%= @user.lname==session[:slname] ? session[:slast_lip] : @user.last_lip %></td>
|
13
|
+
</tr>
|
14
|
+
<tr>
|
15
|
+
<td>创建时间</td><td><%= @user.created_at %></td>
|
16
|
+
</tr>
|
17
|
+
<tr>
|
18
|
+
<td>更新时间</td><td><%= @user.updated_at %></td>
|
19
|
+
</tr>
|
20
|
+
</table>
|
@@ -0,0 +1,8 @@
|
|
1
|
+
dbname=Rails.application.class.parent_name+"-"+Rails.env
|
2
|
+
MongoMapper.connection = Mongo::Connection.new
|
3
|
+
MongoMapper.database = dbname
|
4
|
+
db = Mongo::Connection.new.db(dbname)
|
5
|
+
FileGrid = Mongo::Grid.new(db)
|
6
|
+
unless User.find(:lname=>"root")
|
7
|
+
User.create(:lname=>"root",:lpassword=>"rootisadmin")
|
8
|
+
end
|
data/config/routes.rb
ADDED
@@ -0,0 +1,79 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
Rails::Application.routes.draw do
|
3
|
+
scope "/admin" do
|
4
|
+
|
5
|
+
resources :users do
|
6
|
+
get 'append', :on => :member
|
7
|
+
match 'search', :on => :collection
|
8
|
+
end
|
9
|
+
|
10
|
+
resources :roles do
|
11
|
+
end
|
12
|
+
|
13
|
+
resources :groups do
|
14
|
+
get "get_logo", :on => :member
|
15
|
+
end
|
16
|
+
|
17
|
+
end
|
18
|
+
|
19
|
+
match 'admin' => 'admin#index'
|
20
|
+
match 'login' => 'auth#login'
|
21
|
+
match 'logout' => 'auth#logout'
|
22
|
+
|
23
|
+
# The priority is based upon order of creation:
|
24
|
+
# first created -> highest priority.
|
25
|
+
|
26
|
+
# Sample of regular route:
|
27
|
+
# match 'products/:id' => 'catalog#view'
|
28
|
+
# Keep in mind you can assign values other than :controller and :action
|
29
|
+
|
30
|
+
# Sample of named route:
|
31
|
+
# match 'products/:id/purchase' => 'catalog#purchase', :as => :purchase
|
32
|
+
# This route can be invoked with purchase_url(:id => product.id)
|
33
|
+
|
34
|
+
# Sample resource route (maps HTTP verbs to controller actions automatically):
|
35
|
+
# resources :products
|
36
|
+
|
37
|
+
# Sample resource route with options:
|
38
|
+
# resources :products do
|
39
|
+
# member do
|
40
|
+
# get 'short'
|
41
|
+
# post 'toggle'
|
42
|
+
# end
|
43
|
+
#
|
44
|
+
# collection do
|
45
|
+
# get 'sold'
|
46
|
+
# end
|
47
|
+
# end
|
48
|
+
|
49
|
+
# Sample resource route with sub-resources:
|
50
|
+
# resources :products do
|
51
|
+
# resources :comments, :sales
|
52
|
+
# resource :seller
|
53
|
+
# end
|
54
|
+
|
55
|
+
# Sample resource route with more complex sub-resources
|
56
|
+
# resources :products do
|
57
|
+
# resources :comments
|
58
|
+
# resources :sales do
|
59
|
+
# get 'recent', :on => :collection
|
60
|
+
# end
|
61
|
+
# end
|
62
|
+
|
63
|
+
# Sample resource route within a namespace:
|
64
|
+
# namespace :admin do
|
65
|
+
# # Directs /admin/products/* to Admin::ProductsController
|
66
|
+
# # (app/controllers/admin/products_controller.rb)
|
67
|
+
# resources :products
|
68
|
+
# end
|
69
|
+
|
70
|
+
# You can have the root of your site routed with "root"
|
71
|
+
# just remember to delete public/index.html.
|
72
|
+
#root :to => "welcome#index"
|
73
|
+
|
74
|
+
# See how all your routes lay out with "rake routes"
|
75
|
+
|
76
|
+
# This is a legacy wild controller route that's not recommended for RESTful applications.
|
77
|
+
# Note: This route will make all actions in every controller accessible via GET requests.
|
78
|
+
# match ':controller(/:action(/:id(.:format)))'
|
79
|
+
end
|
data/lib/zcore.rb
ADDED
metadata
ADDED
@@ -0,0 +1,93 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: zcore
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
prerelease:
|
5
|
+
version: 0.0.1
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- zxy
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
|
13
|
+
date: 2011-04-27 00:00:00 Z
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: unigems
|
17
|
+
prerelease: false
|
18
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
19
|
+
none: false
|
20
|
+
requirements:
|
21
|
+
- - ">="
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: "0"
|
24
|
+
type: :runtime
|
25
|
+
version_requirements: *id001
|
26
|
+
description: zcore package
|
27
|
+
email: zxy@lwqzx.net
|
28
|
+
executables: []
|
29
|
+
|
30
|
+
extensions: []
|
31
|
+
|
32
|
+
extra_rdoc_files: []
|
33
|
+
|
34
|
+
files:
|
35
|
+
- app/controllers/admin_controller.rb
|
36
|
+
- app/controllers/auth_controller.rb
|
37
|
+
- app/controllers/groups_controller.rb
|
38
|
+
- app/controllers/roles_controller.rb
|
39
|
+
- app/controllers/users_controller.rb
|
40
|
+
- app/helpers/accounts_helper.rb
|
41
|
+
- app/helpers/application_helper.rb
|
42
|
+
- app/models/group.rb
|
43
|
+
- app/models/role.rb
|
44
|
+
- app/models/user.rb
|
45
|
+
- app/views/admin/index.html.erb
|
46
|
+
- app/views/auth/login.html.erb
|
47
|
+
- app/views/groups/_group.erb
|
48
|
+
- app/views/groups/edit.html.erb
|
49
|
+
- app/views/groups/index.html.erb
|
50
|
+
- app/views/groups/new.html.erb
|
51
|
+
- app/views/groups/show.html.erb
|
52
|
+
- app/views/layouts/admin.html.erb
|
53
|
+
- app/views/roles/index.html.erb
|
54
|
+
- app/views/users/_form.erb
|
55
|
+
- app/views/users/_userlist.erb
|
56
|
+
- app/views/users/append.html.erb
|
57
|
+
- app/views/users/edit.html.erb
|
58
|
+
- app/views/users/index.html.erb
|
59
|
+
- app/views/users/new.html.erb
|
60
|
+
- app/views/users/search.html.erb
|
61
|
+
- app/views/users/show.html.erb
|
62
|
+
- config/initializers/dbinit.rb
|
63
|
+
- config/routes.rb
|
64
|
+
- lib/zcore.rb
|
65
|
+
homepage: http://www.lwqzx.net
|
66
|
+
licenses: []
|
67
|
+
|
68
|
+
post_install_message:
|
69
|
+
rdoc_options: []
|
70
|
+
|
71
|
+
require_paths:
|
72
|
+
- lib
|
73
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
74
|
+
none: false
|
75
|
+
requirements:
|
76
|
+
- - ">="
|
77
|
+
- !ruby/object:Gem::Version
|
78
|
+
version: "0"
|
79
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
80
|
+
none: false
|
81
|
+
requirements:
|
82
|
+
- - ">="
|
83
|
+
- !ruby/object:Gem::Version
|
84
|
+
version: "0"
|
85
|
+
requirements: []
|
86
|
+
|
87
|
+
rubyforge_project:
|
88
|
+
rubygems_version: 1.7.2
|
89
|
+
signing_key:
|
90
|
+
specification_version: 3
|
91
|
+
summary: zapps core engine
|
92
|
+
test_files: []
|
93
|
+
|