example db&setting files. maps
This commit is contained in:
parent
07493aaaad
commit
879a26aec3
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -5,6 +5,8 @@ doc/api
|
||||||
doc/app
|
doc/app
|
||||||
public/files
|
public/files
|
||||||
public/thumbs
|
public/thumbs
|
||||||
|
config/database.yml
|
||||||
|
config/settings.yml
|
||||||
config/deploy.rb
|
config/deploy.rb
|
||||||
config/deploy
|
config/deploy
|
||||||
Capfile
|
Capfile
|
||||||
|
|
|
@ -51,7 +51,7 @@ class Photo < ActiveRecord::Base
|
||||||
end
|
end
|
||||||
|
|
||||||
def tag_list
|
def tag_list
|
||||||
return self.tags.find(:all, :order => 'title').collect{ |t| t.title }.sort.join(" ")
|
return self.tags.find(:all, :order => 'title').map{ |t| t.title }.sort.join(" ")
|
||||||
end
|
end
|
||||||
|
|
||||||
def tag_list=(tags)
|
def tag_list=(tags)
|
||||||
|
|
|
@ -1,9 +1,15 @@
|
||||||
<% content_for :javascript do %>
|
<% content_for :javascript do %>
|
||||||
|
<script src="http://maps.google.com/maps?file=api&v=2&sensor=false&key=ABQIAAAA2ASeVD5kkQjUA-G_DcpW6xTYEJCoV24wtogQseyPWcfAg67ZQBRSqFfegsi4Rb7m5RD95qnEcX8gNg" type="text/javascript"></script>
|
||||||
<script src="/javascripts/tag/tag.js" type="text/javascript" charset="utf-8"></script>
|
<script src="/javascripts/tag/tag.js" type="text/javascript" charset="utf-8"></script>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
|
<div id="map_canvas" style="width: 500px; height: 300px;float:right;border:4px solid black;"></div>
|
||||||
|
|
||||||
<%= hidden_field_tag :all_tags, "'#{Tag.find(:all).map { |tag| tag.title }.join('\',\'')}'" %>
|
<%= hidden_field_tag :all_tags, "'#{Tag.find(:all).map { |tag| tag.title }.join('\',\'')}'" %>
|
||||||
<%= hidden_field_tag :collection_id, params[:collection_id] %>
|
<%= hidden_field_tag :collection_id, params[:collection_id] %>
|
||||||
|
<%= form.hidden_field :id %>
|
||||||
|
<%= form.hidden_field :latitude %>
|
||||||
|
<%= form.hidden_field :longitude %>
|
||||||
|
|
||||||
<%= form.label :title, :Title, {:class => 'big'} %><br />
|
<%= form.label :title, :Title, {:class => 'big'} %><br />
|
||||||
<%= form.text_field :title, {:class => 'big'} %><br />
|
<%= form.text_field :title, {:class => 'big'} %><br />
|
||||||
|
@ -18,7 +24,7 @@
|
||||||
<%= form.text_area :note %><br />
|
<%= form.text_area :note %><br />
|
||||||
|
|
||||||
<%= form.label :tags %><br />
|
<%= form.label :tags %><br />
|
||||||
<%= form.text_field :tags, { :autocomplete => "off", :class => 'tag_list', :value => @album.tags.map{|tag|tag.title}.join(" ") } %><br />
|
<%= form.text_field :tags, { :autocomplete => "off", :class => 'tag_list', :value => (@album.tags.map{|tag|tag.title}.join(" ") unless @album.tags.nil?) } %><br />
|
||||||
|
|
||||||
<br />
|
<br />
|
||||||
<% if @album.path? %>
|
<% if @album.path? %>
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
|
|
||||||
<% content_for :action_links do %>
|
<% content_for :action_links do %>
|
||||||
<% if has_role?("admin") %>
|
<% if has_role?("admin") %>
|
||||||
<br /><%= link_to("Delete album", { :action => "destroy", :id => @album },
|
<%= link_to("Delete album", { :action => "destroy", :id => @album },
|
||||||
:confirm => "Are you sure you want to delete this album?",
|
:confirm => "Are you sure you want to delete this album?",
|
||||||
:method => :delete) %>
|
:method => :delete) %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
<% end %>
|
<% end %>
|
||||||
</div>
|
</div>
|
||||||
<h1>ImageGallery</h1>
|
<h1>ImageGallery</h1>
|
||||||
<form action="/photos" method="get" id="search">
|
<form action="/albums" method="get" id="search">
|
||||||
<input type="text" name="q" class="textfie.d"/>
|
<input type="text" name="q" class="textfie.d"/>
|
||||||
<input type="submit" value="Search" class="button" />
|
<input type="submit" value="Search" class="button" />
|
||||||
</form>
|
</form>
|
||||||
|
|
|
@ -1,20 +0,0 @@
|
||||||
development:
|
|
||||||
adapter: postgresql
|
|
||||||
database: gallery_development
|
|
||||||
username: gallery
|
|
||||||
password: changeme
|
|
||||||
production:
|
|
||||||
adapter: mysql
|
|
||||||
encoding: utf8
|
|
||||||
username: photogallery
|
|
||||||
password: changeme
|
|
||||||
database: gallery_production
|
|
||||||
socket: /var/run/mysqld/mysqld.sock
|
|
||||||
test: &TEST
|
|
||||||
adapter: postgresql
|
|
||||||
database: gallery_test
|
|
||||||
username: gallery
|
|
||||||
password: changeme
|
|
||||||
|
|
||||||
cucumber:
|
|
||||||
<<: *TEST
|
|
|
@ -1,30 +0,0 @@
|
||||||
development:
|
|
||||||
site_name: Gallery
|
|
||||||
admin_email: espen@inspired.no
|
|
||||||
site_url: gallery.dev:3000
|
|
||||||
photos_path: '/users/Espen/gallery/dev/originals/'
|
|
||||||
thumbs_path: '/users/Espen/gallery/dev/thumbs/'
|
|
||||||
photos_path_public: '/files/'
|
|
||||||
thumbs_path_public: '/thumbs/'
|
|
||||||
thumb_width: 200
|
|
||||||
thumb_height: 200
|
|
||||||
production:
|
|
||||||
site_name: 'Espen Antonsen photos'
|
|
||||||
admin_email: espen@inspired.no
|
|
||||||
site_url: photos.inspired.no
|
|
||||||
photos_path: '/home/espen/photos/originals/'
|
|
||||||
thumbs_path: '/home/espen/photos/thumbs/'
|
|
||||||
photos_path_public: '/files/'
|
|
||||||
thumbs_path_public: '/thumbs/'
|
|
||||||
thumb_width: 200
|
|
||||||
thumb_height: 200
|
|
||||||
test:
|
|
||||||
site_name: Gallery
|
|
||||||
admin_email: espen@inspired.no
|
|
||||||
site_url: gallery.dev:3000
|
|
||||||
photos_path: '/users/Espen/gallery/test/originals/'
|
|
||||||
thumbs_path: '/users/Espen/gallery/test/thumbs/'
|
|
||||||
photos_path_public: '/files/'
|
|
||||||
thumbs_path_public: '/thumbs/'
|
|
||||||
thumb_width: 200
|
|
||||||
thumb_height: 200
|
|
|
@ -6,5 +6,64 @@ jQuery(function($) {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ( $('#map_canvas').length ) {
|
||||||
|
var map, locations_on_map = new Array();
|
||||||
|
mapInitialize()
|
||||||
|
}
|
||||||
|
|
||||||
|
$("#album_address").change( function () {
|
||||||
|
var geocoder = new GClientGeocoder()
|
||||||
|
//console.log( $("#album_address").val() )
|
||||||
|
geocoder.getLatLng( $("#album_address").val() , function(point) {
|
||||||
|
//console.log( point )
|
||||||
|
if ( point ) {
|
||||||
|
$('#album_latitude').val( point.lat() )
|
||||||
|
$('#album_longitude').val( point.lng() )
|
||||||
|
map.setCenter(new GLatLng( $('#album_latitude').val(), $('#album_longitude').val()), 13);
|
||||||
|
var marker = mapCreateMarker( { 'title' : $("#album_title").val(), 'address' : $("#album_address").val(), 'latitude': point.lat(), 'longitude' : point.lng() } );
|
||||||
|
map.addOverlay(marker);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{ alert('Unable to find address') }
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
function mapInitialize() {
|
||||||
|
if (GBrowserIsCompatible()) {
|
||||||
|
map = new GMap2(document.getElementById("map_canvas"));
|
||||||
|
map.setUIToDefault();
|
||||||
|
map.setCenter(new GLatLng( $('#album_latitude').val(), $('#album_longitude').val()), 13);
|
||||||
|
var marker = mapCreateMarker( { 'id' : $("#album_id").val(), 'title' : $("#album_title").val(), 'address' : $("#album_address").val(), 'latitude': $("#album_latitude").val(), 'longitude' : $("#album_longitude").val() } );
|
||||||
|
map.addOverlay(marker);
|
||||||
|
map.setCenter( new GLatLng( $("#album_latitude").val(), $("#album_longitude").val() ), 13 )
|
||||||
|
locations_on_map[ $("#album_id").val() ][0].openInfoWindowHtml( locations_on_map[ $("#album_id").val() ][1] )
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function mapProcessData(data) {
|
||||||
|
var locations = eval('(' + data + ')');
|
||||||
|
for (var i=0; i<locations.length; i++) {
|
||||||
|
var marker = mapCreateMarker(locations[i].location )
|
||||||
|
if ( marker ) {
|
||||||
|
map.addOverlay( marker )
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function mapCreateMarker(location) {
|
||||||
|
if ( !location.latitude || !location.longitude ) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
var marker = new GMarker( new GLatLng(parseFloat( location.latitude), parseFloat( location.longitude) ) )
|
||||||
|
var html = "<b>" + location.title + "</b> <br/>" + location.address + "<br /><br/>"
|
||||||
|
locations_on_map[location.id] = [marker, html]
|
||||||
|
GEvent.addListener(marker, 'click', function() {
|
||||||
|
marker.openInfoWindowHtml(html);
|
||||||
|
});
|
||||||
|
return marker
|
||||||
|
}
|
||||||
|
|
||||||
//$('div.scrollable').scrollable().click( $('#gallery ul').children().index( $('#gallery li.active') ) )
|
//$('div.scrollable').scrollable().click( $('#gallery ul').children().index( $('#gallery li.active') ) )
|
||||||
});
|
});
|
Loading…
Reference in a new issue