diff --git a/app/assets/javascripts/uploads.js b/app/assets/javascripts/uploads.js index e9eb9eb1..15e43b0b 100644 --- a/app/assets/javascripts/uploads.js +++ b/app/assets/javascripts/uploads.js @@ -25,7 +25,7 @@ function addUploadedImageToSidebar($upload) { jQuery(document).ready(function($) { $('#fileupload').fileupload({ - paramName: 'warpable[uploaded_data]', + paramName: 'uploaded_data', autoUpload: 'true', acceptFileTypes: /(\.|\/)(gif|jpe?g|png)$/i, maxFileSize: 10000000 diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index 4b972a8f..43453a2f 100755 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -1,4 +1,5 @@ class ApplicationController < ActionController::Base + #include OpenIdAuthentication # shouldn't be necessary!! # Prevent CSRF attacks by raising an exception. # For APIs, you may want to use :null_session instead. protect_from_forgery with: :exception diff --git a/app/controllers/maps_controller.rb b/app/controllers/maps_controller.rb index a3f29fe8..1eb04ff4 100644 --- a/app/controllers/maps_controller.rb +++ b/app/controllers/maps_controller.rb @@ -3,7 +3,7 @@ require 'open3' class MapsController < ApplicationController protect_from_forgery :except => [:export] - before_filter :require_user, :only => [:create, :new, :edit, :update, :destroy] + before_filter :require_login, :only => [:create, :new, :edit, :update, :destroy] layout 'knitter2' diff --git a/app/controllers/sessions_controller.rb b/app/controllers/sessions_controller.rb index e1fc70ec..82c6ba8d 100644 --- a/app/controllers/sessions_controller.rb +++ b/app/controllers/sessions_controller.rb @@ -2,7 +2,6 @@ require 'uri' # This controller handles the login/logout function of the site. class SessionsController < ApplicationController - include OpenIdAuthentication # shouldn't be necessary!! #protect_from_forgery :except => [:create] @@openid_url_base = "http://publiclab.org/people/" diff --git a/app/controllers/warpables_controller.rb b/app/controllers/warpables_controller.rb index b4e20461..c0c09b31 100644 --- a/app/controllers/warpables_controller.rb +++ b/app/controllers/warpables_controller.rb @@ -28,9 +28,9 @@ class WarpablesController < ApplicationController end def create - @warpable = Warpable.new(params[:warpable]) + @warpable = Warpable.new + @warpable.image = params[:uploaded_data] @warpable.map_id = params[:map_id] - print params[:map_id] map = Map.find(params[:map_id]) map.updated_at = Time.now map.save @@ -40,7 +40,7 @@ class WarpablesController < ApplicationController render :json => [@warpable.fup_json].to_json, :content_type => 'text/html' } - format.json { render :json => {:files => [@warpable.fup_json]}, :status => :created, :location => @warpable.public_filename() } + format.json { render :json => {:files => [@warpable.fup_json]}, :status => :created, :location => @warpable.image.url } else format.html { render :action => "new" } format.json { render :json => {:files => [@warpable.fup_error_json]}, :layout => false} diff --git a/app/models/map.rb b/app/models/map.rb index 968e1c0f..91f1f6f6 100755 --- a/app/models/map.rb +++ b/app/models/map.rb @@ -1,5 +1,6 @@ require 'open3' class Map < ActiveRecord::Base + attr_accessible :author, :name, :lat, :lon, :location, :description before_validation :update_name validates_presence_of :name,:author,:lat,:lon validates_uniqueness_of :name @@ -30,6 +31,7 @@ class Map < ActiveRecord::Base end end + # impose URL-safe sanity on name def validate self.name != 'untitled' self.name = self.name.gsub(' ','-').gsub('_','-').downcase @@ -41,6 +43,7 @@ class Map < ActiveRecord::Base self.password = Password::update(self.password) if self.password != "" end + # this might have been for a migration; grep for it def update_name self.name = self.name.gsub(/\W/, '-').downcase end diff --git a/app/models/warpable.rb b/app/models/warpable.rb index 3cda569d..5ccb93ae 100755 --- a/app/models/warpable.rb +++ b/app/models/warpable.rb @@ -21,18 +21,18 @@ class Warpable < ActiveRecord::Base #Json formatting for file upload plugin def fup_json - {"name" => read_attribute(:filename), - "size" => read_attribute(:size), - "url" => self.public_filename(:medium), + {"name" => read_attribute(:image_filename), + "size" => read_attribute(:image_size), + "url" => self.image.url(:medium), "id" => self.read_attribute(:id), - "thumbnail_url" => self.public_filename(:thumb), - "delete_url" => public_filename(self), + "thumbnail_url" => self.image.url(:thumb), + "delete_url" => self.image.url, "delete_type" => "DELETE"} end def fup_error_json - {"name" => read_attribute(:filename), - "size" => read_attribute(:size), + {"name" => read_attribute(:image_filename), + "size" => read_attribute(:image_size), "error" => self.errors["base"]} end diff --git a/app/views/maps/index.html.erb b/app/views/maps/index.html.erb index 502e77e9..dd0c51c6 100644 --- a/app/views/maps/index.html.erb +++ b/app/views/maps/index.html.erb @@ -24,11 +24,11 @@ <% @maps.each do |map| %>
<% if !map.private && map.warpables.length > 0 %> - + <% end %> -

<%= link_to map.name.capitalize, map %>

+

<%= map.name.capitalize %>

by <%= map.author %> | <%= map.location %>

diff --git a/app/views/warpables/_new.html.erb b/app/views/warpables/_new.html.erb index a5d90a76..384a165a 100644 --- a/app/views/warpables/_new.html.erb +++ b/app/views/warpables/_new.html.erb @@ -10,7 +10,7 @@

- \ No newline at end of file +