Merge branch 'rails3' of https://github.com/vanicat/balder into vanicat-rails3

master
Espen Antonsen 2011-01-12 15:11:42 +08:00
commit 3d97e3e3fe
16 changed files with 91 additions and 81 deletions

View File

@ -1,6 +1,6 @@
source 'http://rubygems.org'
gem 'rails', '3.0.0'
gem 'rails', '3.0.1'
gem "authlogic"
gem 'mime-types', :require => 'mime/types'

View File

@ -1,20 +1,20 @@
GIT
remote: git://github.com/jnicklas/carrierwave.git
revision: 3372a078a0ea4d6e4e2ee1990610db9186f43b41
revision: 272c9aac1f2f30c4bd2990e28a3b1403c9820f37
specs:
carrierwave (0.5.0.beta2)
activesupport (~> 3.0.0)
carrierwave (0.5.0)
activesupport (~> 3.0)
GEM
remote: http://rubygems.org/
specs:
abstract (1.0.0)
actionmailer (3.0.0)
actionpack (= 3.0.0)
actionmailer (3.0.1)
actionpack (= 3.0.1)
mail (~> 2.2.5)
actionpack (3.0.0)
activemodel (= 3.0.0)
activesupport (= 3.0.0)
actionpack (3.0.1)
activemodel (= 3.0.1)
activesupport (= 3.0.1)
builder (~> 2.1.2)
erubis (~> 2.6.6)
i18n (~> 0.4.1)
@ -22,19 +22,19 @@ GEM
rack-mount (~> 0.6.12)
rack-test (~> 0.5.4)
tzinfo (~> 0.3.23)
activemodel (3.0.0)
activesupport (= 3.0.0)
activemodel (3.0.1)
activesupport (= 3.0.1)
builder (~> 2.1.2)
i18n (~> 0.4.1)
activerecord (3.0.0)
activemodel (= 3.0.0)
activesupport (= 3.0.0)
activerecord (3.0.1)
activemodel (= 3.0.1)
activesupport (= 3.0.1)
arel (~> 1.0.0)
tzinfo (~> 0.3.23)
activeresource (3.0.0)
activemodel (= 3.0.0)
activesupport (= 3.0.0)
activesupport (3.0.0)
activeresource (3.0.1)
activemodel (= 3.0.1)
activesupport (= 3.0.1)
activesupport (3.0.1)
arel (1.0.1)
activesupport (~> 3.0.0)
authlogic (2.1.6)
@ -42,10 +42,10 @@ GEM
builder (2.1.2)
erubis (2.6.6)
abstract (>= 1.0.0)
excon (0.2.3)
fog (0.3.7)
excon (0.2.4)
fog (0.3.19)
builder
excon (>= 0.2.3)
excon (>= 0.2.4)
formatador (>= 0.0.15)
json
mime-types
@ -53,12 +53,13 @@ GEM
nokogiri (~> 1.4.3.1)
ruby-hmac
formatador (0.0.15)
i18n (0.4.1)
i18n (0.4.2)
json (1.4.6)
mail (2.2.6.1)
mail (2.2.10)
activesupport (>= 2.3.6)
mime-types
treetop (>= 1.4.5)
i18n (~> 0.4.1)
mime-types (~> 1.16)
treetop (~> 1.4.8)
mime-types (1.16)
net-ssh (2.0.23)
nokogiri (1.4.3.1)
@ -67,26 +68,26 @@ GEM
rack (1.2.1)
rack-mount (0.6.13)
rack (>= 1.0.0)
rack-test (0.5.4)
rack-test (0.5.6)
rack (>= 1.0)
rails (3.0.0)
actionmailer (= 3.0.0)
actionpack (= 3.0.0)
activerecord (= 3.0.0)
activeresource (= 3.0.0)
activesupport (= 3.0.0)
rails (3.0.1)
actionmailer (= 3.0.1)
actionpack (= 3.0.1)
activerecord (= 3.0.1)
activeresource (= 3.0.1)
activesupport (= 3.0.1)
bundler (~> 1.0.0)
railties (= 3.0.0)
railties (3.0.0)
actionpack (= 3.0.0)
activesupport (= 3.0.0)
railties (= 3.0.1)
railties (3.0.1)
actionpack (= 3.0.1)
activesupport (= 3.0.1)
rake (>= 0.8.4)
thor (~> 0.14.0)
rake (0.8.7)
rmagick (2.13.1)
ruby-hmac (0.4.0)
thor (0.14.1)
treetop (1.4.8)
thor (0.14.4)
treetop (1.4.9)
polyglot (>= 0.3.1)
tzinfo (0.3.23)
@ -99,5 +100,8 @@ DEPENDENCIES
fog
mime-types
pg
rails (= 3.0.0)
rails (= 3.0.1)
rmagick
METADATA
version: 1.0.6

