radiant-reader-extension 3.0.1 → 3.0.2

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.
@@ -14,6 +14,7 @@ class AccountsController < ReaderActionController
14
14
  def index
15
15
  respond_to do |format|
16
16
  format.html {
17
+ set_expiry
17
18
  render :template => 'readers/index'
18
19
  }
19
20
  format.csv {
@@ -28,6 +29,7 @@ class AccountsController < ReaderActionController
28
29
  def show
29
30
  respond_to do |format|
30
31
  format.html {
32
+ set_expiry
31
33
  render :template => 'readers/show'
32
34
  }
33
35
  format.vcard {
@@ -100,6 +102,14 @@ class AccountsController < ReaderActionController
100
102
 
101
103
  protected
102
104
 
105
+ def set_expiry
106
+ if Radiant.config['directory.visibility'] == 'public'
107
+ expires_in 1.day
108
+ else
109
+ expires_now
110
+ end
111
+ end
112
+
103
113
  def i_am_me
104
114
  params[:id] = current_reader.id if current_reader && params[:id] == 'me'
105
115
  end
@@ -142,7 +152,7 @@ private
142
152
 
143
153
  def get_readers_and_groups
144
154
  @readers = Reader.visible_to(current_reader)
145
- @groups = Group.roots.visible_to(current_reader)
155
+ @groups = current_reader.all_visible_groups
146
156
  @reader = Reader.find(params[:id]) if params[:id]
147
157
  end
148
158
 
@@ -18,10 +18,11 @@
18
18
  = render :partial => 'shared/standard_reader_parts'
19
19
 
20
20
  - content_for :sidebar do
21
- - render_region :sidebar
21
+ = render_region :sidebar
22
+ // UI => dashboard/profile dashboard/messages dashboard/directory
22
23
 
23
24
  - content_for :main do
24
- - render_region :main
25
-
25
+ = render_region :main
26
+ // UI => dashboard/welcome dashboard/groups dashboard/description
26
27
 
27
28
  = yield :main
@@ -1,3 +1,3 @@
1
1
  - unless current_reader.description.blank?
2
2
  .dashboard_module
3
- = render :partial => 'accounts/description', :locals => {:reader => current_reader}
3
+ = render :partial => 'readers/description', :locals => {:reader => current_reader}
@@ -1,3 +1,3 @@
1
1
  - if Radiant.config['reader.share_details?']
2
2
  .dashboard_module
3
- = render :partial => 'accounts/links'
3
+ = render :partial => 'readers/links'
@@ -1,3 +1,3 @@
1
1
  - if Radiant.config['reader.share_details?']
2
2
  .dashboard_module
3
- = render :partial => 'accounts/profile', :locals => {:reader => current_reader}
3
+ = render :partial => 'readers/profile', :locals => {:reader => current_reader}
@@ -4,9 +4,11 @@
4
4
 
5
5
  %p.context
6
6
  = t("reader_extension.member_count", :count => group.readers.count) + '.'
7
- = link_to t('reader_extension.directory.vcard_link'), group_url(group, :format => :vcard), :class => 'vcard'
8
- = link_to t('reader_extension.directory.csv_link'), group_url(group, :format => :csv), :class => 'csv'
9
7
 
10
8
  - if group.description
11
9
  %p
12
- = group.description
10
+ = group.description
11
+
12
+ - if group.children.any?
13
+ .indented
14
+ = render :partial => 'groups/group', :collection => group.children
@@ -2,6 +2,10 @@
2
2
  %p
3
3
  =t('reader_extension.groups_introduction')
4
4
 
5
+ - content_for :breadhead do
6
+ = link_to t('reader_extension.readers_title').titlecase, reader_index_url
7
+ = t('reader_extension.separator')
8
+
5
9
  - content_for :breadcrumbs do
6
10
  = link_to t('reader_extension.home').titlecase, '/'
7
11
  = t('reader_extension.separator')
@@ -32,7 +32,9 @@
32
32
  = t('reader_extension.subgroups', :name => @group.name)
33
33
  = render :partial => 'groups/group', :collection => @group.children
34
34
 
35
- = render :partial => 'readers/people', :readers => @readers
35
+ %h2
36
+ = t('reader_extension.group_members')
37
+ = render :partial => 'readers/list', :locals => {:readers => @readers}
36
38
 
37
39
  = yield :main
38
40
 
@@ -0,0 +1,23 @@
1
+ - case Radiant.config['reader.directory_visibility']
2
+ - when 'public'
3
+ - if @groups.any?
4
+ %h2
5
+ = t('reader_extension.groups').titlecase
6
+ = render :partial => 'groups/group', :collection => @groups
7
+ - if @readers.any?
8
+ %h2
9
+ = t('reader_extension.people').titlecase
10
+ = render :partial => 'readers/list', :locals => {:readers => @readers}
11
+
12
+ - when 'grouped'
13
+ %h2
14
+ = t('reader_extension.your_groups')
15
+ - if @groups.any
16
+ = render :partial => 'groups/group', :collection => @groups
17
+ - else
18
+ = t('reader_extension.no_groups')
19
+
20
+ - else
21
+ = t('reader_extension.no_directory')
22
+
23
+
@@ -4,9 +4,6 @@
4
4
  %li
5
5
  = link_to t("reader_extension.directory.link"), readers_url
6
6
  %li
7
- = link_to t("reader_extension.directory.csv_link"), readers_url(:format => :csv), :class => 'csv'
7
+ = link_to t("reader_extension.directory.csv_link"), readers_url(:format => :csv)
8
8
  %li
9
- = link_to t("reader_extension.directory.vcard_link"), readers_url(:format => :vcard), :class => 'vcard'
10
- - Group.visible_to(current_reader).each do |group|
11
- %li
12
- = link_to_group(group) + ' ' + t('group')
9
+ = link_to t("reader_extension.directory.vcard_link"), readers_url(:format => :vcard)
@@ -25,6 +25,6 @@
25
25
  = t("reader_extension.directory.postal_address") + ': '
26
26
  = reader.postal_address.to_html
27
27
  - if reader == current_reader
28
- %li
28
+ %li.edit
29
29
  = link_to t("reader_extension.edit_profile"), reader_edit_profile_url, :class => 'edit'
30
30
 
@@ -25,4 +25,4 @@
25
25
 
26
26
  %td.vcard
27
27
  %p
28
- = link_to t('reader_extension.vcard'), reader_url(reader, :format => :vcard), :class => 'vcard'
28
+ = link_to "&nbsp;", reader_url(reader, :format => :vcard), :class => 'vcard'
@@ -16,5 +16,6 @@
16
16
 
17
17
  - content_for :main do
18
18
  = render_region :main
19
+ // UI -> readers/directory
19
20
 
20
21
  = yield :main
@@ -14,9 +14,11 @@
14
14
 
15
15
  - content_for :sidebar do
16
16
  - render_region :sidebar
17
+ // UI -> readers/profile
17
18
 
18
19
  - content_for :main do
19
20
  - render_region :main
21
+ // UI -> readers/memberships readers/description
20
22
 
21
23
  = yield :main
22
24
 
@@ -153,7 +153,7 @@ en:
153
153
  delivery_status: "Delivery"
154
154
  directory:
155
155
  contact: "Contact"
156
- csv_link: "Download CSV data"
156
+ csv_link: "CSV"
157
157
  email: "Email"
158
158
  groups: "Groups"
159
159
  link: "Browse members list"
@@ -163,7 +163,7 @@ en:
163
163
  postal_address: "Address"
164
164
  profile: "Profile"
165
165
  title: "Directory"
166
- vcard_link: "Download address book file"
166
+ vcard_link: "vcard"
167
167
  dont_fill: "Don't fill this in!"
168
168
  download_as: "Download as"
169
169
  download_group_as: "Download the whole group as"
@@ -208,7 +208,6 @@ en:
208
208
  group: "group"
209
209
  group_filter: "Show only members of the group: "
210
210
  group_invitation: "This is the invitation message"
211
- group_members: "Group Members"
212
211
  group_members: "Group members"
213
212
  group_page: "group page"
214
213
  group_welcome: "This is the welcome message"
@@ -280,6 +279,7 @@ en:
280
279
  new_password_instructions: "Please enter and confirm the new password you would like to use. It should be at least six characters long, nothing obvious or typical and with at least one non-letter character."
281
280
  'no': "no"
282
281
  no_description: "No description available"
282
+ no_directory: "This site does not make user information public."
283
283
  no_invitation_message: "This group has no invitation message. You will need to create one before you can invite people into it."
284
284
  no_mobile: "no mobile"
285
285
  none_option: "<none>"
@@ -331,7 +331,7 @@ en:
331
331
  reader_saved: "Reader saved"
332
332
  readers: 'People'
333
333
  readers_introduction_edit: 'You can update your listing by <a href="%{url}">editing your profile</a>.'
334
- readers_introduction_grouped: "This is a private directory and will only show people who are in the same groups as you."
334
+ readers_introduction_grouped: "This is a private directory: information is only shared among members of the same groups."
335
335
  readers_introduction_none: "This site does not provide a directory of members."
336
336
  readers_introduction_private: "This is a private directory visible only to logged-in users of the site."
337
337
  readers_introduction_public: "Click on a person to see their profile, contact information and other details."
@@ -395,6 +395,7 @@ en:
395
395
  you_are_not_shared: "You have chosen not to share your contact information."
396
396
  your_description: "Your profile text"
397
397
  your_email: "Your email address"
398
+ your_groups: "Your groups"
398
399
  your_name: "Your name"
399
400
  readers: "Readers"
400
401
  settings: "Settings"
@@ -1,5 +1,5 @@
1
1
  module RadiantReaderExtension
2
- VERSION = '3.0.1'
2
+ VERSION = '3.0.2'
3
3
  SUMMARY = %q{Reader/viewer/visitor registration, login and access-control for Radiant CMS}
4
4
  DESCRIPTION = %q{Provides reader/member/user registration and management functions including password-reminder, group-based page access control and administrative email.}
5
5
  URL = "http://radiant.spanner.org/reader"
@@ -103,11 +103,11 @@ module ReaderAdminUI
103
103
  def load_default_account_regions
104
104
  OpenStruct.new.tap do |account|
105
105
  account.dashboard = Radiant::AdminUI::RegionSet.new do |dashboard|
106
- dashboard.main.concat %w{dashboard/welcome dashboard/groups dashboard/description}
106
+ dashboard.main.concat %w{dashboard/welcome dashboard/groups}
107
107
  dashboard.sidebar.concat %w{dashboard/profile dashboard/messages dashboard/directory}
108
108
  end
109
109
  account.index = Radiant::AdminUI::RegionSet.new do |index|
110
- index.main.concat %w{readers/groups readers/people}
110
+ index.main.concat %w{readers/directory}
111
111
  end
112
112
  account.show = Radiant::AdminUI::RegionSet.new do |show|
113
113
  show.main.concat %w{readers/memberships readers/description}
@@ -122,7 +122,10 @@ form.friendly
122
122
  margin-left: 10px
123
123
  color: white
124
124
  text-decoration: none
125
-
125
+
126
+ div.indented
127
+ margin-left: 40px
128
+
126
129
  .dashboard_module
127
130
  margin-top: 2em
128
131
  &:first-child
@@ -136,11 +139,12 @@ form.friendly
136
139
  #marginalia
137
140
  div.contact
138
141
  border: 1px solid $paler
139
- +box-shadow
142
+ +box-shadow(1px 2px 3px)
140
143
  padding: 1em
141
144
  margin: 1em -1em
142
145
  h3
143
146
  margin-bottom: 1em
147
+ margin-left: -4px
144
148
  ul
145
149
  margin-bottom: 0
146
150
  li
@@ -150,15 +154,12 @@ form.friendly
150
154
  margin-right: 0.5em
151
155
  address
152
156
  overflow: hidden
153
-
154
- a.vcard, a.csv
155
- padding-left: 12px
156
- background: transparent url(/images/furniture/vcard_tiny.png) no-repeat 0 0
157
- &:hover
158
- background-position: 0 -19px
157
+ li.edit
158
+ text-align: right
159
159
 
160
- a.csv
161
- background-image: url(/images/furniture/csv_tiny.png)
160
+ a.vcard
161
+ padding-left: 30px
162
+ background: transparent url(/images/furniture/vcard.png) no-repeat 0 0
162
163
 
163
164
  h2
164
165
  span.headernote
@@ -235,3 +236,28 @@ div#preview
235
236
  margin: 0
236
237
  border: 0
237
238
  overflow: auto
239
+
240
+ table.readers
241
+ td
242
+ vertical-align: top
243
+ padding-right: 1em
244
+ padding: 0.25em 1em 0.25em 0
245
+ border-bottom: 1px dotted $pale
246
+ h4
247
+ white-space: nowrap
248
+ h3, p
249
+ margin: 0
250
+ line-height: 25px
251
+ td.phone, td.mobile
252
+ white-space: nowrap
253
+ td.missing
254
+ color: $pale
255
+ font-size: 80%
256
+ tr:last-child
257
+ td
258
+ border-bottom: none
259
+
260
+ p.exception
261
+ color: #c00
262
+ font-size: 150%
263
+ text-align: center
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: radiant-reader-extension
3
3
  version: !ruby/object:Gem::Version
4
- hash: 5
4
+ hash: 3
5
5
  prerelease:
6
6
  segments:
7
7
  - 3
8
8
  - 0
9
- - 1
10
- version: 3.0.1
9
+ - 2
10
+ version: 3.0.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - William Ross
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-09-07 00:00:00 +01:00
18
+ date: 2011-09-08 00:00:00 +01:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -251,12 +251,11 @@ files:
251
251
  - app/views/reader_sessions/_login_form.html.haml
252
252
  - app/views/reader_sessions/new.html.haml
253
253
  - app/views/readers/_description.html.haml
254
- - app/views/readers/_groups.html.haml
254
+ - app/views/readers/_directory.html.haml
255
255
  - app/views/readers/_links.html.haml
256
256
  - app/views/readers/_list.html.haml
257
257
  - app/views/readers/_memberships.html.haml
258
258
  - app/views/readers/_mugshot.html.haml
259
- - app/views/readers/_people.html.haml
260
259
  - app/views/readers/_profile.html.haml
261
260
  - app/views/readers/_reader.html.haml
262
261
  - app/views/readers/index.html.haml
@@ -350,7 +349,7 @@ has_rdoc: true
350
349
  homepage: http://radiant.spanner.org/reader
351
350
  licenses: []
352
351
 
353
- post_install_message: "\n Add this to your radiant project with:\n\n config.gem 'radiant-reader-extension', :version => '~> 3.0.1'\n\n and if you haven't already, remember to enable ActionMailer in your\n project's config/environment.rb.\n "
352
+ post_install_message: "\n Add this to your radiant project with:\n\n config.gem 'radiant-reader-extension', :version => '~> 3.0.2'\n\n and if you haven't already, remember to enable ActionMailer in your\n project's config/environment.rb.\n "
354
353
  rdoc_options: []
355
354
 
356
355
  require_paths:
@@ -1,9 +0,0 @@
1
- - groups ||= @groups
2
-
3
- %h2
4
- = t('reader_extension.groups')
5
- - if groups.any?
6
- = render :partial => 'groups/group', :collection => groups
7
- - else
8
- %p
9
- = t('reader_extension.no_groups')
@@ -1,6 +0,0 @@
1
- - readers ||= @readers
2
-
3
- %h2
4
- = t('reader_extension.people').titlecase
5
-
6
- = render :partial => 'readers/list', :locals => {:readers => readers}