From 57418726caaec0c0d99698029cefb4b1f3e1fb9c Mon Sep 17 00:00:00 2001 From: Dan Barber Date: Wed, 15 Dec 2010 13:02:04 -0500 Subject: [PATCH] Added taken_at to photos and sorted on it. --- app/controllers/photos_controller.rb | 4 +-- app/models/photo.rb | 1 + .../20101215172105_add_taken_date_to_photo.rb | 9 +++++++ db/schema.rb | 3 ++- vendor/plugins/jrails/tasks/jrails.rake | 25 ------------------- 5 files changed, 14 insertions(+), 28 deletions(-) create mode 100644 db/migrate/20101215172105_add_taken_date_to_photo.rb delete mode 100644 vendor/plugins/jrails/tasks/jrails.rake diff --git a/app/controllers/photos_controller.rb b/app/controllers/photos_controller.rb index ffd58d1..4e22029 100644 --- a/app/controllers/photos_controller.rb +++ b/app/controllers/photos_controller.rb @@ -7,9 +7,9 @@ class PhotosController < ApplicationController def index if params[:category_id] @category = Category.find_by_id(params[:category_id]) - @photos = @category.photos.enabled.paginate(:page => params[:page], :per_page => 11) + @photos = @category.photos.enabled.order(:taken_at.desc).paginate(:page => params[:page], :per_page => 11) else - @photos = Photo.enabled.paginate :all, :page => params[:page], :per_page => 11 + @photos = Photo.enabled.order(:taken_at.desc).paginate :all, :page => params[:page], :per_page => 11 end respond_to do |format| format.html diff --git a/app/models/photo.rb b/app/models/photo.rb index 69c1b52..e0131e2 100644 --- a/app/models/photo.rb +++ b/app/models/photo.rb @@ -34,6 +34,7 @@ private exif = MiniExiftool.new photo.queued_for_write[:original].path self.title = exif.title if self.title.empty? self.description = exif.description if self.description.empty? + self.taken_at = exif.date_time_original self.save end end diff --git a/db/migrate/20101215172105_add_taken_date_to_photo.rb b/db/migrate/20101215172105_add_taken_date_to_photo.rb new file mode 100644 index 0000000..603d2cd --- /dev/null +++ b/db/migrate/20101215172105_add_taken_date_to_photo.rb @@ -0,0 +1,9 @@ +class AddTakenDateToPhoto < ActiveRecord::Migration + def self.up + add_column :photos, :taken_at, :datetime + end + + def self.down + remove_column :photos, :taken_at + end +end diff --git a/db/schema.rb b/db/schema.rb index aba3c87..b27690b 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended to check this file into your version control system. -ActiveRecord::Schema.define(:version => 20101202155552) do +ActiveRecord::Schema.define(:version => 20101215172105) do create_table "admin_users", :force => true do |t| t.string "first_name", :default => "", :null => false @@ -62,6 +62,7 @@ ActiveRecord::Schema.define(:version => 20101202155552) do t.integer "sort" t.boolean "featured", :default => false t.boolean "enabled", :default => true + t.datetime "taken_at" end end diff --git a/vendor/plugins/jrails/tasks/jrails.rake b/vendor/plugins/jrails/tasks/jrails.rake deleted file mode 100644 index b91d82b..0000000 --- a/vendor/plugins/jrails/tasks/jrails.rake +++ /dev/null @@ -1,25 +0,0 @@ -namespace :jrails do - - namespace :js do - desc "Copies the jQuery and jRails javascripts to public/javascripts" - task :install do - puts "Copying files..." - project_dir = RAILS_ROOT + '/public/javascripts/' - scripts = Dir[File.join(File.dirname(__FILE__), '..', '/javascripts/', '*.js')] - FileUtils.cp(scripts, project_dir) - puts "files copied successfully." - end - - desc 'Remove the prototype / script.aculo.us javascript files' - task :scrub do - puts "Removing files..." - files = %W[controls.js dragdrop.js effects.js prototype.js] - project_dir = File.join(RAILS_ROOT, 'public', 'javascripts') - files.each do |fname| - FileUtils.rm(File.join(project_dir, fname)) if File.exists?(File.join(project_dir, fname)) - end - puts "files removed successfully." - end - end - -end