View File

@ -6,7 +6,7 @@ module ApplicationHelper
levels.delete_at(0)
#links = "You are here: "
links = content_tag('a', "HOME", :href => "/") if include_home
links = content_tag('a', "HOME", :href => root_path ) if include_home
nocrumb = ["collections", "albums", "photos", "tags", "new", "edit", "tags"]

View File

@ -10,12 +10,10 @@ class FlashSessionCookieMiddleware
if env['HTTP_USER_AGENT'] =~ /^(Adobe|Shockwave) Flash/
req = Rack::Request.new(env)
env['HTTP_COOKIE'] = [ @session_key,
req.params[@session_key] ]
.join('=').freeze unless req.params[@session_key].nil?
env['HTTP_ACCEPT'] = "#{req.params['_http_accept']}"
.freeze unless req.params['_http_accept'].nil?
req.params[@session_key] ].join('=').freeze unless req.params[@session_key].nil?
env['HTTP_ACCEPT'] = "#{req.params['_http_accept']}".freeze unless req.params['_http_accept'].nil?
end
@app.call(env)
end
end
end

View File

@ -3,8 +3,8 @@ class Album < ActiveRecord::Base
has_many :collection_albums
has_many :collections, :through => :collection_albums
validates_uniqueness_of :path, :message => "Album already exsists on disc"
validates_presence_of :title, :message => "can't be blank"
validates :path, :presence => true, :uniqueness => true #, :message => "Album already exsists on disc"
validates :title, :presence => true #, :message => "can't be blank"
before_validation :ensure_path, :set_title
after_create :create_folders
@ -13,22 +13,20 @@ class Album < ActiveRecord::Base
attr_accessor :tags
#attr_protected :path
scope :untouched, :conditions => "albums.id IN ( SELECT DISTINCT photos.album_id FROM photos WHERE photos.description IS NULL AND photos.id NOT IN ( SELECT photo_id FROM photo_tags) )", :order => 'title'
scope :unused, :conditions => "albums.id NOT IN (SELECT album_id FROM collection_albums)"
scope :used, :conditions => "albums.id IN (SELECT album_id FROM collection_albums)"
scope :untouched, where("albums.id IN ( SELECT DISTINCT photos.album_id FROM photos WHERE photos.description IS NULL AND photos.id NOT IN ( SELECT photo_id FROM photo_tags) )").order('title')
scope :unused, where("albums.id NOT IN (SELECT album_id FROM collection_albums)")
scope :used, where("albums.id IN (SELECT album_id FROM collection_albums)")
def to_param
"#{id}-#{title.parameterize}"
end
def ensure_path
self.path = self.title.parameterize unless self.path
end
def set_title
self.title = File.basename( self.path).titleize unless self.title || !self.path
self.title = File.basename(self.path).titleize unless self.title || !self.path
end
def tags

View File

@ -3,6 +3,8 @@ class Collection < ActiveRecord::Base
has_many :albums, :through => :collection_albums
attr_accessor :album_list
validates :title, :presence => true
def to_param
"#{id}-#{title.parameterize}"
end

View File

@ -1,12 +1,13 @@
class Photo < ActiveRecord::Base
# TODO: path not used? it should be removed from the DB
belongs_to :album
has_many :photo_tags, :dependent => :destroy
has_many :tags, :through => :photo_tags
mount_uploader :file, FileUploader
#validates_uniqueness_of :path, :message => "Photo already exsists on disc"
validates_presence_of :title
validates :title, :presence => true
before_validation :set_title
#before_create :exif_read
@ -49,6 +50,10 @@ class Photo < ActiveRecord::Base
end
self.tags = ts
end
def _delete
0
end
protected
@ -82,6 +87,5 @@ class Photo < ActiveRecord::Base
photo.Keywords = self.tags
photo.save
end
end

View File

@ -6,7 +6,7 @@ class Role < ActiveRecord::Base
has_many :subroles, :through => :roleables, :source => :roleable, :source_type => 'Role'
has_many :users, :through => :roleables, :source => :roleable, :source_type => 'User'
validates_uniqueness_of :name
validates :name, :presence => true, :uniqueness => true
acts_as_permissible
end

View File

