radiant-reader-extension 1.3.9 → 1.3.10
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/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.3.
|
1
|
+
1.3.10
|
@@ -41,7 +41,7 @@ class ReaderSessionsController < ReaderActionController
|
|
41
41
|
@reader_session = ReaderSession.new(params[:reader_session])
|
42
42
|
if @reader_session.save
|
43
43
|
if @reader_session.reader.activated? && @reader_session.reader.clear_password
|
44
|
-
@reader_session.reader.clear_password = "" # we forget the cleartext version on the first successful login
|
44
|
+
@reader_session.reader.clear_password = "" # we forget the cleartext version on the first successful login
|
45
45
|
@reader_session.reader.save(false)
|
46
46
|
end
|
47
47
|
respond_to do |format|
|
data/app/models/reader.rb
CHANGED
@@ -26,11 +26,10 @@ class Reader < ActiveRecord::Base
|
|
26
26
|
attr_accessor :current_password # used for authentication on update
|
27
27
|
attr_accessor :email_field # used in blocking spam registrations
|
28
28
|
|
29
|
-
before_save :set_login
|
30
29
|
before_update :update_user
|
31
30
|
|
32
31
|
validates_presence_of :name, :email, :message => 'is required'
|
33
|
-
validates_uniqueness_of :login, :message => "is already in use here"
|
32
|
+
validates_uniqueness_of :login, :message => "is already in use here", :allow_blank => true
|
34
33
|
validate :email_must_not_be_in_use
|
35
34
|
|
36
35
|
include RFC822
|
@@ -89,13 +88,8 @@ class Reader < ActiveRecord::Base
|
|
89
88
|
message.deliver_to(self)
|
90
89
|
end
|
91
90
|
|
92
|
-
def generate_password(length=12)
|
93
|
-
chars = ("a".."z").to_a + ("A".."Z").to_a + ("1".."9").to_a
|
94
|
-
Array.new(length, '').collect{chars[rand(chars.size)]}.join
|
95
|
-
end
|
96
|
-
|
97
91
|
def generate_email_field_name
|
98
|
-
self.email_field =
|
92
|
+
self.email_field = Authlogic::Random.friendly_token
|
99
93
|
end
|
100
94
|
|
101
95
|
def is_user?
|
@@ -122,37 +116,37 @@ class Reader < ActiveRecord::Base
|
|
122
116
|
reader
|
123
117
|
end
|
124
118
|
|
125
|
-
|
119
|
+
def create_password!
|
120
|
+
self.clear_password = self.randomize_password # randomize_password is provided by authlogic
|
121
|
+
self.save! unless self.new_record?
|
122
|
+
self.clear_password
|
123
|
+
end
|
126
124
|
|
127
|
-
|
128
|
-
self.login = self.email if self.login.blank?
|
129
|
-
end
|
125
|
+
private
|
130
126
|
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
else
|
141
|
-
return true
|
142
|
-
end
|
143
|
-
return false
|
127
|
+
def email_must_not_be_in_use
|
128
|
+
reader = Reader.find_by_email(self.email) # the finds will be site-scoped if appropriate
|
129
|
+
user = User.find_by_email(self.email)
|
130
|
+
if user && user != self.user
|
131
|
+
errors.add(:email, "belongs to an author already known here")
|
132
|
+
elsif reader && reader != self
|
133
|
+
errors.add(:email, "is already registered here")
|
134
|
+
else
|
135
|
+
return true
|
144
136
|
end
|
137
|
+
return false
|
138
|
+
end
|
145
139
|
|
146
|
-
|
147
|
-
|
148
|
-
|
140
|
+
def validate_length_of_password?
|
141
|
+
new_record? or not password.to_s.empty?
|
142
|
+
end
|
149
143
|
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
end
|
144
|
+
def update_user
|
145
|
+
if self.user
|
146
|
+
user_columns.each { |att| self.user.send("#{att.to_s}=", send(att)) if send("#{att.to_s}_changed?") }
|
147
|
+
self.user.password_confirmation = password_confirmation if password_changed?
|
148
|
+
self.user.save! if self.user.changed?
|
156
149
|
end
|
150
|
+
end
|
157
151
|
|
158
152
|
end
|
data/reader_extension.rb
CHANGED
@@ -41,10 +41,6 @@ describe ReadersController do
|
|
41
41
|
@reader.email.should == 'registrant@spanner.org'
|
42
42
|
end
|
43
43
|
|
44
|
-
it "should have defaulted to email address as login" do
|
45
|
-
@reader.login.should == @reader.email
|
46
|
-
end
|
47
|
-
|
48
44
|
if defined? Site
|
49
45
|
it "should have assigned the new reader to the current site" do
|
50
46
|
@reader.site.should == sites(:test)
|
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:
|
4
|
+
hash: 15
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 1
|
8
8
|
- 3
|
9
|
-
-
|
10
|
-
version: 1.3.
|
9
|
+
- 10
|
10
|
+
version: 1.3.10
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- spanner
|