From 8bcf6d75849705157c7fbe46500e9699271a4024 Mon Sep 17 00:00:00 2001 From: William Ross Date: Mon, 21 Nov 2011 12:33:12 +0000 Subject: [PATCH] tidying up, tests pass, last traces of inheritance removed --- app/models/group.rb | 2 +- app/views/admin/readers/_form.html.haml | 26 ++++++++++++++++++++++++- config/locales/en.yml | 1 + lib/radiant-reader-extension.rb | 2 +- lib/reader_admin_ui.rb | 2 +- lib/reader_tags.rb | 4 +++- spec/datasets/readers_dataset.rb | 3 +-- 7 files changed, 33 insertions(+), 7 deletions(-) diff --git a/app/models/group.rb b/app/models/group.rb index f7eb548..c8f0c8b 100644 --- a/app/models/group.rb +++ b/app/models/group.rb @@ -116,7 +116,7 @@ def membership_for(reader) def self.define_retrieval_methods(classname) type_scope = "for_#{classname.downcase.pluralize}".intern Permission.send :named_scope, type_scope, :conditions => { :permitted_type => classname } - define_method("#{classname.downcase}_permissions") { self.inherited_permissions.send type_scope } + define_method("#{classname.downcase}_permissions") { self.permissions.send type_scope } define_method("#{classname.downcase.pluralize}") { ids = self.send("#{classname.to_s.downcase}_permissions".intern).map(&:permitted_id) classname.constantize.find_these(ids) diff --git a/app/views/admin/readers/_form.html.haml b/app/views/admin/readers/_form.html.haml index 856d727..1570f1c 100644 --- a/app/views/admin/readers/_form.html.haml +++ b/app/views/admin/readers/_form.html.haml @@ -5,7 +5,7 @@ = render_region :form_top, :locals => {:f => f} - render_region :form, :locals => {:f => f} do |form| - - form.name do + - form.edit_name do %p = f.label :forename = f.text_field :forename, :class => "textbox activate", :size => 32, :maxlength => 100 @@ -26,6 +26,30 @@ - form.edit_password do = render "password_fields", :f => f + - form.edit_phone do + %p + = f.label :phone + = f.text_field :phone, :class => 'textbox' + %p + = f.label :mobile + = f.text_field :mobile, :class => 'textbox' + + - form.edit_address do + %p + = f.label :post_line1, t('activerecord.attributes.reader.postal_address') + = f.text_field :post_line1, :class => 'textbox' + %br + = f.text_field :post_line2, :class => 'textbox' + %p + = f.label :post_city + = f.text_field :post_city, :class => 'textbox' + %p + = f.label :post_province + = f.text_field :post_province, :class => 'textbox' + %p + = f.label :postcode + = f.text_field :postcode, :class => 'textbox' + - form.edit_description do - if Radiant.config['reader.show_descriptions?'] %p diff --git a/config/locales/en.yml b/config/locales/en.yml index 59d5f4a..cffb82b 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -280,6 +280,7 @@ en: message_preview_introduction: "This is a snapshot of the message that was delivered to you %{date}. If it contains instructions they may now be out of date." mistaken_access_error: "If you think that's a mistake, and that you should be allowed to do whatever it was you just tried to do, please contact your site administrator." must_be_empty: "must be empty" + name: "Name" name_and_login: "Name and Login" navigation: account: "Preferences" diff --git a/lib/radiant-reader-extension.rb b/lib/radiant-reader-extension.rb index 15a98bd..48c4ff3 100644 --- a/lib/radiant-reader-extension.rb +++ b/lib/radiant-reader-extension.rb @@ -1,5 +1,5 @@ module RadiantReaderExtension - VERSION = '3.0.32' + VERSION = '3.0.33' SUMMARY = %q{Reader/viewer/visitor registration, login and access-control for Radiant CMS} DESCRIPTION = %q{Provides reader/member/user registration and management functions including password-reminder, group-based page access control and administrative email.} URL = "http://radiant.spanner.org/reader" diff --git a/lib/reader_admin_ui.rb b/lib/reader_admin_ui.rb index a2ab6cd..3a4a736 100644 --- a/lib/reader_admin_ui.rb +++ b/lib/reader_admin_ui.rb @@ -29,7 +29,7 @@ def load_default_reader_regions OpenStruct.new.tap do |reader| reader.edit = Radiant::AdminUI::RegionSet.new do |edit| edit.main.concat %w{edit_header edit_form} - edit.form.concat %w{edit_name edit_email edit_nickname edit_password reader_groups edit_description edit_notes} + edit.form.concat %w{edit_name edit_email edit_nickname edit_password reader_groups edit_address edit_phone edit_description edit_notes} edit.form_bottom.concat %w{edit_timestamp edit_buttons} end reader.index = Radiant::AdminUI::RegionSet.new do |index| diff --git a/lib/reader_tags.rb b/lib/reader_tags.rb index af5e1c8..b173273 100644 --- a/lib/reader_tags.rb +++ b/lib/reader_tags.rb @@ -36,6 +36,8 @@ class TagError < StandardError; end end tag 'readers:each' do |tag| tag.locals.readers = get_readers(tag) + + Rails.logger.warn "readers:each: tlr has #{tag.locals.readers.size} readers" tag.render('reader_list', tag.attr.dup, &tag.block) end @@ -73,7 +75,7 @@ class TagError < StandardError; end we are on an uncached page. } tag 'reader' do |tag| - tag.expand if tag.locals.reader = get_reader(tag) + tag.expand if tag.locals.reader ||= get_reader(tag) end [:name, :forename, :surname, :nickname, :preferred_name, :preferred_informal_name, :email, :description, :login, :honorific].each do |field| diff --git a/spec/datasets/readers_dataset.rb b/spec/datasets/readers_dataset.rb index 7e8fd9b..06a4793 100644 --- a/spec/datasets/readers_dataset.rb +++ b/spec/datasets/readers_dataset.rb @@ -86,8 +86,7 @@ def create_group(name, attributes={}) create_model :group, symbol, { :name => name, :slug => name.downcase, - :description => "#{name} group", - :parent_id => @group_id + :description => "#{name} group" }.merge(attributes) if block_given? @group_id = group_id(symbol)