@ -1,3 +1,6 @@
class UserSession < Authlogic::Session::Base
# configuration here, see documentation for sub modules of Authlogic::Session
end
def to_key
new_record? ? nil : [ self.send(self.class.primary_key) ]
end
end

View File

@ -3,4 +3,10 @@
<br />
<%= form.label :email %><br />
<%= form.text_field :email %><br />
<br/>
<br/>
<%= form.label :password %><br />
<%= form.password_field :password %><br />
<br/>
<%= form.label :password_confirmation %><br />
<%= form.password_field :password_confirmation %><br />
<br/>

View File

@ -1,6 +1,6 @@
<% content_for :javascript do %>
<script src="http://maps.google.com/maps/api/js?sensor=true" type="text/javascript"></script>
<script src="/javascripts/tag/tag.js" type="text/javascript" charset="utf-8"></script>
<%= javascript_include_tag "http://maps.google.com/maps/api/js?sensor=true" -%>
<%= javascript_include_tag "tag/tag" -%>
<% end %>
<div id="map_canvas"></div>

View File

@ -10,7 +10,8 @@
<% for album in @collection.albums %>
<%= form.fields_for :album_list do |album_fields| %>
<span>
<img src="/images/delete-24x24.png" border="" class="delete" />
<%= image_tag "delete-24x24.png", :class => "delete", :alt => "Delete" -%>
<% if album.photos.empty? %>
<%= album.title %>
<% else %>

View File

@ -19,18 +19,12 @@
<% end %>
</div>
<h1>
<a href="/">
<% if ENV['LOGO'] %>
<%= image_tag ENV['LOGO'] %>
<% else %>
<%= ENV['TITLE'] || "Photos" %>
<% end %>
</a>
</h1>
<form action="/albums" method="get" id="search">
<%= link_to(if ENV['LOGO'] then image_tag(ENV['LOGO']) else (ENV['TITLE'] || "Photos") end, root_path) %>
</h1>
<% form_tag albums_path, { :id => :search } do -%>
<input type="text" name="q" class="textfield"/>
<input type="submit" value="Search" class="button" />
</form>
<% end -%>
<hr class="seperator" />
<%= breadcrumbs %>
</div>
@ -50,4 +44,4 @@
<%= javascript_include_tag 'jquery-1.4.2.js', 'rails', 'balder' %>
<%= yield :javascript %>
</body>
</html>
</html>

View File

@ -1,5 +1,5 @@
<% content_for :javascript do %>
<script src="/javascripts/tag/tag.js" type="text/javascript" charset="utf-8"></script>
<%= javascript_include_tag "tag/tag" -%>
<% end %>
<%= hidden_field_tag :all_tags, @tags %>
<%= form.label :title %><br />

View File

@ -1,11 +1,11 @@
<% content_for :javascript do %>
<script type="text/javascript" src="/javascripts/uploadify-2.1/jquery.uploadify.v2.1.0.min.js"></script>
<script type="text/javascript" src="/javascripts/uploadify-2.1/swfobject.js"></script>
<%= javascript_include_tag "uploadify-2.1/jquery.uploadify.v2.1.0.min.js" -%>
<%= javascript_include_tag "uploadify-2.1/swfobject.js" -%>
<script type="text/javascript">
$(document).ready(function() {
$('#photo_file').uploadify({
uploader:'/javascripts/uploadify-2.1/uploadify.swf',
uploader:'<%= javascript_path "uploadify-2.1/uploadify.swf" -%>',
script:'<%= photos_path %>',
fileDataName : 'photo[file]',
scriptData: {
@ -13,7 +13,7 @@ $(document).ready(function() {
'authenticity_token' : encodeURIComponent('<%= u form_authenticity_token if protect_against_forgery?%>'),
'photo[album_id]' : "<%= @album.id %>"
},
cancelImg:'/javascripts/jquery.uploadify-v1.6.2.mit/cancel.png',
cancelImg:'<%= javascript_path "jquery.uploadify-v1.6.2.mit/cancel.png" -%>',
multi:true,
auto:true,
onComplete : function (e,queueId,fileObj,res,data) {

View File

@ -1,5 +1,5 @@
ActionController::Routing::Routes.draw do
resources :account, :as => "users"
resource :account, :controller => :users
match "login", :to => "user_sessions#new", :as => :login
match "authenticate", :to => "user_sessions#create", :as => :authenticate
match "logout", :to => "user_sessions#destroy", :as => :logout
@ -51,8 +51,8 @@ ActionController::Routing::Routes.draw do
resources :albums
end
resources :users, :to => "admin/users#index"
resources :users, :controller => "admin/users"
root :to => "collections#index"
end
end