lockdown 0.5.0 → 0.5.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.
Files changed (44) hide show
  1. data/History.txt +8 -0
  2. data/Manifest.txt +0 -36
  3. data/lib/lockdown/controller.rb +2 -2
  4. data/lib/lockdown/version.rb +1 -1
  5. data/rails_generators/lockdown/lockdown_generator.rb +56 -57
  6. data/website/generator.html +1 -1
  7. data/website/index.html +1 -1
  8. metadata +2 -38
  9. data/app_generators/lockdown/lockdown_generator.rb.orig +0 -69
  10. data/rails_generators/lockdown_all/USAGE +0 -5
  11. data/rails_generators/lockdown_all/lockdown_all_generator.rb +0 -190
  12. data/rails_generators/lockdown_all/templates/app/controllers/permissions_controller.rb +0 -22
  13. data/rails_generators/lockdown_all/templates/app/controllers/sessions_controller.rb +0 -38
  14. data/rails_generators/lockdown_all/templates/app/controllers/user_groups_controller.rb +0 -113
  15. data/rails_generators/lockdown_all/templates/app/controllers/users_controller.rb +0 -124
  16. data/rails_generators/lockdown_all/templates/app/helpers/permissions_helper.rb +0 -13
  17. data/rails_generators/lockdown_all/templates/app/helpers/user_groups_helper.rb +0 -35
  18. data/rails_generators/lockdown_all/templates/app/helpers/users_helper.rb +0 -78
  19. data/rails_generators/lockdown_all/templates/app/models/permission.rb +0 -13
  20. data/rails_generators/lockdown_all/templates/app/models/profile.rb +0 -10
  21. data/rails_generators/lockdown_all/templates/app/models/user.rb +0 -72
  22. data/rails_generators/lockdown_all/templates/app/models/user_group.rb +0 -15
  23. data/rails_generators/lockdown_all/templates/app/views/permissions/_data.html.erb +0 -13
  24. data/rails_generators/lockdown_all/templates/app/views/permissions/index.html.erb +0 -16
  25. data/rails_generators/lockdown_all/templates/app/views/permissions/show.html.erb +0 -3
  26. data/rails_generators/lockdown_all/templates/app/views/sessions/new.html.erb +0 -12
  27. data/rails_generators/lockdown_all/templates/app/views/user_groups/_data.html.erb +0 -44
  28. data/rails_generators/lockdown_all/templates/app/views/user_groups/_form.html.erb +0 -11
  29. data/rails_generators/lockdown_all/templates/app/views/user_groups/edit.html.erb +0 -6
  30. data/rails_generators/lockdown_all/templates/app/views/user_groups/index.html.erb +0 -20
  31. data/rails_generators/lockdown_all/templates/app/views/user_groups/new.html.erb +0 -5
  32. data/rails_generators/lockdown_all/templates/app/views/user_groups/show.html.erb +0 -6
  33. data/rails_generators/lockdown_all/templates/app/views/users/_data.html.erb +0 -62
  34. data/rails_generators/lockdown_all/templates/app/views/users/_form.html.erb +0 -18
  35. data/rails_generators/lockdown_all/templates/app/views/users/_password.html.erb +0 -5
  36. data/rails_generators/lockdown_all/templates/app/views/users/edit.html.erb +0 -6
  37. data/rails_generators/lockdown_all/templates/app/views/users/index.html.erb +0 -22
  38. data/rails_generators/lockdown_all/templates/app/views/users/new.html.erb +0 -5
  39. data/rails_generators/lockdown_all/templates/app/views/users/show.html.erb +0 -4
  40. data/rails_generators/lockdown_all/templates/db/migrate/create_admin_user_and_user_group.rb +0 -19
  41. data/rails_generators/lockdown_all/templates/db/migrate/create_permissions.rb +0 -19
  42. data/rails_generators/lockdown_all/templates/db/migrate/create_profiles.rb +0 -26
  43. data/rails_generators/lockdown_all/templates/db/migrate/create_user_groups.rb +0 -19
  44. data/rails_generators/lockdown_all/templates/db/migrate/create_users.rb +0 -17
