Some styling changes. Changed drop-down into radio buttons. Tried, and failed, to...
authorMatt Amos <zerebubuth@gmail.com>
Mon, 26 Apr 2010 23:36:44 +0000 (00:36 +0100)
committerMatt Amos <zerebubuth@gmail.com>
Mon, 26 Apr 2010 23:36:44 +0000 (00:36 +0100)
app/controllers/user_controller.rb
app/views/user/terms.html.erb
config/application.yml
config/locales/en.yml
lib/osm.rb
public/stylesheets/common.css

index 2e25719524e0c46c5d0da968831981367ee955f3..603fb2a49aef8a61b0054b907e3bb4f3cd1d1ca5 100644 (file)
@@ -22,8 +22,8 @@ class UserController < ApplicationController
     @title = t 'user.new.title'
     @user = User.new(params[:user])
 
-    country_code = params[:legale] || OSM.IPToCountry(request.remote_ip)
-    @text = OSM.legal_text_for_country(country_code)
+    @legale = params[:legale] || OSM.IPToCountry(request.remote_ip) || APP_CONFIG['default_legale']
+    @text = OSM.legal_text_for_country(@legale)
 
     if @user.invalid?
       render :action => 'new'
index 23e2ba0681975ac64cb8fd16eaf8a506749129b8..daa4396ff00859ae0ea6898ae6571ae5bbc88803 100644 (file)
@@ -2,19 +2,21 @@
 
 <p><%= t 'user.terms.press accept button' %></p>
 
-<p><%= t 'user.terms.legale_select' %>
+<!-- legale is <%= @legale %> -->
 <% form_tag :action => 'terms' do %>
-  <select name="legale">
-    <%= options_for_select([['United Kingdom (default)', 'GB'], ['France', 'FR'], ['Italy', 'IT']], params[:legale]) %>
-    <%= hidden_field_tag('referer', h(params[:referer])) unless params[:referer].nil? %>
-    <%= hidden_field('user', 'email') %>
-    <%= hidden_field('user', 'email_confirmation') %>
-    <%= hidden_field('user', 'display_name') %>
-    <%= hidden_field('user', 'pass_crypt') %>
-    <%= hidden_field('user', 'pass_crypt_confirmation') %>
-    <%= submit_tag(t('user.terms.legale_button')) %>
-  </select>
-<% end %></p>
+  <p><%= t 'user.terms.legale_select' %></p>
+  <% [['france', 'FR'], ['italy', 'IT'], ['rest_of_world', 'GB']].each do |name,legale| %>
+    <%= radio_button_tag 'legale', legale, @legale == legale %>
+    <%= label_tag "legale_#{legale}", t('user.terms.legale_names.' + name) %><br/>
+  <% end %>
+  <%= hidden_field_tag('referer', h(params[:referer])) unless params[:referer].nil? %>
+  <%= hidden_field('user', 'email') %>
+  <%= hidden_field('user', 'email_confirmation') %>
+  <%= hidden_field('user', 'display_name') %>
+  <%= hidden_field('user', 'pass_crypt') %>
+  <%= hidden_field('user', 'pass_crypt_confirmation') %>
+  <%= submit_tag(t('user.terms.legale_button')) %>
+<% end %>
 
 <div id="contributorTerms">
   <p id="first"><%= @text['intro'] %></p>
@@ -62,7 +64,9 @@
     <%= hidden_field('user', 'display_name') %>
     <%= hidden_field('user', 'pass_crypt') %>
     <%= hidden_field('user', 'pass_crypt_confirmation') %>
-    <a href="<%= t 'user.terms.exit_wiki' %>"><%= t 'user.terms.decline' %></a>
-    <%= submit_tag(t('user.terms.button')) %>
+    <div class="left_right_line">
+      <div class="left"><a class="looks_like_button" href="<%= t 'user.terms.exit_wiki' %>"><%= t 'user.terms.decline' %></a></div>
+      <div class="right"><%= submit_tag(t('user.terms.button'), :class => 'float_right') %></div>
+    </div>
   </p>
 <% end %>
