ae_users_legacy 0.6.3
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/LICENSE +20 -0
- data/README +47 -0
- data/Rakefile +49 -0
- data/VERSION +1 -0
- data/ae_users_legacy.gemspec +126 -0
- data/app/controllers/account_controller.rb +167 -0
- data/app/controllers/auth_controller.rb +202 -0
- data/app/controllers/permission_controller.rb +172 -0
- data/app/helpers/account_helper.rb +2 -0
- data/app/helpers/auth_helper.rb +5 -0
- data/app/helpers/permission_helper.rb +2 -0
- data/app/models/account.rb +50 -0
- data/app/models/auth_notifier.rb +34 -0
- data/app/models/auth_ticket.rb +39 -0
- data/app/models/email_address.rb +17 -0
- data/app/models/login.rb +23 -0
- data/app/models/open_id_identity.rb +5 -0
- data/app/models/permission.rb +57 -0
- data/app/models/person.rb +156 -0
- data/app/models/role.rb +7 -0
- data/app/views/account/_personal_info.rhtml +35 -0
- data/app/views/account/_procon_profile.rhtml +3 -0
- data/app/views/account/_signup_form.html.erb +39 -0
- data/app/views/account/activate.rhtml +6 -0
- data/app/views/account/activation_error.rhtml +11 -0
- data/app/views/account/change_password.rhtml +3 -0
- data/app/views/account/edit_profile.rhtml +117 -0
- data/app/views/account/signup.rhtml +9 -0
- data/app/views/account/signup_noactivation.rhtml +7 -0
- data/app/views/account/signup_success.rhtml +8 -0
- data/app/views/auth/_auth_form.rhtml +54 -0
- data/app/views/auth/_forgot_form.html.erb +12 -0
- data/app/views/auth/_mini_auth_form.rhtml +17 -0
- data/app/views/auth/_openid_auth_form.html.erb +14 -0
- data/app/views/auth/_other_login_options.html.erb +24 -0
- data/app/views/auth/auth_form.js.erb +62 -0
- data/app/views/auth/forgot.rhtml +3 -0
- data/app/views/auth/forgot_form.rhtml +6 -0
- data/app/views/auth/index.css.erb +23 -0
- data/app/views/auth/login.rhtml +6 -0
- data/app/views/auth/needs_activation.rhtml +6 -0
- data/app/views/auth/needs_person.html.erb +32 -0
- data/app/views/auth/needs_profile.rhtml +14 -0
- data/app/views/auth/openid_login.html.erb +6 -0
- data/app/views/auth/resend_activation.rhtml +3 -0
- data/app/views/auth_notifier/account_activation.rhtml +13 -0
- data/app/views/auth_notifier/generated_password.rhtml +10 -0
- data/app/views/permission/_add_grantee.rhtml +47 -0
- data/app/views/permission/_role_member.rhtml +8 -0
- data/app/views/permission/_show.rhtml +81 -0
- data/app/views/permission/_userpicker.rhtml +0 -0
- data/app/views/permission/add_role_member.rhtml +3 -0
- data/app/views/permission/admin.rhtml +45 -0
- data/app/views/permission/edit.rhtml +9 -0
- data/app/views/permission/edit_role.rhtml +63 -0
- data/app/views/permission/grant.rhtml +10 -0
- data/db/migrate/002_create_accounts.rb +17 -0
- data/db/migrate/003_create_email_addresses.rb +17 -0
- data/db/migrate/004_create_people.rb +24 -0
- data/db/migrate/013_simplify_signup.rb +15 -0
- data/db/migrate/014_create_permissions.rb +16 -0
- data/db/migrate/015_create_roles.rb +18 -0
- data/db/migrate/016_refactor_people.rb +36 -0
- data/db/migrate/017_people_permissions.rb +9 -0
- data/generators/ae_users/USAGE +14 -0
- data/generators/ae_users/ae_users_generator.rb +12 -0
- data/generators/ae_users/templates/add.png +0 -0
- data/generators/ae_users/templates/admin.png +0 -0
- data/generators/ae_users/templates/group.png +0 -0
- data/generators/ae_users/templates/logout.png +0 -0
- data/generators/ae_users/templates/migration.rb +25 -0
- data/generators/ae_users/templates/openid.gif +0 -0
- data/generators/ae_users/templates/remove.png +0 -0
- data/generators/ae_users/templates/user.png +0 -0
- data/init.rb +1 -0
- data/install.rb +1 -0
- data/lib/ae_users.rb +687 -0
- data/rails/init.rb +17 -0
- data/tasks/ae_users_tasks.rake +4 -0
- data/test/ae_users_test.rb +8 -0
- data/uninstall.rb +1 -0
- metadata +177 -0
@@ -0,0 +1,117 @@
|
|
1
|
+
<h1>Edit your profile</h1>
|
2
|
+
|
3
|
+
<style type="text/css">
|
4
|
+
form {
|
5
|
+
max-width: 640px;
|
6
|
+
}
|
7
|
+
</style>
|
8
|
+
|
9
|
+
<% if @person.account -%>
|
10
|
+
<% form_for("password", nil, :url => {:action => 'change_password'},
|
11
|
+
:html => {:id => 'change_password_form'}) do |f| %>
|
12
|
+
<h2>Change password</h2>
|
13
|
+
<table>
|
14
|
+
<tr>
|
15
|
+
<th style="text-align: right;">
|
16
|
+
<label for="password_password1">New password</label>
|
17
|
+
</th>
|
18
|
+
<td>
|
19
|
+
<%= f.password_field "password1", :label => "New password" %>
|
20
|
+
</td>
|
21
|
+
</tr>
|
22
|
+
<tr>
|
23
|
+
<th style="text-align: right;">
|
24
|
+
<label for="password_password2">Confirm new password</label>
|
25
|
+
</th>
|
26
|
+
<td>
|
27
|
+
<%= f.password_field "password2", :label => "New password" %>
|
28
|
+
</td>
|
29
|
+
</tr>
|
30
|
+
</table>
|
31
|
+
<p>
|
32
|
+
<%= submit_tag "Change password" %>
|
33
|
+
</p>
|
34
|
+
<% end %>
|
35
|
+
<% end -%>
|
36
|
+
|
37
|
+
<h2>OpenID Identities</h2>
|
38
|
+
|
39
|
+
<p>OpenID is a free and easy way to use a single digital identity across the Internet. For more information,
|
40
|
+
<%= link_to "visit the OpenID web site", "http://www.openid.net" %>.</p>
|
41
|
+
|
42
|
+
<table>
|
43
|
+
<% @person.open_id_identities.each do |id| -%>
|
44
|
+
<tr>
|
45
|
+
<td></td>
|
46
|
+
<td>
|
47
|
+
<%= image_tag "ae_users/openid.gif" %>
|
48
|
+
<i><%=h id.identity_url %></i>
|
49
|
+
</td>
|
50
|
+
<td><%= button_to "Delete", {:action => "delete_openid", :id => id.id}, {:confirm => "Are you sure you wish to remove this OpenID?"} %></td>
|
51
|
+
</tr>
|
52
|
+
<% end -%>
|
53
|
+
<tr>
|
54
|
+
<% form_for("add_openid", nil, :url => {:action => "add_openid"}) do |f| -%>
|
55
|
+
<td>Add new OpenID:</td>
|
56
|
+
<td><%= text_field_tag "openid_url", @openid_url, :style => "background: #FFFFFF url('#{image_path "ae_users/openid.gif"}') no-repeat scroll 0pt 50%; padding-left: 18px; width: 60%;" %></td>
|
57
|
+
<td><%= submit_tag "Add" %></td>
|
58
|
+
<% end -%>
|
59
|
+
</tr>
|
60
|
+
</table>
|
61
|
+
|
62
|
+
<% form_for("email_addresses", nil, :url => {:action => 'edit_email_addresses'},
|
63
|
+
:html => {:id => 'edit_email_addresses_form'}) do |f| %>
|
64
|
+
|
65
|
+
<h2>Edit email addresses</h2>
|
66
|
+
|
67
|
+
<p>Note: every account must have one "primary" email address. This is the one the site will use
|
68
|
+
to send you email (for example, if you forget your password).</p>
|
69
|
+
|
70
|
+
<table>
|
71
|
+
<tr>
|
72
|
+
<th></th>
|
73
|
+
<th>Address</th>
|
74
|
+
<th>Primary</th>
|
75
|
+
<th>Delete</th>
|
76
|
+
</tr>
|
77
|
+
<% @person.email_addresses.each do |addr| -%>
|
78
|
+
<tr>
|
79
|
+
<td></td>
|
80
|
+
<td>
|
81
|
+
<i><%= addr.address %></i>
|
82
|
+
</td>
|
83
|
+
<td>
|
84
|
+
<%= radio_button_tag "primary", addr.id, addr.primary %>
|
85
|
+
</td>
|
86
|
+
<td>
|
87
|
+
<%= check_box_tag "delete", addr.id %>
|
88
|
+
</td>
|
89
|
+
</tr>
|
90
|
+
<% end -%>
|
91
|
+
<tr>
|
92
|
+
<td>Add new address:</td>
|
93
|
+
<td>
|
94
|
+
<%= text_field_tag "new_address", "", :style => "width: 100%" %>
|
95
|
+
</td>
|
96
|
+
<td>
|
97
|
+
<%= radio_button_tag "primary", "new" %>
|
98
|
+
</td>
|
99
|
+
</tr>
|
100
|
+
</table>
|
101
|
+
<%= submit_tag "Edit email addresses" %>
|
102
|
+
<% end %>
|
103
|
+
|
104
|
+
<% form_for("person", @person, :url => {:action => 'edit_profile'},
|
105
|
+
:html => {:id => 'edit_profile_form'}) do |f| %>
|
106
|
+
<%= render :partial => 'personal_info', :locals => {:f => f} %>
|
107
|
+
<% if @app_profile -%>
|
108
|
+
|
109
|
+
<% form_for("app_profile", @app_profile) do |profile_form| %>
|
110
|
+
<%= render :partial => "account/#{@app_profile.class.name.tableize.singularize}",
|
111
|
+
:locals => {:f => profile_form}%>
|
112
|
+
<%= submit_tag "Edit profile" %>
|
113
|
+
<% end %>
|
114
|
+
<% else -%>
|
115
|
+
<%= submit_tag "Edit profile" %>
|
116
|
+
<% end -%>
|
117
|
+
<% end %>
|
@@ -0,0 +1,9 @@
|
|
1
|
+
<% form_for("person", @person, :url => {:action => 'signup'},
|
2
|
+
:html => {:id => 'signup_form'}) do |f| -%>
|
3
|
+
|
4
|
+
<h1>Sign up</h1>
|
5
|
+
<p>Thanks for creating an account! We just need a few pieces of information from you before we can complete your
|
6
|
+
signup process.</p>
|
7
|
+
|
8
|
+
<%= render :partial => 'signup_form', :locals => { :f => f } %>
|
9
|
+
<% end -%>
|
@@ -0,0 +1,7 @@
|
|
1
|
+
<h1>Signup Complete</h1>
|
2
|
+
|
3
|
+
<p>Thanks for signing up! Your account has been created, <b>but there was an error attempting to send you an
|
4
|
+
activation email</b>. (This is not your problem, it's ours.)</p>
|
5
|
+
|
6
|
+
<p>Your account has therefore been activated immediately. You can use the form in the upper right-hand corner
|
7
|
+
of the page to log in.</p>
|
@@ -0,0 +1,8 @@
|
|
1
|
+
<h1>Signup Complete</h1>
|
2
|
+
|
3
|
+
<p>Thanks for signing up! Your account has been created, <b>but we still need you to activate it</b> in order to
|
4
|
+
verify that the email address you entered really belongs to you. We've sent an activation email to the address
|
5
|
+
you entered, and when you receive it, please follow the link in that message to activate
|
6
|
+
your account.</p>
|
7
|
+
|
8
|
+
<p>If you don't get the activation email, please contact the site administrators to let them know.</p>
|
@@ -0,0 +1,54 @@
|
|
1
|
+
<%= auth_stylesheet %>
|
2
|
+
|
3
|
+
<% form_for('login', @login, :url => {:action => 'login', :controller => 'auth'},
|
4
|
+
:html => {:class => 'auth_form'} ) do |f| -%>
|
5
|
+
<% if not logged_in? %>
|
6
|
+
<script type="text/javascript" src="<%=url_for :controller => 'auth', :action => "auth_form",
|
7
|
+
:format => "js", :openid_url => params[:openid_url] %>"></script>
|
8
|
+
|
9
|
+
<%= f.hidden_field "return_to" %>
|
10
|
+
|
11
|
+
<p>
|
12
|
+
<label for="login_email" class="block">Email address</label>
|
13
|
+
<%= text_field "login", "email", :tabindex => 1%>
|
14
|
+
</p>
|
15
|
+
|
16
|
+
<% if AeUsers.signup_allowed? -%>
|
17
|
+
<p>
|
18
|
+
<label class="block">Do you have a password?</label>
|
19
|
+
<%= f.radio_button "have_password", "false" %> <label for="login_have_password_false">No, I am a new user.</label>
|
20
|
+
<br/>
|
21
|
+
<%= f.radio_button "have_password", "true" %> <label for="login_have_password_true">Yes, my password is:</label>
|
22
|
+
<div style="margin-left: 2em; margin-top: 0; padding-top: 0;">
|
23
|
+
<%= password_field "login", "password" %>
|
24
|
+
</div>
|
25
|
+
</p>
|
26
|
+
<% else -%>
|
27
|
+
<p>
|
28
|
+
<label for="password" class="block">Password</label>
|
29
|
+
<%= password_field "login", "password", :tabindex => 2 %>
|
30
|
+
</p>
|
31
|
+
<% end -%>
|
32
|
+
|
33
|
+
<p style="text-align: center;">
|
34
|
+
<%= submit_tag "Log in", :style => "width: 20%; display: inline" %>
|
35
|
+
</p>
|
36
|
+
|
37
|
+
<% else %>
|
38
|
+
<div style="text-align: right; margin-right: 1em;">
|
39
|
+
<p>You are currently logged in as <%= logged_in_person.name %>.</p>
|
40
|
+
<p>
|
41
|
+
<% if logged_in_person.administrator? -%>
|
42
|
+
<%= image_tag "ae_users/admin.png" %>
|
43
|
+
<%= link_to "Administration", :controller => 'permission', :action => 'admin' %>
|
44
|
+
<span style="margin-right: 1em;"> </span>
|
45
|
+
<% end -%>
|
46
|
+
<%= image_tag "ae_users/user.png" %>
|
47
|
+
<%= link_to "Edit profile", :controller => 'account', :action => 'edit_profile' %>
|
48
|
+
<span style="margin-right: 1em;"> </span>
|
49
|
+
<%= image_tag "ae_users/logout.png" %>
|
50
|
+
<%= link_to "Log out", :controller => :auth, :action => :logout %>
|
51
|
+
</p>
|
52
|
+
</div>
|
53
|
+
<% end %>
|
54
|
+
<% end -%>
|
@@ -0,0 +1,12 @@
|
|
1
|
+
<%= auth_stylesheet %>
|
2
|
+
|
3
|
+
<% form_for "forgot", @forgot, :url => {:action => 'forgot', :controller => 'auth'},
|
4
|
+
:html => {:id => 'forgot_form', :style => 'max-width: 400px;', :class => 'auth_form'} do |f| %>
|
5
|
+
|
6
|
+
<label for="email" class="block">Email address:</label>
|
7
|
+
<%= text_field_tag "email" %>
|
8
|
+
|
9
|
+
<p style="text-align: center;">
|
10
|
+
<%= submit_tag "Email me a new password", :style => "width: 90%; display: inline" %>
|
11
|
+
</p>
|
12
|
+
<% end %>
|
@@ -0,0 +1,17 @@
|
|
1
|
+
<div class="authbox">
|
2
|
+
<% if logged_in? -%>
|
3
|
+
<%= image_tag('ae_users/user.png') %>
|
4
|
+
<%= link_to logged_in_person.name,
|
5
|
+
:controller => 'account', :action => 'edit_profile' %>
|
6
|
+
<% if logged_in_person.administrator? -%>
|
7
|
+
|
|
8
|
+
<%= image_tag "ae_users/admin.png" %>
|
9
|
+
<%= link_to "Administration", :controller => 'permission', :action => 'admin' %>
|
10
|
+
<% end -%>
|
11
|
+
|
|
12
|
+
<%= image_tag "ae_users/logout.png" %>
|
13
|
+
<%= link_to "Log out", :controller => 'auth', :action => 'logout' %>
|
14
|
+
<% else -%>
|
15
|
+
<%= link_to "Log in", :controller => 'auth', :action => 'login', :return_to => url_for() %>
|
16
|
+
<% end -%>
|
17
|
+
</div>
|
@@ -0,0 +1,14 @@
|
|
1
|
+
<%= auth_stylesheet %>
|
2
|
+
|
3
|
+
<% form_for('login', @login, :url => {:action => 'openid_login', :controller => 'auth'},
|
4
|
+
:html => {:class => 'auth_form'} ) do |f| -%>
|
5
|
+
|
6
|
+
<%= f.hidden_field "return_to" %>
|
7
|
+
|
8
|
+
<label for="openid_url" class="block">OpenID</label>
|
9
|
+
<%= text_field_tag "openid_url" %>
|
10
|
+
|
11
|
+
<p style="text-align: center;">
|
12
|
+
<%= submit_tag "Log in with OpenID", :style => "width: 50%; display: inline" %>
|
13
|
+
</p>
|
14
|
+
<% end -%>
|
@@ -0,0 +1,24 @@
|
|
1
|
+
<% unless logged_in? -%>
|
2
|
+
<ul id="other_login_options">
|
3
|
+
<% if params[:action] == "login" -%>
|
4
|
+
<li>
|
5
|
+
<%= link_to "I forgot my password", :controller => "auth", :action => "forgot_form" %>
|
6
|
+
</li>
|
7
|
+
<% end -%>
|
8
|
+
<% if params[:action] == "openid_login" -%>
|
9
|
+
<li>
|
10
|
+
<%= link_to "What's OpenID?", "http://www.openid.net", :target => "_blank" %>
|
11
|
+
</li>
|
12
|
+
<% end -%>
|
13
|
+
<% unless params[:action] == "openid_login" -%>
|
14
|
+
<li>
|
15
|
+
<%= link_to "Log in with OpenID", :controller => "auth", :action => "openid_login", :return_to => @login.return_to %>
|
16
|
+
</li>
|
17
|
+
<% end -%>
|
18
|
+
<% unless params[:action] == "login" -%>
|
19
|
+
<li>
|
20
|
+
<%= link_to "Log in with a password", :controller => "auth", :action => "login", :return_to => @login.return_to %>
|
21
|
+
</li>
|
22
|
+
<% end -%>
|
23
|
+
</ul>
|
24
|
+
<% end -%>
|
@@ -0,0 +1,62 @@
|
|
1
|
+
<% if AeUsers.js_framework == "jquery" -%>
|
2
|
+
function chooseHavePassword() {
|
3
|
+
val = jQuery('.auth_form input[name="login[have_password]"]:checked').val();
|
4
|
+
var $password = jQuery('.auth_form input[name="login[password]"]');
|
5
|
+
$password.val("");
|
6
|
+
|
7
|
+
if (val == "true") {
|
8
|
+
$password.attr('disabled', '');
|
9
|
+
$password.focus();
|
10
|
+
} else {
|
11
|
+
$password.attr('disabled', 'disabled');
|
12
|
+
}
|
13
|
+
}
|
14
|
+
|
15
|
+
function emailKeyPressListener(event) {
|
16
|
+
if (event.keyCode == 9) {
|
17
|
+
jQuery('.auth_form input[name="login[have_password]"][value="true"]').attr('checked', 'checked');
|
18
|
+
chooseHavePassword();
|
19
|
+
return false;
|
20
|
+
}
|
21
|
+
}
|
22
|
+
|
23
|
+
jQuery(document).ready(function () {
|
24
|
+
<% if (params[:login] and params[:login][:password]) -%>
|
25
|
+
jQuery('.auth_form input[name="login[have_password]"][value="false"]').attr('checked', 'checked');
|
26
|
+
<% end -%>
|
27
|
+
chooseHavePassword();
|
28
|
+
jQuery('.auth_form input[name="login[have_password]"]').bind('change', chooseHavePassword);
|
29
|
+
jQuery('.auth_form input[name="login[email]"]').bind('keydown', emailKeyPressListener);
|
30
|
+
});
|
31
|
+
<% else -%>
|
32
|
+
function chooseHavePassword() {
|
33
|
+
val = $('login_have_password_true').checked;
|
34
|
+
password = $('login_password');
|
35
|
+
password.value = "";
|
36
|
+
|
37
|
+
if (val) {
|
38
|
+
password.disabled = false;
|
39
|
+
password.focus();
|
40
|
+
} else {
|
41
|
+
password.disabled = true;
|
42
|
+
}
|
43
|
+
}
|
44
|
+
|
45
|
+
function emailKeyPressListener(event) {
|
46
|
+
if (event.keyCode == 9) {
|
47
|
+
$('login_have_password_true').checked = true;
|
48
|
+
chooseHavePassword();
|
49
|
+
Event.stop(event);
|
50
|
+
}
|
51
|
+
}
|
52
|
+
|
53
|
+
Event.observe(window, 'load', function () {
|
54
|
+
<% if (params[:login] and params[:login][:password]) -%>
|
55
|
+
$('login_have_password_true').checked = true;
|
56
|
+
<% end -%>
|
57
|
+
chooseHavePassword();
|
58
|
+
$('login_have_password_true').observe('change', chooseHavePassword);
|
59
|
+
$('login_have_password_false').observe('change', chooseHavePassword);
|
60
|
+
$('login_email').observe('keydown', emailKeyPressListener);
|
61
|
+
});
|
62
|
+
<% end -%>
|
@@ -0,0 +1,23 @@
|
|
1
|
+
.auth_form {
|
2
|
+
margin-left: 0.5em;
|
3
|
+
width: 300px;
|
4
|
+
}
|
5
|
+
.auth_form input {
|
6
|
+
width: 100%;
|
7
|
+
}
|
8
|
+
.auth_form input[type=radio], .auth_form input[type=checkbox] {
|
9
|
+
width: auto;
|
10
|
+
}
|
11
|
+
.auth_form label.block {
|
12
|
+
margin-left: -0.5em;
|
13
|
+
font-weight: bold;
|
14
|
+
display: block;
|
15
|
+
}
|
16
|
+
#openid_url {
|
17
|
+
background-color: #fff;
|
18
|
+
background-image: url(<%= image_path "ae_users/openid.gif" %>);
|
19
|
+
background-position: left;
|
20
|
+
background-repeat: no-repeat;
|
21
|
+
padding-left: 18px;
|
22
|
+
width: 90%;
|
23
|
+
}
|
@@ -0,0 +1,6 @@
|
|
1
|
+
<h1>Account not activated</h1>
|
2
|
+
|
3
|
+
<p>That account hasn't been activated yet. If you want to try resending the activation email (because you
|
4
|
+
didn't receive it, or accidentally deleted it), click the button below.</p>
|
5
|
+
|
6
|
+
<p><%= button_to "Resend activation email", :action => 'resend_activation', :account => params[:account], :email => params[:email] %></p>
|
@@ -0,0 +1,32 @@
|
|
1
|
+
<h2>Welcome!</h2>
|
2
|
+
|
3
|
+
<p>This is the first time you've visited this site. We just need a few pieces of information
|
4
|
+
from you before we can log you in. We've attempted to get as much of it as possible from your
|
5
|
+
OpenID provider, but some of it may be missing and/or incorrect. Please check the following form
|
6
|
+
before pressing "Save changes" below.</p>
|
7
|
+
|
8
|
+
<%= auth_stylesheet %>
|
9
|
+
|
10
|
+
<% form_for("person", @person, :url => {:action => 'needs_person'},
|
11
|
+
:html => {:id => 'edit_profile_form', :style => "max-width: 800px;"}) do |f| %>
|
12
|
+
<%= hidden_field_tag "return_to", params[:return_to] %>
|
13
|
+
<%= render :partial => 'account/personal_info', :locals => {:f => f} %>
|
14
|
+
|
15
|
+
<p>
|
16
|
+
<label for="email" class="block">Email:</label>
|
17
|
+
<%= text_field_tag "email", params[:email] %>
|
18
|
+
</p>
|
19
|
+
|
20
|
+
<% if @app_profile -%>
|
21
|
+
|
22
|
+
<% form_for("app_profile", @app_profile) do |profile_form| %>
|
23
|
+
<%= render :partial => "account/#{@app_profile.class.name.tableize.singularize}",
|
24
|
+
:locals => {:f => profile_form}%>
|
25
|
+
<label></label>
|
26
|
+
<%= submit_tag %>
|
27
|
+
<% end %>
|
28
|
+
<% else -%>
|
29
|
+
<label></label>
|
30
|
+
<%= submit_tag %>
|
31
|
+
<% end -%>
|
32
|
+
<% end %>
|
@@ -0,0 +1,14 @@
|
|
1
|
+
<h1>Update your profile</h1>
|
2
|
+
|
3
|
+
<p>Hello! It appears this is the first time you've logged into this site. Before you log in,
|
4
|
+
please take a moment to update your personal information below.</p>
|
5
|
+
|
6
|
+
<%= auth_stylesheet %>
|
7
|
+
|
8
|
+
<% form_for("app_profile", @app_profile, :html => {:class => 'auth_form'}) do |profile_form| %>
|
9
|
+
<%= hidden_field_tag "return_to", params[:return_to] %>
|
10
|
+
<%= hidden_field_tag "person", @person.id %>
|
11
|
+
<%= render :partial => "account/#{@app_profile.class.name.tableize.singularize}",
|
12
|
+
:locals => {:f => profile_form}%>
|
13
|
+
<%= submit_tag "Update your profile" %>
|
14
|
+
<% end %>
|
@@ -0,0 +1,13 @@
|
|
1
|
+
Dear <%=@name%>,
|
2
|
+
|
3
|
+
Thank you for signing up for an account on <%=@server_name%>! There's just one more
|
4
|
+
step you need to do before you can use it: we need you to verify that this email address
|
5
|
+
belongs to you.
|
6
|
+
|
7
|
+
To do that, simply go to:
|
8
|
+
|
9
|
+
<%= url_for :only_path => false, :controller => "account", :action => "activate", :account => @account.id, :activation_key => @account.activation_key, :escape => false%>
|
10
|
+
|
11
|
+
Thanks again for signing up!
|
12
|
+
|
13
|
+
- The Management
|
@@ -0,0 +1,47 @@
|
|
1
|
+
<% if AeUsers.js_framework == "prototype" -%>
|
2
|
+
<ul style="list-style-type: none; padding-left: 0;">
|
3
|
+
<% for grantee in @grantees do -%>
|
4
|
+
<li granteeName="<%=h grantee.name %>">
|
5
|
+
<% if grantee.kind_of? Role -%>
|
6
|
+
<table>
|
7
|
+
<tr>
|
8
|
+
<td>
|
9
|
+
<%= image_tag "ae_users/group.png", :style => "float: left;" %>
|
10
|
+
<div class="grantee_id" style="display: none;"><%= grantee.class.name %>:<%= grantee.id %></div>
|
11
|
+
</td>
|
12
|
+
<td>
|
13
|
+
<b><%=h grantee.name %></b><br/>
|
14
|
+
<i><%=pluralize(grantee.people.count, "person")%></i>
|
15
|
+
</td>
|
16
|
+
</tr>
|
17
|
+
</table>
|
18
|
+
<% elsif grantee.kind_of? Person -%>
|
19
|
+
<table>
|
20
|
+
<tr>
|
21
|
+
<td>
|
22
|
+
<%= image_tag "ae_users/user.png", :style => "float: left;" %>
|
23
|
+
<div class="grantee_id" style="display: none;"><%= grantee.class.name %>:<%= grantee.id %></div>
|
24
|
+
</td>
|
25
|
+
<td>
|
26
|
+
<b><%=h grantee.name %></b><br/>
|
27
|
+
<i>
|
28
|
+
<% if grantee.primary_email_address.nil? -%>
|
29
|
+
No email address
|
30
|
+
<% else -%>
|
31
|
+
<%=h grantee.primary_email_address %>
|
32
|
+
<% end -%>
|
33
|
+
</td>
|
34
|
+
</tr>
|
35
|
+
</table>
|
36
|
+
<% end -%>
|
37
|
+
</li>
|
38
|
+
<% end -%>
|
39
|
+
</ul>
|
40
|
+
|
41
|
+
<% elsif AeUsers.js_framework == "jquery" -%>
|
42
|
+
|
43
|
+
<% for grantee in @grantees do -%>
|
44
|
+
<%=grantee.name %><% if grantee.kind_of? Role %> (<%= pluralize(grantee.people.count, "person") %>)<% end %>|<%=grantee.class.name %>:<%= grantee.id %>
|
45
|
+
<% end -%>
|
46
|
+
|
47
|
+
<% end -%>
|
@@ -0,0 +1,8 @@
|
|
1
|
+
<li id="person_<%=person.id%>"><%= image_tag "ae_users/user.png" %>
|
2
|
+
<%=h person.name %>
|
3
|
+
<%= link_to_remote "Remove",
|
4
|
+
{ :url => { :controller => "permission", :action => "remove_role_member", :id => person.id, :role => @role.id },
|
5
|
+
:success => "$('person_#{person.id}').remove();",
|
6
|
+
:confirm => "Are you sure you want to remove that member from this role?" },
|
7
|
+
{ :class => "permission_action" } %>
|
8
|
+
</li>
|
@@ -0,0 +1,81 @@
|
|
1
|
+
<style type="text/css">
|
2
|
+
div.auto_complete {
|
3
|
+
z-index: 1000;
|
4
|
+
}
|
5
|
+
|
6
|
+
.permission_action {
|
7
|
+
font-size: 80%;
|
8
|
+
text-transform: uppercase;
|
9
|
+
text-decoration: none;
|
10
|
+
color: #444;
|
11
|
+
background-color: #ffc;
|
12
|
+
}
|
13
|
+
</style>
|
14
|
+
<%= auto_complete_stylesheet %>
|
15
|
+
|
16
|
+
<% div_for item, :permissions do %>
|
17
|
+
<ul>
|
18
|
+
<% permission_names(item).each do |perm| -%>
|
19
|
+
<li><b><%=h(perm.to_s.humanize)%></b>:
|
20
|
+
<% grants = permission_grants(item, perm) -%>
|
21
|
+
<% if grants.length == 0 -%>
|
22
|
+
<% if all_permitted?(item, perm) -%>
|
23
|
+
everybody
|
24
|
+
<% elsif grants.length == 0 -%>
|
25
|
+
<span id="<%= perm %>_nobody">nobody</span>
|
26
|
+
<% end -%>
|
27
|
+
<% else -%>
|
28
|
+
<% grants.each_index do |i| -%>
|
29
|
+
<% grant = grants[i] -%>
|
30
|
+
<span id="grant_<%=grant.id%>">
|
31
|
+
<% if grant.grantee.kind_of? Role -%>
|
32
|
+
<%= image_tag "ae_users/group.png" %>
|
33
|
+
<% elsif grant.grantee.kind_of? Person -%>
|
34
|
+
<%= image_tag "ae_users/user.png" %>
|
35
|
+
<% end -%>
|
36
|
+
<% if grant.grantee -%>
|
37
|
+
<%= h(grant.grantee.name) %>
|
38
|
+
<% else -%>
|
39
|
+
Unknown entity
|
40
|
+
<% end -%>
|
41
|
+
<% if logged_in? and logged_in_person.permitted?(item, "change_permissions") and not (grant.grantee == logged_in_person) -%>
|
42
|
+
<%= link_to_remote "Remove",
|
43
|
+
{ :url => { :controller => "permission", :action => "revoke", :id => grant.id, :format => "js" },
|
44
|
+
:success => "$('grant_#{grant.id}').remove();",
|
45
|
+
:confirm => "Are you sure you want to revoke that permission?",
|
46
|
+
:failure => "alert(request.responseText)" },
|
47
|
+
{ :class => "permission_action" } %>
|
48
|
+
<% end -%>
|
49
|
+
|
50
|
+
<% if i < grants.length - 1 %>, <% end %>
|
51
|
+
</span>
|
52
|
+
<% end -%>
|
53
|
+
<% end -%>
|
54
|
+
<% if logged_in? and logged_in_person.permitted?(item, "change_permissions") -%>
|
55
|
+
<div id="<%= perm %>_insert_grants_here" style="display: inline;"></div>
|
56
|
+
| <span id="grant_open_<%=perm%>">
|
57
|
+
<%= link_to_function "Add", "$('grant_open_#{perm}').toggle(); $('grant_#{perm}').toggle(); $('#{perm}_grantee_shim').focus();",
|
58
|
+
:class => "permission_action" %>
|
59
|
+
</span>
|
60
|
+
<span id="grant_<%=perm %>" style="display: none;">
|
61
|
+
<%= link_to_function "«", "$('grant_open_#{perm}').toggle(); $('grant_#{perm}').toggle();",
|
62
|
+
:class => "permission_action" %>
|
63
|
+
<%= user_picker "#{perm}_grantee", :roles => true,
|
64
|
+
:callback => "nobody = $('#{perm}_nobody');
|
65
|
+
if (nobody) {
|
66
|
+
nobody.remove();
|
67
|
+
}
|
68
|
+
new Ajax.Updater('#{perm}_insert_grants_here', '#{url_for :controller => 'permission', :action => 'grant', :perm => full_permission_name(item, perm),
|
69
|
+
:item_klass => item.class.name, :item_id => item.id, :escape => false}',
|
70
|
+
{
|
71
|
+
parameters: { 'klass': klass, 'id': id },
|
72
|
+
insertion: Insertion.Bottom,
|
73
|
+
}
|
74
|
+
);" %>
|
75
|
+
</span>
|
76
|
+
<% end -%>
|
77
|
+
</li>
|
78
|
+
<% end -%>
|
79
|
+
</ul>
|
80
|
+
<% end %>
|
81
|
+
|
File without changes
|