radiant-reader-extension 0.9.2
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +2 -0
- data/README.md +89 -0
- data/Rakefile +140 -0
- data/VERSION +1 -0
- data/app/controllers/admin/messages_controller.rb +20 -0
- data/app/controllers/admin/reader_settings_controller.rb +92 -0
- data/app/controllers/admin/readers_controller.rb +28 -0
- data/app/controllers/password_resets_controller.rb +64 -0
- data/app/controllers/reader_action_controller.rb +84 -0
- data/app/controllers/reader_activations_controller.rb +60 -0
- data/app/controllers/reader_sessions_controller.rb +56 -0
- data/app/controllers/readers_controller.rb +131 -0
- data/app/helpers/admin/reader_settings_helper.rb +36 -0
- data/app/models/message.rb +108 -0
- data/app/models/message_function.rb +37 -0
- data/app/models/message_reader.rb +13 -0
- data/app/models/reader.rb +146 -0
- data/app/models/reader_notifier.rb +34 -0
- data/app/models/reader_session.rb +3 -0
- data/app/views/admin/messages/_form.html.haml +29 -0
- data/app/views/admin/messages/_help.html.haml +41 -0
- data/app/views/admin/messages/_message_description.html.haml +3 -0
- data/app/views/admin/messages/edit.html.haml +16 -0
- data/app/views/admin/messages/new.html.haml +16 -0
- data/app/views/admin/reader_settings/_setting.html.haml +24 -0
- data/app/views/admin/reader_settings/edit.html.haml +10 -0
- data/app/views/admin/reader_settings/index.html.haml +35 -0
- data/app/views/admin/reader_settings/show.html.haml +1 -0
- data/app/views/admin/readers/_avatar.html.haml +3 -0
- data/app/views/admin/readers/_form.html.haml +50 -0
- data/app/views/admin/readers/_list_head.html.haml +9 -0
- data/app/views/admin/readers/_listed.html.haml +22 -0
- data/app/views/admin/readers/_password_fields.html.haml +18 -0
- data/app/views/admin/readers/edit.html.haml +8 -0
- data/app/views/admin/readers/index.html.haml +17 -0
- data/app/views/admin/readers/new.html.haml +7 -0
- data/app/views/admin/readers/remove.html.haml +18 -0
- data/app/views/admin/sites/_choose_reader_layout.html.haml +7 -0
- data/app/views/password_resets/create.html.haml +13 -0
- data/app/views/password_resets/edit.html.haml +71 -0
- data/app/views/password_resets/new.html.haml +31 -0
- data/app/views/reader_activations/_activation_required.html.haml +34 -0
- data/app/views/reader_activations/_on_activation.html.haml +4 -0
- data/app/views/reader_activations/show.html.haml +41 -0
- data/app/views/reader_notifier/message.html.haml +1 -0
- data/app/views/reader_sessions/_login_form.html.haml +59 -0
- data/app/views/reader_sessions/new.html.haml +38 -0
- data/app/views/readers/_contributions.html.haml +2 -0
- data/app/views/readers/_controls.html.haml +25 -0
- data/app/views/readers/_extra_controls.html.haml +0 -0
- data/app/views/readers/_flasher.html.haml +6 -0
- data/app/views/readers/_form.html.haml +73 -0
- data/app/views/readers/create.html.haml +28 -0
- data/app/views/readers/edit.html.haml +47 -0
- data/app/views/readers/index.html.haml +16 -0
- data/app/views/readers/login.html.haml +15 -0
- data/app/views/readers/new.html.haml +41 -0
- data/app/views/readers/permission_denied.html.haml +23 -0
- data/app/views/readers/show.html.haml +35 -0
- data/app/views/wrappers/_field_errors.html.haml +5 -0
- data/config/routes.rb +22 -0
- data/config/settings.rb +9 -0
- data/db/migrate/001_create_readers.rb +31 -0
- data/db/migrate/002_extend_sites.rb +17 -0
- data/db/migrate/003_reader_honorifics.rb +12 -0
- data/db/migrate/004_user_readers.rb +11 -0
- data/db/migrate/005_last_login.rb +15 -0
- data/db/migrate/007_adapt_for_authlogic.rb +27 -0
- data/db/migrate/20090921125653_reader_messages.rb +27 -0
- data/db/migrate/20090924164413_functional_messages.rb +9 -0
- data/db/migrate/20090925081225_standard_messages.rb +106 -0
- data/db/migrate/20091006102438_message_visibility.rb +9 -0
- data/db/migrate/20091010083503_registration_config.rb +10 -0
- data/db/migrate/20091019124021_message_functions.rb +9 -0
- data/db/migrate/20091020133533_forenames.rb +9 -0
- data/db/migrate/20091020135152_contacts.rb +23 -0
- data/db/migrate/20091111090819_ensure_functional_messages_visible.rb +9 -0
- data/db/migrate/20091119092936_messages_have_layout.rb +9 -0
- data/db/migrate/20100922152338_lock_versions.rb +9 -0
- data/db/migrate/20100927095703_default_settings.rb +14 -0
- data/db/migrate/20101004074945_unlock_version.rb +9 -0
- data/lib/config_extensions.rb +5 -0
- data/lib/controller_extensions.rb +77 -0
- data/lib/reader_admin_ui.rb +64 -0
- data/lib/reader_helper.rb +36 -0
- data/lib/reader_site.rb +10 -0
- data/lib/reader_tags.rb +297 -0
- data/lib/rfc822.rb +29 -0
- data/lib/tasks/reader_extension_tasks.rake +28 -0
- data/pkg/radiant-reader-extension-0.9.0.gem +0 -0
- data/public/images/admin/chk_off.png +0 -0
- data/public/images/admin/chk_on.png +0 -0
- data/public/images/admin/new-message.png +0 -0
- data/public/images/admin/new-reader.png +0 -0
- data/public/javascripts/admin/messages.js +13 -0
- data/public/stylesheets/sass/admin/reader.sass +95 -0
- data/radiant-reader-extension.gemspec +184 -0
- data/reader_extension.rb +55 -0
- data/spec/controllers/admin/messages_controller_spec.rb +38 -0
- data/spec/controllers/admin/readers_controller_spec.rb +14 -0
- data/spec/controllers/password_resets_controller_spec.rb +140 -0
- data/spec/controllers/reader_activations_controller_spec.rb +45 -0
- data/spec/controllers/readers_controller_spec.rb +193 -0
- data/spec/datasets/messages_dataset.rb +49 -0
- data/spec/datasets/reader_layouts_dataset.rb +26 -0
- data/spec/datasets/reader_sites_dataset.rb +10 -0
- data/spec/datasets/readers_dataset.rb +51 -0
- data/spec/lib/reader_admin_ui_spec.rb +35 -0
- data/spec/lib/reader_site_spec.rb +18 -0
- data/spec/matchers/reader_login_system_matcher.rb +35 -0
- data/spec/models/message_spec.rb +109 -0
- data/spec/models/reader_notifier_spec.rb +34 -0
- data/spec/models/reader_spec.rb +155 -0
- data/spec/spec.opts +5 -0
- data/spec/spec_helper.rb +48 -0
- metadata +267 -0
@@ -0,0 +1,22 @@
|
|
1
|
+
%tr.node.level-1
|
2
|
+
- render_region :tbody do |tbody|
|
3
|
+
- tbody.title_cell do
|
4
|
+
%td{:class => reader.activated? ? 'name activated' : 'name inactive'}
|
5
|
+
= link_to image_tag(gravatar_url(reader.email, :size=>"32px"), :class=>"avatar avatar_32x32", :width=>32, :height=>32, :alt=>""), edit_admin_reader_url(reader)
|
6
|
+
= link_to reader.name, edit_admin_reader_url(reader), :class => reader.trusted? ? '' : 'untrusted'
|
7
|
+
%span.info
|
8
|
+
= "(#{reader.login})"
|
9
|
+
- unless reader.notes.blank?
|
10
|
+
%p.admin_notes
|
11
|
+
%strong
|
12
|
+
note:
|
13
|
+
= reader.notes
|
14
|
+
|
15
|
+
- tbody.description_cell do
|
16
|
+
%td.reader_description
|
17
|
+
= truncate_and_textilize(reader.description, 24)
|
18
|
+
|
19
|
+
- tbody.modify_cell do
|
20
|
+
%td.remove
|
21
|
+
- if admin?
|
22
|
+
= link_to(image('remove', :alt => 'Remove Reader'), admin_reader_url(reader), :method => :delete, :confirm => "really delete reader #{reader.name}?")
|
@@ -0,0 +1,18 @@
|
|
1
|
+
%p#display_password{:style=> (@reader.new_record? or !@reader.valid?) ? "display: none" : nil}
|
2
|
+
%label= t('password')
|
3
|
+
%span.value
|
4
|
+
•••••
|
5
|
+
%a.action{:href=>"#", :onclick=>" $('display_password').hide(); $('change_password').show()"}= t('change')
|
6
|
+
.set#change_password{:style=> (!@reader.new_record? && @reader.valid?) ? "display: none" : nil}
|
7
|
+
%p
|
8
|
+
= f.label :password, t('new_password')
|
9
|
+
= f.password_field "password", :class => "textbox big", :value => "", :size => 15, :maxlength => 40
|
10
|
+
%p
|
11
|
+
= f.label :password_confirmation, t('password_confirmation')
|
12
|
+
= f.password_field "password_confirmation", :class => "textbox big", :value => "", :size => 15, :maxlength => 40
|
13
|
+
- unless @reader.new_record?
|
14
|
+
%span
|
15
|
+
= t('or')
|
16
|
+
%a{:href=>"#", :onclick=>" $('display_password').show(); $('change_password').hide()"}= t('cancel')
|
17
|
+
|
18
|
+
|
@@ -0,0 +1,17 @@
|
|
1
|
+
- include_stylesheet('admin/reader')
|
2
|
+
= render_region :top
|
3
|
+
|
4
|
+
#readers_table.outset
|
5
|
+
%table#readers.index{:cellspacing=>"0", :border=>"0", :cellpadding=>"0"}
|
6
|
+
%thead
|
7
|
+
= render :partial => 'list_head'
|
8
|
+
%tbody
|
9
|
+
- @readers.each do |reader|
|
10
|
+
= render :partial => 'listed', :locals => {:reader => reader}
|
11
|
+
|
12
|
+
- render_region :bottom do |bottom|
|
13
|
+
- bottom.buttons do
|
14
|
+
#actions
|
15
|
+
= pagination_for @readers
|
16
|
+
%ul
|
17
|
+
%li= link_to image('plus') + " " + "new reader", new_admin_reader_url
|
@@ -0,0 +1,7 @@
|
|
1
|
+
- include_stylesheet('admin/reader')
|
2
|
+
- render_region :main do |main|
|
3
|
+
- main.edit_header do
|
4
|
+
%h1 Invite a reader
|
5
|
+
%p This will cause an invitation (and activation) message to be sent to the email address that you specify.
|
6
|
+
- main.edit_form do
|
7
|
+
= render :partial => 'form'
|
@@ -0,0 +1,18 @@
|
|
1
|
+
%h1 Remove Reader
|
2
|
+
|
3
|
+
%p
|
4
|
+
Are you sure you want to
|
5
|
+
%strong.warning permanently remove
|
6
|
+
the following reader?
|
7
|
+
|
8
|
+
%table.index#readers{:cellpadding=>0, :cellspacing=>0, :border=>0}
|
9
|
+
%tbody
|
10
|
+
%tr.node.level-1
|
11
|
+
%td.reader
|
12
|
+
%span.title= @reader.name
|
13
|
+
|
14
|
+
- form_for [:admin, @reader], :html => { :method => :delete } do
|
15
|
+
%p.buttons
|
16
|
+
%input.button{:type=>"submit", :value=>"Delete Reader"}/
|
17
|
+
or
|
18
|
+
= link_to 'Cancel', admin_readers_path
|
@@ -0,0 +1,7 @@
|
|
1
|
+
- layouts = @site.respond_to?(:layouts) ? @site.layouts : Layout.find(:all)
|
2
|
+
%p.subtitle
|
3
|
+
%label{:for=>"site_reader_layout_id", :class => "admin_only"}
|
4
|
+
Layout for readers
|
5
|
+
= select :site, :reader_layout_id, layouts.map { |l| [l.name, l.id] }
|
6
|
+
%br
|
7
|
+
%span.formnote currently you have to be logged into the site to see its layouts here. will fix.
|
@@ -0,0 +1,13 @@
|
|
1
|
+
%p
|
2
|
+
Thank you. A message has been sent to
|
3
|
+
%strong
|
4
|
+
= params[:email]
|
5
|
+
containing the instructions for setting a new password.
|
6
|
+
Remember, it hasn't changed yet and won't until you follow the instructions in the message.
|
7
|
+
|
8
|
+
- content_for :breadcrumbs do
|
9
|
+
= link_to 'Home', '/'
|
10
|
+
> Reset password
|
11
|
+
|
12
|
+
- content_for :pagetitle do
|
13
|
+
Reset message sent
|
@@ -0,0 +1,71 @@
|
|
1
|
+
.mainform
|
2
|
+
- if @reader
|
3
|
+
|
4
|
+
%p
|
5
|
+
%strong
|
6
|
+
Hello
|
7
|
+
= @reader.name + '.'
|
8
|
+
Thank you for persevering with the authorization process.
|
9
|
+
%br
|
10
|
+
Please enter and confirm the new password you would like to use. It must be at least four characters long, nothing obvious or typical and ideally a mixture of numbers and letters.
|
11
|
+
|
12
|
+
|
13
|
+
- form_for @reader, :url => password_reset_path, :method => :put, :html => {:class => 'friendly', :autocomplete => "off"} do |f|
|
14
|
+
|
15
|
+
- if @reader.errors.any?
|
16
|
+
%p.haserror
|
17
|
+
%strong
|
18
|
+
Sorry: there was a problem.
|
19
|
+
= @reader.errors.full_messages.to_sentence
|
20
|
+
|
21
|
+
= hidden_field_tag :id, params[:id]
|
22
|
+
= hidden_field_tag :confirmation_code, @reader.perishable_token
|
23
|
+
|
24
|
+
%p{:class => @reader.errors.any? ? 'haserror' : ''}
|
25
|
+
= f.label :password, "New password", :class => 'required'
|
26
|
+
%br
|
27
|
+
= f.password_field :password, :class => 'titular'
|
28
|
+
|
29
|
+
%p{:class => @reader.errors.any? ? 'haserror' : ''}
|
30
|
+
= f.label :password_confirmation, "Repeat for confirmation", :class => 'required'
|
31
|
+
%br
|
32
|
+
= f.password_field :password_confirmation, :class => 'titular'
|
33
|
+
%p
|
34
|
+
= f.submit "Update my password and log me in"
|
35
|
+
|
36
|
+
%p
|
37
|
+
Your password hasn't changed yet, so if you've just remembered it you can still
|
38
|
+
= link_to "log in.", reader_login_url
|
39
|
+
|
40
|
+
- content_for :pagetitle do
|
41
|
+
Change my password
|
42
|
+
|
43
|
+
- else
|
44
|
+
|
45
|
+
%p.haserror
|
46
|
+
Sorry: the system can't find you. That link must have been garbled somewhere along the line.
|
47
|
+
Please paste the 20-character confirmation code into the box below and we'll try again.
|
48
|
+
|
49
|
+
- form_tag edit_password_reset_path, :method => 'GET', :class => 'friendly', :autocomplete => "off" do
|
50
|
+
= hidden_field_tag :id, params[:id]
|
51
|
+
%p
|
52
|
+
%label{:for => "confirmation_code"}
|
53
|
+
confirmation code
|
54
|
+
%br
|
55
|
+
= text_field_tag 'confirmation_code', '', :class => 'titular'
|
56
|
+
|
57
|
+
%p
|
58
|
+
= submit_tag 'try again'
|
59
|
+
|
60
|
+
%p
|
61
|
+
The confirmation code only works for ten minutes, but you can always
|
62
|
+
= link_to "enter your email address again", new_password_reset_url
|
63
|
+
and we'll send a new one.
|
64
|
+
|
65
|
+
- content_for :pagetitle do
|
66
|
+
Please enter confirmation code
|
67
|
+
|
68
|
+
- content_for :breadcrumbs do
|
69
|
+
= link_to 'Home', '/'
|
70
|
+
> Reset password
|
71
|
+
|
@@ -0,0 +1,31 @@
|
|
1
|
+
- include_stylesheet 'reader'
|
2
|
+
|
3
|
+
%p
|
4
|
+
Please enter your email address below. If we recognise it, we'll send you a message with a confirmation link (or if your account is not yet active, we'll send the activation message again).
|
5
|
+
%strong
|
6
|
+
Your password will not change until you fill in that form,
|
7
|
+
so only you can complete this process.
|
8
|
+
|
9
|
+
- if @error
|
10
|
+
%p.haserror
|
11
|
+
= @error
|
12
|
+
|
13
|
+
.password_form
|
14
|
+
|
15
|
+
- email = current_reader.email if current_reader
|
16
|
+
- form_tag password_reset_path, :class => 'friendly' do
|
17
|
+
%p
|
18
|
+
%label{:for => "email"}
|
19
|
+
Email address
|
20
|
+
%br
|
21
|
+
= text_field_tag 'email', email, :class => 'titular'
|
22
|
+
|
23
|
+
%p
|
24
|
+
= submit_tag 'send me instructions'
|
25
|
+
|
26
|
+
- content_for :breadcrumbs do
|
27
|
+
= link_to 'Home', '/'
|
28
|
+
> Reset password
|
29
|
+
|
30
|
+
- content_for :pagetitle do
|
31
|
+
Reset your password
|
@@ -0,0 +1,34 @@
|
|
1
|
+
- purpose ||= false
|
2
|
+
- no_title ||= false
|
3
|
+
|
4
|
+
|
5
|
+
%div.activation_required
|
6
|
+
- unless no_title
|
7
|
+
%h2
|
8
|
+
- if purpose
|
9
|
+
= purpose + ','
|
10
|
+
please
|
11
|
+
- else
|
12
|
+
Please
|
13
|
+
activate your account
|
14
|
+
|
15
|
+
%p
|
16
|
+
Hello
|
17
|
+
= current_reader.name + '.'
|
18
|
+
- if current_reader
|
19
|
+
We've sent an email to
|
20
|
+
%strong
|
21
|
+
= current_reader.email
|
22
|
+
containing a link that will automatically activate your account and log you in. If you can't find the message, we can
|
23
|
+
= link_to("send it again", new_reader_activation_url) + '.'
|
24
|
+
- else
|
25
|
+
You should have received an email message
|
26
|
+
containing a link that will automatically activate your account and log you in. If you can't find the message, we can
|
27
|
+
= link_to("send it again", new_password_reset_url) + ':'
|
28
|
+
just put your email address in the password reminder form, and if your account has not been activated you'll receive another activation message.
|
29
|
+
|
30
|
+
- if Radiant::Config['reader.allow_registration?']
|
31
|
+
%p
|
32
|
+
If you've put the wrong email address in, the easiest thing to do is just to
|
33
|
+
= link_to 'register again', new_reader_url
|
34
|
+
with the right one. The failed registration will be purged after a week or so.
|
@@ -0,0 +1,41 @@
|
|
1
|
+
= render :partial => 'readers/flasher'
|
2
|
+
|
3
|
+
- if current_reader && current_reader.activated?
|
4
|
+
|
5
|
+
%p
|
6
|
+
Thank you very much for persevering with the registration process. Your account is now active.
|
7
|
+
|
8
|
+
= render :partial => 'on_activation'
|
9
|
+
|
10
|
+
- content_for :pagetitle do
|
11
|
+
Hello
|
12
|
+
= current_reader.name
|
13
|
+
|
14
|
+
- else
|
15
|
+
%div.activation
|
16
|
+
%p
|
17
|
+
- if current_reader
|
18
|
+
Thank you for registering. Now please check your email. We have sent a message to
|
19
|
+
%strong
|
20
|
+
= current_reader.email
|
21
|
+
containing a link that will automatically activate your account and log you in. If you can't find the message, we can
|
22
|
+
= link_to("send it again", new_reader_activation_url) + '.'
|
23
|
+
- else
|
24
|
+
Please check your email. You should have received a message containing a link that will automatically activate your account and log you in. If you can't find the message, we can
|
25
|
+
= link_to("send it again", new_password_reset_url) + ':'
|
26
|
+
just put your email address in the password reminder form, and if your account has not been activated you'll receive another activation message.
|
27
|
+
|
28
|
+
- if Radiant::Config['reader.allow_registration?']
|
29
|
+
%p
|
30
|
+
If you think you might have put the wrong email address in, the easiest thing to do is
|
31
|
+
= link_to 'register again', new_reader_url
|
32
|
+
with the right one. The failed registration attempt will be purged after a week or so.
|
33
|
+
|
34
|
+
- content_for :pagetitle do
|
35
|
+
Activation message sent
|
36
|
+
|
37
|
+
- content_for :breadcrumbs do
|
38
|
+
= link_to 'Home', '/'
|
39
|
+
>
|
40
|
+
Activate your account
|
41
|
+
|
@@ -0,0 +1 @@
|
|
1
|
+
= @message
|
@@ -0,0 +1,59 @@
|
|
1
|
+
- @reader_session ||= ReaderSession.new
|
2
|
+
- no_title ||= false
|
3
|
+
- purpose ||= false
|
4
|
+
|
5
|
+
.login_form
|
6
|
+
- cssclass = "compact friendly"
|
7
|
+
- cssclass << " inline" if @inline
|
8
|
+
- form_for @reader_session, :url => reader_session_path, :html => {:class => cssclass} do |f|
|
9
|
+
|
10
|
+
- unless no_title
|
11
|
+
%h2
|
12
|
+
- if purpose
|
13
|
+
= purpose + ','
|
14
|
+
please
|
15
|
+
- else
|
16
|
+
Please
|
17
|
+
log in or
|
18
|
+
= link_to "register", new_reader_url
|
19
|
+
|
20
|
+
- if @error
|
21
|
+
%p.haserror
|
22
|
+
Sorry: we don't recognise that combination of username and password.
|
23
|
+
%br
|
24
|
+
If you've forgotten your password we can always
|
25
|
+
= link_to 'make you a new one', repassword_url
|
26
|
+
|
27
|
+
%p{ :class => @reader_session.errors.on(:login) ? 'haserror' : '' }
|
28
|
+
%label{:for => "reader_session_login"}
|
29
|
+
Username
|
30
|
+
%br
|
31
|
+
= f.text_field :login, :class => 'login'
|
32
|
+
- if @reader_session.errors.on(:login)
|
33
|
+
%br
|
34
|
+
This
|
35
|
+
= @reader_session.errors.on(:login).to_a.to_sentence
|
36
|
+
|
37
|
+
%p{ :class => @reader_session.errors.on(:password) ? 'haserror' : '' }
|
38
|
+
%label{:for => "reader_session_password"}
|
39
|
+
Password
|
40
|
+
%br
|
41
|
+
= f.password_field :password, :class => 'login'
|
42
|
+
- if @reader_session.errors.on(:password)
|
43
|
+
%br
|
44
|
+
This
|
45
|
+
= @reader_session.errors.on(:password).to_a.to_sentence
|
46
|
+
|
47
|
+
%p.buttons
|
48
|
+
= f.submit ' Log in '
|
49
|
+
= f.check_box :remember_me
|
50
|
+
%label.paranthetical{:for => "reader_session_remember_me"}
|
51
|
+
Remember me
|
52
|
+
|
53
|
+
%p.quiet
|
54
|
+
- if Radiant::Config['reader.allow_registration?']
|
55
|
+
If you haven't already, you will need to
|
56
|
+
= link_to "register", new_reader_url
|
57
|
+
before you can log in. It only takes a moment.
|
58
|
+
If you've forgotten your password, you can enter your email address to
|
59
|
+
= link_to("set a new one", new_password_reset_url) + '.'
|
@@ -0,0 +1,38 @@
|
|
1
|
+
= render :partial => 'readers/flasher'
|
2
|
+
|
3
|
+
- if current_reader
|
4
|
+
%p
|
5
|
+
You are currently logged in as
|
6
|
+
%strong
|
7
|
+
= current_reader.name
|
8
|
+
- unless current_reader.activated?
|
9
|
+
but your account is not yet activated. Please check your email for our activation message.
|
10
|
+
|
11
|
+
- if current_reader.activated?
|
12
|
+
%p
|
13
|
+
If that's not you, or you want to log in with another account, please
|
14
|
+
= link_to "log out", reader_logout_url
|
15
|
+
- else
|
16
|
+
%p
|
17
|
+
If you can't find the message, we can
|
18
|
+
= link_to("send it again", new_reader_activation_url) + '.'
|
19
|
+
%p
|
20
|
+
If you're not
|
21
|
+
= current_reader.name
|
22
|
+
or you think you might have put the wrong email address in, please
|
23
|
+
= link_to "log out", reader_logout_url
|
24
|
+
and you will be able to register or log in normally.
|
25
|
+
|
26
|
+
- else
|
27
|
+
- if flash[:explanation]
|
28
|
+
%p
|
29
|
+
= flash[:explanation]
|
30
|
+
|
31
|
+
= render :partial => 'login_form', :locals => {:no_title => true}
|
32
|
+
|
33
|
+
- content_for :breadcrumbs do
|
34
|
+
= link_to 'Readers', '/readers'
|
35
|
+
> Log in
|
36
|
+
|
37
|
+
- content_for :pagetitle do
|
38
|
+
Log in
|
@@ -0,0 +1,25 @@
|
|
1
|
+
%div#reader_links
|
2
|
+
- if current_reader
|
3
|
+
- if current_reader.activated?
|
4
|
+
%p
|
5
|
+
%strong
|
6
|
+
Hello
|
7
|
+
= current_reader.name
|
8
|
+
%br
|
9
|
+
= link_to 'your page', reader_url(current_reader)
|
10
|
+
|
|
11
|
+
= link_to 'preferences', edit_reader_url(current_reader)
|
12
|
+
|
|
13
|
+
- if current_reader.is_user?
|
14
|
+
= link_to 'admin', admin_pages_url
|
15
|
+
|
|
16
|
+
= link_to 'log out', reader_logout_url
|
17
|
+
-else
|
18
|
+
%p
|
19
|
+
please check your email for an activation message
|
20
|
+
- else
|
21
|
+
%p
|
22
|
+
To take part, please
|
23
|
+
= link_to 'log in', reader_login_url
|
24
|
+
or
|
25
|
+
= link_to 'register', new_reader_url
|