index 363cc6398286467dcb907def552bc04d20f4d86d..7b2c603f087ae364e24123293dd238442caa0c6f 100644 (file)
@@ -22,6 +22,8 @@ standard_settings: &standard_settings
   # Quova authentication details
   #quova_username: ""
   #quova_password: ""
+  # Default legale (jurisdiction location) for contributor terms
+  default_legale: GB
  
 development:
   <<: *standard_settings
index 1f0e59e0a84197011e1826b8dff134b302c6380b..9b5e4e171905ef89dd1525015245e591a4933a61 100644 (file)
@@ -1404,16 +1404,20 @@ en:
       continue: Continue
       flash create success message: "User was successfully created. Check your email for a confirmation note, and you will be mapping in no time :-)<br /><br />Please note that you will not be able to login until you've received and confirmed your email address.<br /><br />If you use an antispam system which sends confirmation requests then please make sure you whitelist webmaster@openstreetmap.org as we are unable to reply to any confirmation requests."
     terms:
-      heading: Contributor terms
+      heading: "Contributor terms"
       press accept button: "Please read the agreement below and press the agree button to activate your account."
       consider_pd: "I consider my contributions to be in the Public Domain"
-      consider_pd_why: what's this?
+      consider_pd_why: "what's this?"
       consider_pd_why_url: http://wiki.openstreetmap.org/wiki/Why_would_I_want_my_contributions_to_be_public_domain
       button: Agree
       exit_wiki: "http://wiki.openstreetmap.org/wiki/Contributor_Terms_Declined"
       decline: "Decline"
       legale_select: "Please select your country of residence:"
       legale_button: "Go"
+      legale_names:
+        france: "France"
+        italy: "Italy"
+        rest_of_world: "Rest of the world"
     no_such_user:
       title: "No such user"
       heading: "The user {{user}} does not exist"
index 50e31a7ff8a3c3679833184aae7568470dba0fd3..b5f3cb1aa4fa92aea0c32133c865c27b90615c00 100644 (file)
@@ -510,7 +510,7 @@ module OSM
 
   def self.legal_text_for_country(country_code)
     file_name = File.join(RAILS_ROOT, "config", "legales", country_code.to_s + ".yml")
-    file_name = File.join(RAILS_ROOT, "config", "legales", "GB.yml") unless File.exist? file_name
+    file_name = File.join(RAILS_ROOT, "config", "legales", APP_CONFIG['default_legale'] + ".yml") unless File.exist? file_name
     YAML::load_file(file_name)
   end
 
index c5b98f3b3b4ffa5da352668a5581554dfe0063a4..362e5d619cf9bbb9d705219a877edee741100c44 100644 (file)
@@ -739,3 +739,46 @@ abbr.geo {
 .table1 { 
   background: #fff;
 }
+
+/* rules for styling a link to look like a button to get around the difficulty 
+ * of laying anything out properly in html. */
+
+a.looks_like_button {
+    color: black;
+    background: buttonface;
+    border: 1px solid black;
+    font-size: small;
+    padding: 1px;
+}
+
+/* hack to get left/right alignment on a line working. apparently still works in IE too.
+ * shamelessly stolen from http://www.spartanicus.utvinternet.ie/left_and_right_alignment_using_css.htm
+ */
+div.left_right_line { 
+    text-align:right;
+    margin:1em 0;
+    padding:0;
+    width:80%;
+}
+div.left_right_line div {
+    display:inline;
+    white-space:nowrap
+}
+div.left_right_line div.left {
+    float:left
+}
+#content>div.left_right_line {
+    display:table;
+    width:60%
+}
+#content>div.left_right_line div { 
+    display:table-cell
+}
+#content>div.left_right_line div.left {
+    float:none;
+    text-align:left
+}
+#content>div.left_right_line div.right {
+    text-align:right
+}
+