caboose-cms 0.3.86 → 0.3.87
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.
- checksums.yaml +8 -8
- data/app/controllers/caboose/users_controller.rb +8 -5
- data/app/views/caboose/users/new.html.erb +21 -12
- data/lib/caboose/version.rb +1 -1
- data/lib/tasks/caboose.rake +16 -0
- metadata +15 -1
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
NzU4NmNkZmVkZjE2ZTA2ZDUwYWEwNjlmY2FlZDdkZjhmODYyODViYQ==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
MDM3MTU1NmU1MDFmYWNhNzA1ZTQyMWIzYTExNmE5YzYzNmVhNGEzYw==
|
7
7
|
!binary "U0hBNTEy":
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
YzE5MjJmZjI2MmVhNDVlNWJjYWU2NDY2NzcxOTc5Yjk1MGNhYjg3NDc2ZDky
|
10
|
+
YjZlYmRlNDgyZjMwNWEwY2M3Zjg3NDQ3ZGQyNDQyMWQwMjk4NjkzYTAwNzAw
|
11
|
+
NzExN2M3MDcwOTY4NzM3MDM0OGQ1NDhkNDEzZTEwYTgzNzYyNmQ=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
ZDRmNTkxZWQwODNmYzUxNzUzNjQyZTc5ZGRiNzI1OGFkMzQ3YTdlYmFhODZj
|
14
|
+
ZDFlZjM1MWYzOGRmMDg4NDNhMzVlYzgwZDRjODk2YjI1YmJjMTgyN2YyOTA2
|
15
|
+
YmQ3MjkxMjk1NzE0NjgwMjU3Nzg4N2E0Y2E4NTg3Mjg1NzUwMDE=
|
@@ -194,15 +194,18 @@ module Caboose
|
|
194
194
|
})
|
195
195
|
|
196
196
|
user = User.new()
|
197
|
-
user.
|
197
|
+
user.email = params[:email] ? params[:email].strip.downcase : nil
|
198
198
|
|
199
|
-
if
|
200
|
-
resp.error = "
|
201
|
-
elsif
|
199
|
+
if user.email.length == 0
|
200
|
+
resp.error = "Please enter a valid email address."
|
201
|
+
elsif User.where(:email => user.email).exists?
|
202
|
+
resp.error = "That email is already in the system."
|
203
|
+
else
|
202
204
|
user.save
|
203
205
|
resp.redirect = "/admin/users/#{user.id}/edit"
|
204
206
|
end
|
205
|
-
|
207
|
+
|
208
|
+
render :json => resp
|
206
209
|
end
|
207
210
|
|
208
211
|
# PUT /admin/users/1
|
@@ -1,24 +1,33 @@
|
|
1
1
|
|
2
2
|
<h1>New user</h1>
|
3
|
-
|
3
|
+
|
4
|
+
<form action='/admin/users' method='post' id='new_user_form'>
|
5
|
+
<input type='hidden' name='authenticity_token' value='<%= form_authenticity_token %>' />
|
6
|
+
<p><input type='text' name='email' id='email' placeholder='Email' value='' style='width: 400px;' /></p>
|
7
|
+
<div id='message'></div>
|
8
|
+
<p><input type='submit' value='Add User' /></p>
|
9
|
+
</form>
|
4
10
|
|
5
11
|
<% content_for :caboose_js do %>
|
6
12
|
<script type='text/javascript'>
|
7
13
|
|
8
|
-
var user = false;
|
9
14
|
$(document).ready(function() {
|
15
|
+
$('#new_user_form').submit(function() { add_user(); return false; });
|
16
|
+
});
|
10
17
|
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
18
|
+
function add_user()
|
19
|
+
{
|
20
|
+
$('#message').html("<p class='loading'>Adding user...</p>");
|
21
|
+
$.ajax({
|
22
|
+
url: '/admin/users',
|
23
|
+
type: 'post',
|
24
|
+
data: $('#new_user_form').serialize(),
|
25
|
+
success: function(resp) {
|
26
|
+
if (resp.error) $('#message').html("<p class='note error'>" + resp.error + "</p>");
|
27
|
+
if (resp.redirect) window.location = resp.redirect;
|
28
|
+
}
|
19
29
|
});
|
20
|
-
|
21
|
-
});
|
30
|
+
}
|
22
31
|
|
23
32
|
</script>
|
24
33
|
<% end %>
|
data/lib/caboose/version.rb
CHANGED
data/lib/tasks/caboose.rake
CHANGED
@@ -70,6 +70,22 @@ namespace :caboose do
|
|
70
70
|
d = DateTime.strptime("04/01/2014 10:00 am -0700", "%m/%d/%Y %I:%M %P %Z")
|
71
71
|
puts d
|
72
72
|
end
|
73
|
+
|
74
|
+
desc "Removes duplicate users"
|
75
|
+
task :remove_duplicate_users => :environment do
|
76
|
+
while true
|
77
|
+
query = ["select email from users group by email having count(email) > ?", 1]
|
78
|
+
rows = ActiveRecord::Base.connection.select_rows(ActiveRecord::Base.send(:sanitize_sql_array, query))
|
79
|
+
break if rows.nil? || rows.count == 0
|
80
|
+
puts "Deleting #{rows.count} emails..."
|
81
|
+
query = ["delete from users where id in (
|
82
|
+
select max(A.id) from users A
|
83
|
+
where A.email in (select email from users B group by B.email having count(B.email) > ?)
|
84
|
+
group by A.email
|
85
|
+
)", 1]
|
86
|
+
ActiveRecord::Base.connection.execute(ActiveRecord::Base.send(:sanitize_sql_array, query))
|
87
|
+
end
|
88
|
+
end
|
73
89
|
|
74
90
|
end
|
75
91
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: caboose-cms
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.87
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- William Barry
|
@@ -150,6 +150,20 @@ dependencies:
|
|
150
150
|
- - ! '>='
|
151
151
|
- !ruby/object:Gem::Version
|
152
152
|
version: '0'
|
153
|
+
- !ruby/object:Gem::Dependency
|
154
|
+
name: httparty
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - ! '>='
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: '0'
|
160
|
+
type: :runtime
|
161
|
+
prerelease: false
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - ! '>='
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: '0'
|
153
167
|
description: CMS built on rails with love.
|
154
168
|
email:
|
155
169
|
- william@nine.is
|