From: Tom Hughes Date: Tue, 13 Oct 2009 20:06:24 +0000 (+0000) Subject: Merged 17256:18123 from trunk. X-Git-Tag: live~7115^2~7 X-Git-Url: https://git.openstreetmap.org./rails.git/commitdiff_plain/ef40b61ff40881966ae4280cfdcb9f92965e9d10?hp=9bdade37af7984b6d30dbe5397dfcdebef261bff Merged 17256:18123 from trunk. --- diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index e36c9842b..bcaed4565 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -193,8 +193,6 @@ class ApplicationController < ActionController::Base rescue OSM::APIError => ex report_error ex.message, ex.status rescue Exception => ex - logger.info("API threw unexpected #{ex.class} exception: #{ex.message}") - ex.backtrace.each { |l| logger.info(l) } report_error "#{ex.class}: #{ex.message}", :internal_server_error end end diff --git a/app/controllers/trace_controller.rb b/app/controllers/trace_controller.rb index 84026e8cd..c90558269 100644 --- a/app/controllers/trace_controller.rb +++ b/app/controllers/trace_controller.rb @@ -46,15 +46,15 @@ class TraceController < ApplicationController # 4 - user's traces, not logged in as that user = all user's public traces if target_user.nil? # all traces if @user - conditions = ["(gpx_files.visibility in ('public', 'identifiable') OR gpx_files.user_id = ?)", @user.id] #1 + conditions = ["(gpx_files.visibility <> 'private' OR gpx_files.user_id = ?)", @user.id] #1 else - conditions = ["gpx_files.visibility in ('public', 'identifiable')"] #2 + conditions = ["gpx_files.visibility <> 'private'"] #2 end else if @user and @user == target_user conditions = ["gpx_files.user_id = ?", @user.id] #3 (check vs user id, so no join + can't pick up non-public traces by changing name) else - conditions = ["gpx_files.visibility in ('public', 'identifiable') AND gpx_files.user_id = ?", target_user.id] #4 + conditions = ["gpx_files.public <> 'private' AND gpx_files.user_id = ?", target_user.id] #4 end end @@ -211,7 +211,7 @@ class TraceController < ApplicationController end def georss - conditions = ["gpx_files.visibility in ('public', 'identifiable')"] + conditions = ["gpx_files.visibility <> 'private'"] if params[:display_name] conditions[0] += " AND users.display_name = ?" diff --git a/app/models/changeset.rb b/app/models/changeset.rb index 4efd4f9e7..5c961a064 100644 --- a/app/models/changeset.rb +++ b/app/models/changeset.rb @@ -112,10 +112,10 @@ class Changeset < ActiveRecord::Base # FIXME - this looks nasty and violates DRY... is there any prettier # way to do this? - @bbox[0] = [-180 * GeoRecord::SCALE, array[0] + EXPAND * (@bbox[0] - @bbox[2])].max if array[0] < @bbox[0] - @bbox[1] = [ -90 * GeoRecord::SCALE, array[1] + EXPAND * (@bbox[1] - @bbox[3])].max if array[1] < @bbox[1] - @bbox[2] = [ 180 * GeoRecord::SCALE, array[2] + EXPAND * (@bbox[2] - @bbox[0])].min if array[2] > @bbox[2] - @bbox[3] = [ 90 * GeoRecord::SCALE, array[3] + EXPAND * (@bbox[3] - @bbox[1])].min if array[3] > @bbox[3] + @bbox[0] = array[0] + EXPAND * (@bbox[0] - @bbox[2]) if array[0] < @bbox[0] + @bbox[1] = array[1] + EXPAND * (@bbox[1] - @bbox[3]) if array[1] < @bbox[1] + @bbox[2] = array[2] + EXPAND * (@bbox[2] - @bbox[0]) if array[2] > @bbox[2] + @bbox[3] = array[3] + EXPAND * (@bbox[3] - @bbox[1]) if array[3] > @bbox[3] # update active record. rails 2.1's dirty handling should take care of # whether this object needs saving or not. diff --git a/app/views/layouts/site.html.erb b/app/views/layouts/site.html.erb index 1e4e56e6a..d1983a9f0 100644 --- a/app/views/layouts/site.html.erb +++ b/app/views/layouts/site.html.erb @@ -1,11 +1,15 @@ + <%= javascript_strings %> <%= javascript_include_tag 'prototype' %> <%= javascript_include_tag 'site' %> - <%= stylesheet_link_tag 'site' %> + <%= stylesheet_link_tag 'common' %> + + <%= stylesheet_link_tag 'site-sml', :media => "only screen and (max-width: 481px)" %> + <%= stylesheet_link_tag 'site', :media => "screen and (min-width: 482px)" %> <%= stylesheet_link_tag 'print', :media => "print" %> <%= tag("link", { :rel => "search", :type => "application/opensearchdescription+xml", :title => "OpenStreetMap Search", :href => "/opensearch/osm.xml" }) %> <%= tag("meta", { :name => "description", :content => "OpenStreetMap is the free wiki world map." }) %> @@ -23,7 +27,8 @@ <% if @user and @user.id %> - <%= t 'layouts.welcome_user', :user_link => (link_to h(@user.display_name), {:controller => 'user', :action => 'view', :display_name => @user.display_name}, :title => t('layouts.welcome_user_link_tooltip')) %> | + <%= t 'layouts.welcome_user', :user_link => (link_to h(@user.display_name), {:controller => 'user', :action => 'view', :display_name => @user.display_name}, :title => t('layouts.welcome_user_link_tooltip')) %> + <%= link_to t('layouts.welcome_user_link_tooltip'), {:controller => 'user', :action => 'view', :display_name => @user.display_name} %> | <%= yield :greeting %> <% inbox_attributes = {} diff --git a/app/views/site/edit.html.erb b/app/views/site/edit.html.erb index b29c0f200..51389afc1 100644 --- a/app/views/site/edit.html.erb +++ b/app/views/site/edit.html.erb @@ -12,7 +12,7 @@ <% else %> <% content_for :greeting do %> <% if @user and !@user.home_lon.nil? and !@user.home_lat.nil? %> -<%= link_to_function t('layouts.home'), "setPosition(#{@user.home_lat}, #{@user.home_lon}, 10)", { :title => t('layouts.home_tooltip') } %> | +<%= link_to_function 'home', "setPosition(#{@user.home_lat}, #{@user.home_lon}, 10)" %> | <% end %> <% end %> diff --git a/app/views/user/login.html.erb b/app/views/user/login.html.erb index d77110d13..77294e62f 100644 --- a/app/views/user/login.html.erb +++ b/app/views/user/login.html.erb @@ -5,9 +5,9 @@ <% form_tag :action => 'login' do %> <%= hidden_field_tag('referer', h(params[:referer])) %> - + - +
<%= t 'user.login.email or username' %><%= text_field('user', 'email',{:size => 50, :maxlength => 255, :tabindex => 1}) %>
<%= t 'user.login.email or username' %><%= text_field('user', 'email',{:size => 28, :maxlength => 255, :tabindex => 1}) %>
<%= t 'user.login.password' %><%= password_field('user', 'password',{:size => 28, :maxlength => 255, :tabindex => 2}) %> (<%= link_to t('user.login.lost password link'), :controller => 'user', :action => 'lost_password' %>)
 
