]> git.openstreetmap.org Git - rails.git/commitdiff
Merged 17256:18123 from trunk.
authorTom Hughes <tom@compton.nu>
Tue, 13 Oct 2009 20:06:24 +0000 (20:06 +0000)
committerTom Hughes <tom@compton.nu>
Tue, 13 Oct 2009 20:06:24 +0000 (20:06 +0000)
app/controllers/application_controller.rb
app/controllers/trace_controller.rb
app/models/changeset.rb
app/views/layouts/site.html.erb
app/views/site/edit.html.erb
app/views/user/login.html.erb
public/stylesheets/common.css [new file with mode: 0644]
public/stylesheets/site-sml.css [new file with mode: 0644]
public/stylesheets/site.css
test/functional/changeset_controller_test.rb

index e36c9842ba6c55eea2e652d453b60d16732bc86e..bcaed456590748d1e86c45ba04962ffbc1af1af7 100644 (file)
@@ -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
index 84026e8cd4d420f6f437778df8924db6c6179777..c90558269a6b0b497c7a8a37275846924494753c 100644 (file)
@@ -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 = ?"
index 4efd4f9e7f755e0655d4ee89f55bfcf989e6ed62..5c961a06470c1999d74df7565707559956811135 100644 (file)
@@ -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.
index 1e4e56e6acf9e14de9807ed526bdcd1987fda2c4..d1983a9f0ba2e4cb72c62517bfe7406fd5b9b9a1 100644 (file)
@@ -1,11 +1,15 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<%= I18n.locale %>" lang="<%= I18n.locale %>" dir="<%= t'html.dir' %>">
   <head>
+    <meta name="viewport" content="width=device-width, minimum-scale=1.0, maximum-scale=1.0"/>
     <%= javascript_strings %>
     <%= javascript_include_tag 'prototype' %>
     <%= javascript_include_tag 'site' %>
     <!--[if lt IE 7]><%= javascript_include_tag 'pngfix' %><![endif]--> <!-- thanks, microsoft! -->
-    <%= stylesheet_link_tag 'site' %>
+    <%= stylesheet_link_tag 'common' %>
+    <!--[if IE]><%= stylesheet_link_tag 'site', :media => "screen" %><![endif]--> <!-- IE is totally broken with CSS media queries -->
+    <%= 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 @@
 
     <span id="greeting">
       <% 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')) %> | 
+        <span id="full-greeting"><%= 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')) %></span> 
+        <span id="small-greeting"><%= link_to t('layouts.welcome_user_link_tooltip'), {:controller => 'user', :action => 'view', :display_name => @user.display_name} %></span> | 
         <%= yield :greeting %>
         <%
         inbox_attributes = {}
index b29c0f200e84032f4b0464f98a29a1a436f00c9f..51389afc16181b34c6348146cfb8bbefe6da57ca 100644 (file)
@@ -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 %>
 
index d77110d13b5bac1c9082bb1812ccb142116a1821..77294e62fae34c98cef92b7bd979a3980b88fe58 100644 (file)
@@ -5,9 +5,9 @@
 <% form_tag :action => 'login' do %>
 <%= hidden_field_tag('referer', h(params[:referer])) %>
 <table>
-  <tr><td class="fieldName"><%= t 'user.login.email or username' %></td><td><%= text_field('user', 'email',{:size => 50, :maxlength => 255, :tabindex => 1}) %></td></tr>
+  <tr><td class="fieldName"><%= t 'user.login.email or username' %></td><td><%= text_field('user', 'email',{:size => 28, :maxlength => 255, :tabindex => 1}) %></td></tr>
   <tr><td class="fieldName"><%= t 'user.login.password' %></td><td><%= password_field('user', 'password',{:size => 28, :maxlength => 255, :tabindex => 2}) %> <span class="minorNote">(<%= link_to t('user.login.lost password link'), :controller => 'user', :action => 'lost_password' %>)</span></td></tr>
   <tr><td colspan=2>&nbsp;<!--vertical spacer--></td></tr>
-  <tr><td></td><td align="right"><%= submit_tag t('user.login.login_button'), :tabindex => 3 %></td></tr>
+  <tr><td></td><td align="left"><%= submit_tag t('user.login.login_button'), :tabindex => 3 %></td></tr>
 </table>
 <% end %>
diff --git a/public/stylesheets/common.css b/public/stylesheets/common.css
new file mode 100644 (file)
index 0000000..b05dcc3
--- /dev/null
@@ -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 (file)
index 0000000..d81e045
--- /dev/null
@@ -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;
+}
+
index 22541778e11cb985465e59597fabfb4eb8b04bc6..4b40940df722bd34d7c7d26f07814309095e245a 100644 (file)
@@ -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;
 }
index 76ec0866adcf9899df439126009147ef95b583cd..a840dd2338e8b85b9b8fff30222063705c02c6e9 100644 (file)
@@ -419,57 +419,6 @@ EOF
     end
   end
 
-  def test_upload_large_changeset
-    basic_authorization users(:public_user).email, "test"
-
-    # create a changeset
-    content "<osm><changeset/></osm>"
-    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
-<osmChange>
- <create>
-  <node id='-1' lon='-20' lat='-10' changeset='#{changeset_id}'/>
-  <node id='-10' lon='20'  lat='10' changeset='#{changeset_id}'/>
-  <node id='-2' lon='-40' lat='-20' changeset='#{changeset_id}'/>
-  <node id='-11' lon='40'  lat='20' changeset='#{changeset_id}'/>
-  <node id='-3' lon='-60' lat='-30' changeset='#{changeset_id}'/>
-  <node id='-12' lon='60'  lat='30' changeset='#{changeset_id}'/>
-  <node id='-4' lon='-80' lat='-40' changeset='#{changeset_id}'/>
-  <node id='-13' lon='80'  lat='40' changeset='#{changeset_id}'/>
-  <node id='-5' lon='-100' lat='-50' changeset='#{changeset_id}'/>
-  <node id='-14' lon='100'  lat='50' changeset='#{changeset_id}'/>
-  <node id='-6' lon='-120' lat='-60' changeset='#{changeset_id}'/>
-  <node id='-15' lon='120'  lat='60' changeset='#{changeset_id}'/>
-  <node id='-7' lon='-140' lat='-70' changeset='#{changeset_id}'/>
-  <node id='-16' lon='140'  lat='70' changeset='#{changeset_id}'/>
-  <node id='-8' lon='-160' lat='-80' changeset='#{changeset_id}'/>
-  <node id='-17' lon='160'  lat='80' changeset='#{changeset_id}'/>
-  <node id='-9' lon='-179.9' lat='-89.9' changeset='#{changeset_id}'/>
-  <node id='-18' lon='179.9'  lat='89.9' changeset='#{changeset_id}'/>
- </create>
-</osmChange>
-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.