aboutsummaryrefslogtreecommitdiffstats
path: root/lib/tasks
diff options
context:
space:
mode:
Diffstat (limited to 'lib/tasks')
-rw-r--r--lib/tasks/stats.rake48
-rw-r--r--lib/tasks/temp.rake15
2 files changed, 63 insertions, 0 deletions
diff --git a/lib/tasks/stats.rake b/lib/tasks/stats.rake
new file mode 100644
index 000000000..e206ce951
--- /dev/null
+++ b/lib/tasks/stats.rake
@@ -0,0 +1,48 @@
+namespace :stats do
+
+ desc 'Produce transaction stats'
+ task :show => :environment do
+ month_starts = (Date.new(2009, 1)..Date.new(2011, 5)).select { |d| d.day == 1 }
+ headers = ['Period',
+ 'Requests sent',
+ 'Annotations added',
+ 'Track this request email signups',
+ 'Comments on own requests',
+ 'Follow up messages sent']
+ puts headers.join("\t")
+ month_starts.each do |month_start|
+ month_end = month_start.end_of_month
+ period = "#{month_start}-#{month_end}"
+ date_conditions = ['created_at >= ?
+ AND created_at < ?',
+ month_start, month_end+1]
+ request_count = InfoRequest.count(:conditions => date_conditions)
+ comment_count = Comment.count(:conditions => date_conditions)
+ track_conditions = ['track_type = ?
+ AND track_medium = ?
+ AND created_at >= ?
+ AND created_at < ?',
+ 'request_updates', 'email_daily', month_start, month_end+1]
+ email_request_track_count = TrackThing.count(:conditions => track_conditions)
+ comment_on_own_request_conditions = ['comments.user_id = info_requests.user_id
+ AND comments.created_at >= ?
+ AND comments.created_at < ?',
+ month_start, month_end+1]
+ comment_on_own_request_count = Comment.count(:conditions => comment_on_own_request_conditions,
+ :include => :info_request)
+
+ followup_conditions = ['message_type = ?
+ AND created_at >= ?
+ AND created_at < ?',
+ 'followup', month_start, month_end+1]
+ follow_up_count = OutgoingMessage.count(:conditions => followup_conditions)
+ puts [period,
+ request_count,
+ comment_count,
+ email_request_track_count,
+ comment_on_own_request_count,
+ follow_up_count].join("\t")
+ end
+ end
+
+end \ No newline at end of file
diff --git a/lib/tasks/temp.rake b/lib/tasks/temp.rake
new file mode 100644
index 000000000..ce04c7ddd
--- /dev/null
+++ b/lib/tasks/temp.rake
@@ -0,0 +1,15 @@
+namespace :temp do
+
+ desc "Remove plaintext passwords from post_redirect params"
+ task :remove_post_redirect_passwords => :environment do
+ PostRedirect.find_each(:conditions => ['post_params_yaml is not null']) do |post_redirect|
+ if post_redirect.post_params && post_redirect.post_params[:signchangeemail] && post_redirect.post_params[:signchangeemail][:password]
+ params = post_redirect.post_params
+ params[:signchangeemail].delete(:password)
+ post_redirect.post_params = params
+ post_redirect.save!
+ end
+ end
+ end
+
+end