@@ -1,38 +0,0 @@
1
- # This controller handles the login/logout function of the site.
2
- class SessionsController < ApplicationController
3
- def new
4
- #Stub required for Lockdown to grant access
5
- end
6
-
7
- def create
8
- password_authentication(params[:login], params[:password])
9
- end
10
-
11
- def destroy
12
- logger.info "resetting session in sessions controller"
13
- reset_session
14
- flash[:notice] = "You have been logged out."
15
- redirect_back_or_default('/')
16
- end
17
-
18
- protected
19
-
20
- def password_authentication(login, password)
21
- set_session_user(User.authenticate(login, password))
22
- if logged_in?
23
- successful_login
24
- else
25
- failed_login
26
- end
27
- end
28
-
29
- def failed_login(message = 'Authentication failed.')
30
- flash[:error] = message
31
- redirect_back_or_default login_url
32
- end
33
-
34
- def successful_login
35
- flash[:notice] = "Logged in successfully"
36
- redirect_back_or_default "/"
37
- end
38
- end
@@ -1,113 +0,0 @@
1
- class UserGroupsController < ApplicationController
2
- before_filter :find_user_group, :only => [:show, :edit, :update, :destroy]
3
- after_filter :update_permissions, :only => [:create, :update]
4
-
5
- # GET /user_groups
6
- # GET /user_groups.xml
7
- def index
8
- @user_groups = UserGroup.find(:all)
9
-
10
- respond_to do |format|
11
- format.html # index.html.erb
12
- format.xml { render :xml => @user_groups }
13
- end
14
- end
15
-
16
- # GET /user_groups/1
17
- # GET /user_groups/1.xml
18
- def show
19
- respond_to do |format|
20
- format.html # show.html.erb
21
- format.xml { render :xml => @user_group }
22
- end
23
- end
24
-
25
- # GET /user_groups/new
26
- # GET /user_groups/new.xml
27
- def new
28
- @user_group = UserGroup.new
29
- @all_permissions = Lockdown::System.permissions_assignable_for_user(current_user)
30
-
31
- respond_to do |format|
32
- format.html # new.html.erb
33
- format.xml { render :xml => @user_group }
34
- end
35
- end
36
-
37
- # GET /user_groups/1/edit
38
- def edit
39
- @all_permissions = Lockdown::System.permissions_assignable_for_user(current_user)
40
- end
41
-
42
- # POST /user_groups
43
- # POST /user_groups.xml
44
- def create
45
- @user_group = UserGroup.new(params[:user_group])
46
-
47
- respond_to do |format|
48
- if @user_group.save
49
- flash[:notice] = 'UserGroup was successfully created.'
50
- format.html { redirect_to(@user_group) }
51
- format.xml { render :xml => @user_group, :status => :created, :location => @user_group }
52
- else
53
- @all_permissions = Lockdown::System.permissions_assignable_for_user(current_user)
54
- format.html { render :action => "new" }
55
- format.xml { render :xml => @user_group.errors, :status => :unprocessable_entity }
56
- end
57
- end
58
- end
59
-
60
- # PUT /user_groups/1
61
- # PUT /user_groups/1.xml
62
- def update
63
- respond_to do |format|
64
- if @user_group.update_attributes(params[:user_group])
65
- flash[:notice] = 'UserGroup was successfully updated.'
66
- format.html { redirect_to(@user_group) }
67
- format.xml { head :ok }
68
- else
69
- @all_permissions = Lockdown::System.permissions_assignable_for_user(current_user)
70
- format.html { render :action => "edit" }
71
- format.xml { render :xml => @user_group.errors, :status => :unprocessable_entity }
72
- end
73
- end
74
- end
75
-
76
- # DELETE /user_groups/1
77
- # DELETE /user_groups/1.xml
78
- def destroy
79
- @user_group.destroy
80
-
81
- respond_to do |format|
82
- format.html { redirect_to(user_groups_url) }
83
- format.xml { head :ok }
84
- end
85
- end
86
-
87
- private
88
-
89
- def find_user_group
90
- @user_group = UserGroup.find(params[:id])
91
- if @action_name != "show" && Lockdown::System.has_user_group?(@user_group)
92
- raise SecurityError,"Invalid attempt to modify user group."
93
- end
94
- end
95
-
96
- def update_permissions
97
- new_perm_ids = params.collect{|p| p[0].split("_")[1].to_i if p[0] =~ /^perm_/}.compact
98
- #
99
- # Removed previously associated permissions if not checked this time.
100
- #
101
- @user_group.permissions.dup.each do |p|
102
- @user_group.permissions.delete(p) unless new_perm_ids.include?(p.id)
103
- end
104
-
105
- #
106
- # Add in the new permissions
107
- #
108
- new_perm_ids.each do |id|
109
- next if @user_group.permission_ids.include?(id)
110
- @user_group.permissions << Permission.find(id)
111
- end
112
- end
113
- end
@@ -1,124 +0,0 @@
1
- class UsersController < ApplicationController
2
- before_filter :find_user, :only => [:show, :edit, :update, :destroy]
3
- after_filter :update_user_groups, :only => [:create, :update]
4
- # GET /users
5
- # GET /users.xml
6
- def index
7
- @users = User.find :all, :include => [:profile, :user_groups]
8
- respond_to do |format|
9
- format.html # index.html.erb
10
- format.xml { render :xml => @users }
11
- end
12
- end
13
-
14
- # GET /users/1
15
- # GET /users/1.xml
16
- def show
17
- respond_to do |format|
18
- format.html # show.html.erb
19
- format.xml { render :xml => @user }
20
- end
21
- end
22
-
23
- # GET /users/new
24
- # GET /users/new.xml
25
- def new
26
- @user = User.new
27
- @profile = Profile.new
28
- @user_groups_for_user = Lockdown::System.user_groups_assignable_for_user(current_user)
29
- respond_to do |format|
30
- format.html # new.html.erb
31
- format.xml { render :xml => @user }
32
- end
33
- end
34
-
35
- # GET /users/1/edit
36
- def edit
37
- @user_groups_for_user = Lockdown::System.user_groups_assignable_for_user(current_user)
38
- end
39
-
40
- # POST /users
41
- # POST /users.xml
42
- def create
43
- @user = User.new(params[:user])
44
- @profile = Profile.new(params[:profile])
45
-
46
- @user.profile = @profile
47
- if @user.save
48
- flash[:notice] = "Thanks for signing up!"
49
- redirect_to(users_path)
50
- else
51
- @user_groups_for_user = Lockdown::System.user_groups_assignable_for_user(current_user)
52
- flash[:error] = "Please correct the following issues"
53
- render :action => "new"
54
- end
55
- end
56
-
57
- # PUT /users/1
58
- # PUT /users/1.xml
59
- def update
60
- @user.profile.attributes = params[:profile]
61
- @user.attributes = params[:user]
62
-
63
- respond_to do |format|
64
- if @user.save
65
- flash[:notice] = 'User was successfully updated.'
66
- format.html { redirect_to(@user) }
67
- format.xml { head :ok }
68
- else
69
- @user_groups_for_user = Lockdown::System.user_groups_assignable_for_user(current_user)
70
- format.html { render :action => "edit" }
71
- format.xml { render :xml => @user.errors, :status => :unprocessable_entity }
72
- end
73
- end
74
- end
75
-
76
- # DELETE /users/1
77
- # DELETE /users/1.xml
78
- def destroy
79
- @user.destroy
80
-
81
- respond_to do |format|
82
- format.html { redirect_to(users_url) }
83
- format.xml { head :ok }
84
- end
85
- end
86
-
87
- def change_password
88
- render :update do |page|
89
- page.replace_html 'password', :partial => 'password'
90
- end
91
- end
92
-
93
- private
94
-
95
- def find_user
96
- # Skip test if current user is an administrator
97
- unless current_user_is_admin?
98
- # Raise error if id not = current logged in user
99
- raise SecurityError.new if (current_user_id != params[:id].to_i)
100
- end
101
- @user = User.find(params[:id])
102
- raise SecurityError.new if @user.nil?
103
- @profile = @user.profile
104
- end
105
-
106
- def update_user_groups
107
- new_ug_ids = params.collect{|p| p[0].split("_")[1].to_i if p[0] =~ /^ug_/}.compact
108
- #
109
- # Removed previously associated user_groups if not checked this time.
110
- #
111
- @user.user_groups.dup.each do |g|
112
- #Don't remove the automatically assigned user groups
113
- next if Lockdown::System.has_user_group?(g)
114
- @user.user_groups.delete(g) unless new_ug_ids.include?(g.id)
115
- end
116
- #
117
- # Add in the new permissions
118
- #
119
- new_ug_ids.each do |id|
120
- next if @user.user_group_ids.include?(id)
121
- @user.user_groups << UserGroup.find(id)
122
- end
123
- end
124
- end
@@ -1,13 +0,0 @@
1
- module PermissionsHelper
2
- def permission_name_value
3
- h @permission.name
4
- end
5
-
6
- def permission_access_rights_value
7
- Lockdown::System.access_rights_for_permission(@permission).collect{|r| r}.join("<br/>")
8
- end
9
-
10
- def permission_users_value
11
- @permission.all_users.collect{|u| link_to_or_show(u.full_name, u)}.join("<br/>")
12
- end
13
- end
@@ -1,35 +0,0 @@
1
- module UserGroupsHelper
2
- def user_group_name_value
3
- if @action_name == "show"
4
- h @user_group.name
5
- else
6
- text_field_tag "user_group[name]", @user_group.name
7
- end
8
- end
9
-
10
- def user_group_permissions_value
11
- if @action_name == "show"
12
- @user_group.permissions.collect{|p| p.name + "<br/>"}
13
- else
14
- rvalue = %{<ul id="all_permissions" class="checklist">}
15
- @all_permissions.each_with_index do |perm,i|
16
- bg = ( i % 2 == 0 ) ? "even" : "odd"
17
- input_id = "perm_#{perm.id}"
18
- checked = (@user_group.permission_ids.include?(perm.id) ? "checked" : "")
19
- bg << "_" << checked if checked.length > 0
20
- rvalue << <<-HTML
21
- <li class="#{bg}">
22
- <label id="lbl_#{input_id}" for="#{input_id}" onclick="do_highlight('#{input_id}')">
23
- <input id="#{input_id}" name="#{input_id}" type="checkbox" #{checked}/>&nbsp;&nbsp;#{perm.name}
24
- </label>
25
- </li>
26
- HTML
27
- end
28
- rvalue << "</ul>"
29
- end
30
- end
31
-
32
- def user_group_users_value
33
- @user_group.all_users.collect{|u| link_to_or_show(u.full_name, u)}.join("<br/>")
34
- end
35
- end
@@ -1,78 +0,0 @@
1
- module UsersHelper
2
- def profile_first_name_value
3
- if @action_name == "show"
4
- h @profile.first_name
5
- else
6
- text_field_tag "profile[first_name]", @profile.first_name
7
- end
8
- end
9
-
10
- def profile_last_name_value
11
- if @action_name == "show"
12
- h @profile.last_name
13
- else
14
- text_field_tag "profile[last_name]", @profile.last_name
15
- end
16
- end
17
-
18
- def profile_email_value
19
- if @action_name == "show"
20
- h @profile.email
21
- else
22
- text_field_tag "profile[email]", @profile.email
23
- end
24
- end
25
-
26
- def user_login_value
27
- if @action_name == "show"
28
- h @user.login
29
- else
30
- text_field_tag "user[login]", @user.login
31
- end
32
- end
33
-
34
- def user_password_value
35
- if @action_name == "show"
36
- h "Hidden for security..."
37
- else
38
- %{<input autocomplete="off" type="password" name="user[password]" id="user_password"/>}
39
- end
40
- end
41
-
42
- def user_password_confirmation_value
43
- if @action_name == "show"
44
- h "Hidden for security..."
45
- else
46
- %{<input autocomplete="off" type="password" name="user[password_confirmation]" id="user_password_confirmation"/>}
47
- end
48
- end
49
-
50
- def user_user_groups_value
51
- if @action_name == "show"
52
- @user.user_groups.collect{|ug| ug.name + "<br/>"}
53
- else
54
- rvalue = %{<ul id="all_user_groups" class="checklist">}
55
- #
56
- # Restrict user group list to the list of the current user.
57
- # This prevents a user from creating someone with more access than
58
- # him/herself.
59
- #
60
- @user_groups_for_user.each_with_index do |ug,i|
61
- bg = ( i % 2 == 0 ) ? "even" : "odd"
62
- input_id = "ug_#{ug.id}"
63
- checked = (@user.user_group_ids.include?(ug.id) ? "checked" : "")
64
- bg << "_" << checked if checked.length > 0
65
- rvalue << <<-HTML
66
- <li class="#{bg}">
67
- <label id="lbl_#{input_id}" for="#{input_id}" onclick="do_highlight('#{input_id}')">
68
- <input id="#{input_id}" name="#{input_id}" type="checkbox" #{checked}/>&nbsp;&nbsp;#{ug.name}
69
- </label>
70
- </li>
71
- HTML
72
- end
73
- rvalue << "</ul>"
74
- end
75
- end
76
-
77
-
78
- end
@@ -1,13 +0,0 @@
1
- class Permission < ActiveRecord::Base
2
- has_and_belongs_to_many :user_groups
3
-
4
- def all_users
5
- User.find_by_sql <<-SQL
6
- select users.*
7
- from users, user_groups_users, permissions_user_groups
8
- where users.id = user_groups_users.user_id
9
- and user_groups_users.user_group_id = permissions_user_groups.user_group_id
10
- and permissions_user_groups.permission_id = #{self.id}
11
- SQL
12
- end
13
- end
@@ -1,10 +0,0 @@
1
- class Profile < ActiveRecord::Base
2
- SYSTEM = 1
3
-
4
- validates_presence_of :email, :first_name, :last_name
5
-
6
- validates_length_of :email, :within => 5..100
7
- validates_format_of :email, :with => /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\Z/i
8
-
9
- validates_uniqueness_of :email, :case_sensitive => false
10
- end
@@ -1,72 +0,0 @@
1
- require 'digest/sha1'
2
- class User < ActiveRecord::Base
3
- has_and_belongs_to_many :user_groups
4
- belongs_to :profile
5
-
6
- # Virtual attributes
7
- attr_accessor :password
8
-
9
- validates_presence_of :login
10
- validates_presence_of :password, :if => :password_required?
11
- validates_presence_of :password_confirmation, :if => :password_required?
12
- validates_length_of :password, :within => 4..40, :if => :password_required?
13
- validates_confirmation_of :password, :if => :password_required?
14
- validates_length_of :login, :within => 3..40
15
- validates_uniqueness_of :login, :case_sensitive => false
16
-
17
- validates_presence_of :profile
18
- validates_associated :profile
19
-
20
- before_save :prepare_for_save
21
-
22
- attr_accessible :login, :password, :password_confirmation
23
-
24
- # Authenticates a user by their login name and unencrypted password.
25
- # Returns the user or nil.
26
- def self.authenticate(login, password)
27
- u = find :first, :conditions => ['login = ?', login] # need to get the salt
28
- u && u.authenticated?(password) ? u : nil
29
- end
30
-
31
- # Encrypts some data with the salt.
32
- def self.encrypt(password, salt)
33
- Digest::SHA1.hexdigest("--#{salt}--#{password}--")
34
- end
35
-
36
- # Encrypts the password with the user salt
37
- def encrypt(password)
38
- self.class.encrypt(password, salt)
39
- end
40
-
41
- def authenticated?(password)
42
- crypted_password == encrypt(password)
43
- end
44
-
45
- def email
46
- self.profile.email
47
- end
48
-
49
- def full_name
50
- self.profile.first_name + " " + self.profile.last_name
51
- end
52
-
53
- protected
54
-
55
- def prepare_for_save
56
- encrypt_password
57
- self.profile.save
58
- end
59
-
60
- def encrypt_password
61
- return if password.blank?
62
- if new_record?
63
- self.salt = Digest::SHA1.hexdigest("--#{Time.now.to_s}--#{login}--")
64
- end
65
- self.crypted_password = encrypt(password)
66
- end
67
-
68
- def password_required?
69
- (crypted_password.blank? || !password.blank?)
70
- end
71
-
72
- end
@@ -1,15 +0,0 @@
1
- class UserGroup < ActiveRecord::Base
2
- has_and_belongs_to_many :permissions
3
- has_and_belongs_to_many :users
4
-
5
- validates_presence_of :name
6
-
7
- def all_users
8
- User.find_by_sql <<-SQL
9
- select users.*
10
- from users, user_groups_users
11
- where users.id = user_groups_users.user_id
12
- and user_groups_users.user_group_id = #{self.id}
13
- SQL
14
- end
15
- end
@@ -1,13 +0,0 @@
1
- <p>
2
- <b>Name</b><br />
3
- <%= permission_name_value %>
4
- </p>
5
- <p>
6
- <b>Access rights:</b><br />
7
- <%= permission_access_rights_value %>
8
- </p>
9
- <p>
10
- <b>Users with permission:</b><br />
11
- <%= permission_users_value %>
12
- </p>
13
-
@@ -1,16 +0,0 @@
1
- <h1>Listing Permissions</h1>
2
-
3
- <table>
4
- <tr>
5
- <th>Name</th>
6
- </tr>
7
-
8
- <% for permission in @permissions %>
9
- <tr>
10
- <td><%=h permission.name %></td>
11
- <td><%= link_to 'Show', permission %></td>
12
- </tr>
13
- <% end %>
14
- </table>
15
-
16
- <br />
@@ -1,3 +0,0 @@
1
- <%= render :partial => "data", :locals => {:f => nil} %>
2
-
3
- <%= link_to 'Back', permissions_path %>
@@ -1,12 +0,0 @@
1
- <%= flash[:notice] if flash[:notice] %>
2
- <%= flash[:error] if flash[:error] %>
3
-
4
- <% form_tag sessions_path do -%>
5
- <p><label for="login">Login</label><br/>
6
- <%= text_field_tag 'login' %></p>
7
-
8
- <p><label for="password">Password</label><br/>
9
- <%= password_field_tag 'password' %></p>
10
-
11
- <p><%= submit_tag 'Log in' %></p>
12
- <% end -%>
@@ -1,44 +0,0 @@
1
- <!--
2
- take the style block out. this is duplicated in users/_data.html.erb
3
- without this, the user group selection is just no good
4
- -->
5
- <style>
6
- .checklist{
7
- overflow: auto;
8
- border: 1px solid #ccc;
9
- list-style: none;
10
- height: 300px;
11
- text-align: left;
12
- list-style: none;
13
- margin-left: 12px;
14
- }
15
-
16
- .checklist li{
17
- padding-left: 6px;
18
- }
19
-
20
- li.even_checked,
21
- li.even{
22
- background: #DFDFDF;
23
- }
24
-
25
- li.even_checked,
26
- li.odd_checked{
27
- color: red;
28
- }
29
- </style>
30
-
31
- <p>
32
- <b>Name</b><br />
33
- <%= user_group_name_value %>
34
- </p>
35
- <p>
36
- <b>Permissions</b><br />
37
- <%= user_group_permissions_value %>
38
- </p>
39
- <% if @action_name == "show" %>
40
- <p>
41
- <b>Users in user group:</b><br />
42
- <%= user_group_users_value %>
43
- </p>
44
- <% end%>
@@ -1,11 +0,0 @@
1
- <%
2
- submit_label = "Update"
3
- submit_label = "Create" if @user_group.new_record?
4
- -%>
5
-
6
- <%= error_messages_for :user_group %>
7
-
8
- <% form_for(@user_group) do |f| %>
9
- <%= render :partial => "data", :locals => {:f => f} %>
10
- <p> <%= f.submit submit_label %> </p>
11
- <% end %>
@@ -1,6 +0,0 @@
1
- <h1>Editing Usergroup</h1>
2
-
3
- <%= render :partial => "form" %>
4
-
5
- <%= link_to 'Show', @user_group %> |
6
- <%= link_to 'Back', user_groups_path %>
@@ -1,20 +0,0 @@
1
- <h1>Listing User Groups</h1>
2
-
3
- <table>
4
- <tr>
5
- <th>Name</th>
6
- </tr>
7
-
8
- <% for user_group in @user_groups %>
9
- <tr>
10
- <td><%=h user_group.name %></td>
11
- <td><%= link_to 'Show', user_group %></td>
12
- <td><%= link_to('Edit', edit_user_group_path(user_group)) unless Lockdown::System.has_user_group?(user_group) %></td>
13
- <td><%= link_to('Destroy', user_group, :confirm => 'Are you sure?', :method => :delete) unless Lockdown::System.has_user_group?(user_group) %></td>
14
- </tr>
15
- <% end %>
16
- </table>
17
-
18
- <br />
19
-
20
- <%= link_to 'New User Group', new_user_group_path %>
@@ -1,5 +0,0 @@
1
- <h1>New Usergroup</h1>
2
-
3
- <%= render :partial => "form" %>
4
-
5
- <%= link_to 'Back', user_groups_path %>
@@ -1,6 +0,0 @@
1
- <%= render :partial => "data", :locals => {:f => nil} %>
2
-
3
- <% unless Lockdown::System.has_user_group?(@user_group) %>
4
- <%= link_to 'Edit', edit_user_group_path(@user_group) %> |
5
- <% end %>
6
- <%= link_to 'Back', user_groups_path %>