<%= submit_tag t('user.login.login_button'), :tabindex => 3 %>
<%= submit_tag t('user.login.login_button'), :tabindex => 3 %>
<% end %> diff --git a/public/stylesheets/common.css b/public/stylesheets/common.css new file mode 100644 index 000000000..b05dcc3d9 --- /dev/null +++ b/public/stylesheets/common.css @@ -0,0 +1,688 @@ +a, a:visited, a:active, a:link, a:hover { + color: #00f; + text-decoration: none; +} + +a:hover { + text-decoration: underline; +} + +#frontpage_main { + width: 100%; + text-align: center; + font-family: sans-serif; +} + + +#frontpage_MAIN h1 { + font-size: xx-large; + font-weight: normal; +} + +body { + font-family: Arial,sans-serif; + color: #000; + background-color: #fff; + margin: 0px; + padding: 0px; +} + +#left { + position: absolute; + top: -8px; + min-width: 150px; +} + +#logo { + width: 150px; + min-width: 150px; + padding: 10px; + margin: 10px; + height: 150px; + background: #fff; + border: 1px solid #ccd; +} +#logo h1 { + font-size: 14px; + text-align: center; + margin: 0px; +} +#logo h2 { + font-size: 10px; + margin: 0px; +} + +/* The Map Key sidebar */ +#mapkey h3 { + font-size: 110%; + font-weight: normal; + text-align: center; +} + +#mapkey .mapkey-table { + padding-left: 5px; + padding-right: 5px; +} + +/*#mapkey .mapkey-table-key {}*/ + +#mapkey .mapkey-table-value { + font-size: 90%; +} + + +#greeting { + float: right; + height: 20px; + margin: 0px; + padding-right: 10px; + padding-top: 5px; + font-size: 13px; + line-height: 14px; + background: url('../images/tab_bottom.gif') repeat-x bottom; +} + +#small-greeting { + display: none; +} + +/* An unread message (e.g. "inbox(1)") */ +.greeting-bar-unread { + font-weight: bold; +} + +#intro { + width: 170px; + margin: 10px; + border: 1px solid #ccc; + font-size: 11px; +} + +#intro p { margin: 10px; } + +#alert { + width: 150px; + margin: 10px; + padding: 10px; + border: 1px solid #ccc; + background: #d00; + line-height: 1.2em; + text-align: left; + font-size: 14px; +} + +#sotm { + width: 170px; + padding: 0px; +} + +.notice { + width: 150px; + margin: 10px; + padding: 10px; + border: 1px solid #ccc; + background: #ea0; + line-height: 1.2em; + text-align: left; + font-size: 14px; +} + +.donate { + width: 150px; + margin: 10px; + padding: 10px; + border: 1px solid #ccc; + background: #cbeea7; + line-height: 1.2em; + text-align: center; + font-size: 14px; +} + +.left_menu { + width: 150px; + min-width: 150px; + margin: 10px; + padding: 10px; + border: 1px solid #ccc; + left: 0px; + background: #ddd; + line-height: 1.2em; + text-align: Left; + font-size: 14px; + font-weight: bold; +} + +.left_menu td { + font-size: 12px; + padding-right: 4px; +} + +.left_menu h1 { + font-style: normal; + font-size: 15px; + padding: 0em 0em 0em 1em; + text-align: left; +} + +.left_menu ul { + /*list-style: none;*/ + padding-left: 10px; + margin: 0px; +} + +.left_menu li { + margin: 0px; + padding: 0px; +} + +.left_menu img { + margin: 2px 8px 0px 0px; +} + +.left_menu a, .left_menu a:visited, .left_menu a:active, .left_menu a:link, .left_menu a:hover { + color: #000; + text-decoration: none; +} + +.left_menu a:hover { + color: #000; + text-decoration: underline; +} + +#messages { + border: 1px solid #ccc; +} + + +#content { + padding: 0px; + margin: 0px; + position: absolute; + left: 192px; + right: 10px; + top: 35px; + bottom: 10px; + line-height: 1.2em; + text-align: left; +} + +#bottom_bar { + position: absolute; + bottom: 0px; + width: 100%; + font-size: x-small; + text-align: center; +} + +#mapImage { + position: absolute; + left: 0px; +} +#drag { + top: 0px; + left: 14px; +} + +#mapEpilog { + font-size: x-small; +} + +#changeset_list, #keyvalue { + font-size: small; + text-align: left; + border-collapse: collapse; + border-width: 0px; +} + +#changeset_list { + width: 100%; +} + +#changeset_list .date { + white-space: nowrap; +} + +#changeset_list .user { + white-space: nowrap; +} + +#changeset_list .area { + white-space: nowrap; +} + +#changeset_list.th { + font-weight: bold; +} + +.emphasized { + background-color: #82bcff; +} + + +#header { + float: left; + width: 100%; + background: #DAE0D2; + font-size: 93%; + line-height: normal; +} +#header ul { + margin: 0px; + padding: 10px 10px 0px 215px; + list-style: none; +} +#header li { + float: left; + margin: 0px; + padding: 0px 0px 0px 9px; +} +#header li a { + float: left; + display: block; + padding: 5px 15px 4px 6px; + text-decoration: none; + font-weight: bold; + color: #765; +} + +#header li a {float:none;} + +#header li a:hover { + color: #333; +} +#header #current a { + color: #333; + padding-bottom: 5px; +} + +#tabnav +{ + height: 20px; + margin: 0px; + padding-left: 215px; + padding-top: 5px; + background: url('../images/tab_bottom.gif') repeat-x bottom; +} +#tabnav li +{ + margin: 0px; + padding: 0px; + display: inline; + list-style-type: none; +} +#tabnav a, #tabnav a:link, #tabnav a:visited +{ + float: left; + background: #f3f3f3; + font-size: 13px; + line-height: 14px; + font-weight: bold; + padding: 2px 10px; + margin-right: 4px; + border: 1px solid #ccc; + text-decoration: none; + color: #333; +} +#tabnav a:link.active, #tabnav a:visited.active +{ + border-bottom: 1px solid #fff; + background: #fff; + color: #000; +} +#tabnav a:link:hover +{ + background: #fff; +} + +#gads { + /* position: absolute; */ + left: 100px; + width: 700px; + text-align: center; + font-size: 10px; +} + +hr { + border: none; + background-color: #ccc; + color: #ccc; + height: 1px; +} + +.gpxsummary { + font-size: 12px; + color: gray; +} + +.gpxdesc { + font-style: italic; +} + +.table0 { + background: #f6f6f6; +} + +.table1 { + background: #fff; +} + + +.optionalbox { + width: 150px; + min-width: 150px; + margin: 10px; + padding: 10px; + border: 1px solid #ccc; + left: 0px; + line-height: 1.2em; + text-align: left; + font-size: 12px; + background: #eee; +} + +.oboxheader { + font-size: 14px; + font-weight: bold; + line-height: 22px; + vertical-align: bottom; +} + +.whereami { + position: absolute; + right: 21px; + line-height: 22px; + vertical-align: bottom; +} + +.optionalbox form { + margin: 0px; + padding: 0px; +} + +#search_field form { + width: 100%; +} + +#search_field input[type="text"] { + width: 116px; +} + +#search_field input[type="submit"] { + width: 26px; +} + +.search_form { + height: 16px; + padding-bottom: 6px; +} + +.rsssmall { + position: relative; + top: 4px; +} + +.button { + margin-top: 10px; + margin-bottom: 10px; +} + +#controls img +{ + z-index: 9999; +} + +#controls +{ + position:absolute; + top: 0px; + left: 0px; + width: 64px; + height: 32px; + z-index: 9998; + cursor: pointer; +} + +#map { + position: absolute; + border: 1px solid black; + margin: 0px; + padding: 0px; + left: 0px; + right: 2px; + top: 0px; + bottom: 0px; +} + +#sidebar { + display: none; + position: absolute; + border: 1px solid black; + margin: 0px; + padding: 0px; + width: 30%; + left: 0px; + top: 0px; + bottom: 0px; +} + +#sidebar_content { + overflow: auto; + position: absolute; + font-size: 13px; + line-height: 14px; + top: 29px; + bottom: 0px; + left: 0px; + right: 0px; +} + +.sidebar_title { + margin: 0px; + padding: 3px 6px; + height: 29px; + font-size: 14px; + line-height: 15px; + border-bottom: 1px solid black; + background: #bbb; +} + +.browse_heading { + margin: 0px; + padding: 3px 6px; + border: 1px solid #ccc; + background: #ddd; +} + +.browse_details { + margin: 0px; + padding: 0px 6px; +} + +.search_results_heading { + margin: 0px; + padding: 3px 6px; + border: 1px solid #ccc; + background: #ddd; +} + +.search_results_entry { + margin: 0px; + padding: 2px 6px; +} + +.search_results_error { + margin: 0px; + padding: 2px 6px 0px; + color: #f00; +} + +.search_help { + font-size: 10px; + line-height: 1em; + margin-top: 3px; + margin-bottom: 0px; +} + +.search_searching { + margin-top: 5px; + margin-bottom: 5px; +} + +.olControlAttribution { + display: none !important; +} + +/* inbox and messaging stuff */ +.inbox-row-unread .inbox-subject { + font-weight: bold; +} + +/* rails error field stuff */ + +.fieldWithErrors { + padding: 2px; + background-color: red; + display: table; +} + +#notice { + border: 1px solid green; + padding: 7px; + background-color: #f0fff0; + margin-bottom: 20px; +} + +#errorExplanation { + width: 400px; + border: 2px solid red; + padding: 7px; + padding-bottom: 12px; + margin-bottom: 20px; + background-color: #f0f0f0; +} + +#errorExplanation h2 { + text-align: left; + font-weight: bold; + padding: 5px 5px 5px 15px; + font-size: 12px; + margin: -7px; + background-color: #c00; + color: #fff; +} + +#errorExplanation p { + color: #333; + margin-bottom: 0px; + padding: 5px; +} + +#errorExplanation ul li { + font-size: 12px; + list-style: square; +} + +input[type="text"], input[type="password"], textarea { + border: 1px solid black; +} + +input[type="submit"] { + border: 1px solid black; +} + +#accountForm td { + padding-bottom:10px; +} + +.fieldName { + text-align:right; + font-weight:bold; +} + + +.nohome .location { + display: none; +} + +#homerow .message { + display: none; +} + +.nohome .message { + display: inline !important; +} + +.minorNote { + font-size:0.8em; +} + +.nowrap { + white-space: nowrap; +} + +#map #popup p { + margin: 0px; + padding: 2px; +} + +#permalink { + z-index:10000; + position:absolute; + bottom:15px; + right:15px; + font-size:smaller; + text-align: right; +} + +#attribution { + display: none; +} + +.export_heading { + margin: 0px; + padding: 3px 6px; + border: 1px solid #ccc; + background: #ddd; +} + +.export_bounds { + width: 100%; + text-align: center; +} + +.export_bound { + margin: 5px; +} + +.export_details { + padding: 2px 6px; +} + +#export_osm { + display: none; +} + +#export_mapnik { + display: none; +} + +#export_osmarender { + display: none; +} + +.export_hint { + padding: 0px 12px; + font-style: italic; +} + +.export_buttons { + width: 100%; + text-align: center; +} + +#noscript { + z-index: 20000000; + position: absolute; + top: 15px; + left: 15px +} diff --git a/public/stylesheets/site-sml.css b/public/stylesheets/site-sml.css new file mode 100644 index 000000000..d81e0453f --- /dev/null +++ b/public/stylesheets/site-sml.css @@ -0,0 +1,117 @@ +/* styles specific to a small-format screen, such as iPhone, Android, etc... */ + +body { + font-size: 12px; +} +h1 { + font-size: 14px; +} + +#logo { + width: 100px; + min-width: 100px; + padding: 10px; + margin: 10px; + margin-top: 10px; + height: 70px; + background: #fff; + border: 1px solid #ccd; +} +#logo h1 { + font-size: 11px; + text-align: center; + margin: 0px; +} +#logo h2 { + font-size: 8px; + margin: 0px; +} +#logo-img { + display: none; +} + +#tabnav +{ + height: 14px; + margin: 0px; + padding-left: 10px; + padding-top: 5px; + margin-top: 18px; + background: url('../images/tab_bottom.gif') repeat-x bottom; + font-size: 10px; + line-height: 10px; +} +#tabnav li +{ + margin: 0px; + padding: 0px; + display: inline; + list-style-type: none; +} +#tabnav a, #tabnav a:link, #tabnav a:visited +{ + float: left; + background: #f3f3f3; + font-size: 10px; + line-height: 10px; + font-weight: bold; + padding: 1px 5px; + margin-right: 1px; + border: 1px solid #ccc; + text-decoration: none; + color: #333; +} +#tabnav a:link.active, #tabnav a:visited.active +{ + border-bottom: 1px solid #fff; + background: #fff; + color: #000; +} +#tabnav a:link:hover +{ + background: #fff; +} + +#left { + display: none; + min-width: 100px; + top: 20px; +} +#intro { + display: none; +} +.left_menu { + width: 100px; + min-width: 100px; +} +.optionalbox { + width: 100px; + min-width: 100px; +} +.donate { + width: 100px; + min-width: 100px; +} +#content { + /* left: 142px; */ + left: 10px; + top: 47px; +} + +#greeting { + position: absolute; + top: 0px; + right: 0px; + height: 14px; + font-size: 12px; + line-height: 12px; + white-space: nowrap; + background: none; +} +#full-greeting { + display: none; +} +#small-greeting { + display: inline; +} + diff --git a/public/stylesheets/site.css b/public/stylesheets/site.css index 22541778e..4b40940df 100644 --- a/public/stylesheets/site.css +++ b/public/stylesheets/site.css @@ -1,685 +1,5 @@ -a, a:visited, a:active, a:link, a:hover { - color: #00f; - text-decoration: none; -} - -a:hover { - text-decoration: underline; -} - -#frontpage_main { - width: 100%; - text-align: center; - font-family: sans-serif; -} - - -#frontpage_MAIN h1 { - font-size: xx-large; - font-weight: normal; -} - -body { - font-family: Arial,sans-serif; - color: #000; - background-color: #fff; - margin: 0px; - padding: 0px; -} - -#left { - position: absolute; - top: -8px; - min-width: 150px; -} - -#logo { - width: 150px; - min-width: 150px; - padding: 10px; - margin: 10px; - height: 150px; - background: #fff; - border: 1px solid #ccd; -} -#logo h1 { - font-size: 14px; - text-align: center; - margin: 0px; -} -#logo h2 { - font-size: 10px; - margin: 0px; -} - -/* The Map Key sidebar */ -#mapkey h3 { - font-size: 110%; - font-weight: normal; - text-align: center; -} - -#mapkey .mapkey-table { - padding-left: 5px; - padding-right: 5px; -} - -/*#mapkey .mapkey-table-key {}*/ - -#mapkey .mapkey-table-value { - font-size: 90%; -} - - -#greeting { - float: right; - height: 20px; - margin: 0px; - padding-right: 10px; - padding-top: 5px; - font-size: 13px; - line-height: 14px; - background: url('../images/tab_bottom.gif') repeat-x bottom; -} - -/* An unread message (e.g. "inbox(1)") */ -.greeting-bar-unread { - font-weight: bold; -} - -#intro { - width: 170px; - margin: 10px; - border: 1px solid #ccc; - font-size: 11px; -} - -#intro p { margin: 10px; } - -#alert { - width: 150px; - margin: 10px; - padding: 10px; - border: 1px solid #ccc; - background: #d00; - line-height: 1.2em; - text-align: left; - font-size: 14px; -} - -#sotm { - width: 170px; - padding: 0px; -} - -.notice { - width: 150px; - margin: 10px; - padding: 10px; - border: 1px solid #ccc; - background: #ea0; - line-height: 1.2em; - text-align: left; - font-size: 14px; -} - -.donate { - width: 150px; - margin: 10px; - padding: 10px; - border: 1px solid #ccc; - background: #cbeea7; - line-height: 1.2em; - text-align: center; - font-size: 14px; -} - -.left_menu { - width: 150px; - min-width: 150px; - margin: 10px; - padding: 10px; - border: 1px solid #ccc; - left: 0px; - background: #ddd; - line-height: 1.2em; - text-align: Left; - font-size: 14px; - font-weight: bold; -} - -.left_menu td { - font-size: 12px; - padding-right: 4px; -} - -.left_menu h1 { - font-style: normal; - font-size: 15px; - padding: 0em 0em 0em 1em; - text-align: left; -} - -.left_menu ul { - /*list-style: none;*/ - padding-left: 10px; - margin: 0px; -} - -.left_menu li { - margin: 0px; - padding: 0px; -} - -.left_menu img { - margin: 2px 8px 0px 0px; -} - -.left_menu a, .left_menu a:visited, .left_menu a:active, .left_menu a:link, .left_menu a:hover { - color: #000; - text-decoration: none; -} - -.left_menu a:hover { - color: #000; - text-decoration: underline; -} - -#messages { - border: 1px solid #ccc; -} - - -#content { - padding: 0px; - margin: 0px; - position: absolute; - left: 192px; - right: 10px; - top: 35px; - bottom: 10px; - line-height: 1.2em; - text-align: left; -} - -#bottom_bar { - position: absolute; - bottom: 0px; - width: 100%; - font-size: x-small; - text-align: center; -} - -#mapImage { - position: absolute; - left: 0px; -} -#drag { - top: 0px; - left: 14px; -} - -#mapEpilog { - font-size: x-small; -} - -#changeset_list, #keyvalue { - font-size: small; - text-align: left; - border-collapse: collapse; - border-width: 0px; -} - -#changeset_list { - width: 100%; -} - -#changeset_list .date { - white-space: nowrap; -} - -#changeset_list .user { - white-space: nowrap; -} - -#changeset_list .area { - white-space: nowrap; -} - -#changeset_list.th { - font-weight: bold; -} - -.emphasized { - background-color: #82bcff; -} - - -#header { - float: left; - width: 100%; - background: #DAE0D2; - font-size: 93%; - line-height: normal; -} -#header ul { - margin: 0px; - padding: 10px 10px 0px 215px; - list-style: none; -} -#header li { - float: left; - margin: 0px; - padding: 0px 0px 0px 9px; -} -#header li a { - float: left; - display: block; - padding: 5px 15px 4px 6px; - text-decoration: none; - font-weight: bold; - color: #765; -} -/* Commented Backslash Hack -hides rule from IE5-Mac \*/ -#header li a {float:none;} -/* End IE5-Mac hack */ -#header li a:hover { - color: #333; -} -#header #current a { - color: #333; - padding-bottom: 5px; -} - -#tabnav -{ - height: 20px; - margin: 0px; - padding-left: 215px; - padding-top: 5px; - background: url('../images/tab_bottom.gif') repeat-x bottom; -} -#tabnav li -{ - margin: 0px; - padding: 0px; - display: inline; - list-style-type: none; -} -#tabnav a, #tabnav a:link, #tabnav a:visited -{ - float: left; - background: #f3f3f3; - font-size: 13px; - line-height: 14px; - font-weight: bold; - padding: 2px 10px; - margin-right: 4px; - border: 1px solid #ccc; - text-decoration: none; - color: #333; -} -#tabnav a:link.active, #tabnav a:visited.active -{ - border-bottom: 1px solid #fff; - background: #fff; - color: #000; -} -#tabnav a:link:hover -{ - background: #fff; -} - -#gads { - /* position: absolute; */ - left: 100px; - width: 700px; - text-align: center; - font-size: 10px; -} - -hr { - border: none; - background-color: #ccc; - color: #ccc; - height: 1px; -} - -.gpxsummary { - font-size: 12px; - color: gray; -} - -.gpxdesc { - font-style: italic; -} - -.table0 { - background: #f6f6f6; -} - -.table1 { - background: #fff; -} - - -.optionalbox { - width: 150px; - min-width: 150px; - margin: 10px; - padding: 10px; - border: 1px solid #ccc; - left: 0px; - line-height: 1.2em; - text-align: left; - font-size: 12px; - background: #eee; -} - -.oboxheader { - font-size: 14px; - font-weight: bold; - line-height: 22px; - vertical-align: bottom; -} - -.whereami { - position: absolute; - right: 21px; - line-height: 22px; - vertical-align: bottom; -} - -.optionalbox form { - margin: 0px; - padding: 0px; -} - -#search_field form { - width: 100%; -} - -#search_field input[type="text"] { - width: 116px; -} - -#search_field input[type="submit"] { - width: 26px; -} - -.search_form { - height: 16px; - padding-bottom: 6px; -} - -.rsssmall { - position: relative; - top: 4px; -} - -.button { - margin-top: 10px; - margin-bottom: 10px; -} - -#controls img -{ - z-index: 9999; -} - -#controls -{ - position:absolute; - top: 0px; - left: 0px; - width: 64px; - height: 32px; - z-index: 9998; - cursor: pointer; -} - -#map { - position: absolute; - border: 1px solid black; - margin: 0px; - padding: 0px; - left: 0px; - right: 2px; - top: 0px; - bottom: 0px; -} - -#sidebar { - display: none; - position: absolute; - border: 1px solid black; - margin: 0px; - padding: 0px; - width: 30%; - left: 0px; - top: 0px; - bottom: 0px; -} - -#sidebar_content { - overflow: auto; - position: absolute; - font-size: 13px; - line-height: 14px; - top: 29px; - bottom: 0px; - left: 0px; - right: 0px; -} - -.sidebar_title { - margin: 0px; - padding: 3px 6px; - height: 29px; - font-size: 14px; - line-height: 15px; - border-bottom: 1px solid black; - background: #bbb; -} - -.browse_heading { - margin: 0px; - padding: 3px 6px; - border: 1px solid #ccc; - background: #ddd; -} - -.browse_details { - margin: 0px; - padding: 0px 6px; -} - -.search_results_heading { - margin: 0px; - padding: 3px 6px; - border: 1px solid #ccc; - background: #ddd; -} - -.search_results_entry { - margin: 0px; - padding: 2px 6px; -} - -.search_results_error { - margin: 0px; - padding: 2px 6px 0px; - color: #f00; -} - -.search_help { - font-size: 10px; - line-height: 1em; - margin-top: 3px; - margin-bottom: 0px; -} - -.search_searching { - margin-top: 5px; - margin-bottom: 5px; -} - -.olControlAttribution { - display: none !important; -} - -/* inbox and messaging stuff */ -.inbox-row-unread .inbox-subject { - font-weight: bold; -} - -/* rails error field stuff */ - -.fieldWithErrors { - padding: 2px; - background-color: red; - display: table; -} - -#notice { - border: 1px solid green; - padding: 7px; - background-color: #f0fff0; - margin-bottom: 20px; -} - -#errorExplanation { - width: 400px; - border: 2px solid red; - padding: 7px; - padding-bottom: 12px; - margin-bottom: 20px; - background-color: #f0f0f0; -} - -#errorExplanation h2 { - text-align: left; - font-weight: bold; - padding: 5px 5px 5px 15px; - font-size: 12px; - margin: -7px; - background-color: #c00; - color: #fff; -} - -#errorExplanation p { - color: #333; - margin-bottom: 0px; - padding: 5px; -} - -#errorExplanation ul li { - font-size: 12px; - list-style: square; -} - -input[type="text"], input[type="password"], textarea { - border: 1px solid black; -} - -input[type="submit"] { - border: 1px solid black; -} - -#accountForm td { - padding-bottom:10px; -} - -.fieldName { - text-align:right; - font-weight:bold; -} - - -.nohome .location { - display: none; -} - -#homerow .message { - display: none; -} - -.nohome .message { - display: inline !important; -} - -.minorNote { - font-size:0.8em; -} - -.nowrap { - white-space: nowrap; -} - -#map #popup p { - margin: 0px; - padding: 2px; -} - -#permalink { - z-index:10000; - position:absolute; - bottom:15px; - right:15px; - font-size:smaller; - text-align: right; -} - -#attribution { - display: none; -} - -.export_heading { - margin: 0px; - padding: 3px 6px; - border: 1px solid #ccc; - background: #ddd; -} - -.export_bounds { - width: 100%; - text-align: center; -} - -.export_bound { - margin: 5px; -} - -.export_details { - padding: 2px 6px; -} - -#export_osm { - display: none; -} - -#export_mapnik { - display: none; -} - -#export_osmarender { - display: none; -} - -.export_hint { - padding: 0px 12px; - font-style: italic; -} - -.export_buttons { - width: 100%; - text-align: center; -} +/* styles specific to a large-format screen */ -#noscript { - z-index: 20000000; - position: absolute; - top: 15px; - left: 15px +#logo-img-sml { + display: none; } diff --git a/test/functional/changeset_controller_test.rb b/test/functional/changeset_controller_test.rb index 76ec0866a..a840dd233 100644 --- a/test/functional/changeset_controller_test.rb +++ b/test/functional/changeset_controller_test.rb @@ -419,57 +419,6 @@ EOF end end - def test_upload_large_changeset - basic_authorization users(:public_user).email, "test" - - # create a changeset - content "" - put :create - assert_response :success, "Should be able to create a changeset: #{@response.body}" - changeset_id = @response.body.to_i - - # upload some widely-spaced nodes, spiralling positive and negative to cause - # largest bbox over-expansion possible. - diff = < - - - - - - - - - - - - - - - - - - - - - -EOF - - # upload it, which used to cause an error like "PGError: ERROR: - # integer out of range" (bug #2152). but shouldn't any more. - content diff - post :upload, :id => changeset_id - assert_response :success, - "can't upload a spatially-large diff to changeset: #{@response.body}" - - # check that the changeset bbox is within bounds - cs = Changeset.find(changeset_id) - assert cs.min_lon >= -180 * SCALE, "Minimum longitude (#{cs.min_lon / SCALE}) should be >= -180 to be valid." - assert cs.max_lon <= 180 * SCALE, "Maximum longitude (#{cs.max_lon / SCALE}) should be <= 180 to be valid." - assert cs.min_lat >= -90 * SCALE, "Minimum latitude (#{cs.min_lat / SCALE}) should be >= -90 to be valid." - assert cs.max_lat >= 90 * SCALE, "Maximum latitude (#{cs.max_lat / SCALE}) should be <= 90 to be valid." - end - ## # test that deleting stuff in a transaction doesn't bypass the checks # to ensure that used elements are not deleted.