Merge branch 'master' into notes
authorTom Hughes <tom@compton.nu>
Mon, 8 Apr 2013 21:34:37 +0000 (22:34 +0100)
committerTom Hughes <tom@compton.nu>
Mon, 8 Apr 2013 21:34:37 +0000 (22:34 +0100)
Conflicts:
Gemfile.lock
app/views/diary_entry/list.html.erb

1  2 
Gemfile.lock
app/controllers/application_controller.rb

diff --combined Gemfile.lock
index 7679a6ccba333de324c9563523071445aa779a90,c9bd6607c5bc80748ab2dbf05d244bed31731889..5a7a2bba86ab61d43fe6418bb55db3b9ecf6c375
@@@ -67,11 -67,6 +67,11 @@@ GE
        railties (>= 3.0, < 5.0)
        thor (>= 0.14, < 2.0)
      json (1.7.7)
 +    jsonify (0.3.1)
 +      multi_json (~> 1.0)
 +    jsonify-rails (0.3.2)
 +      actionpack
 +      jsonify (< 0.4.0)
      jwt (0.1.8)
        multi_json (>= 1.5)
      libv8 (3.3.10.4)
@@@ -81,7 -76,7 +81,7 @@@
        mime-types (~> 1.16)
        treetop (~> 1.4.8)
      memcached (1.5.0)
-     mime-types (1.21)
+     mime-types (1.22)
      minitest (4.7.0)
      multi_json (1.7.2)
      multi_xml (0.5.3)
        tilt (~> 1.1, != 1.3.0)
      therubyracer (0.10.2)
        libv8 (~> 3.3.10)
-     thor (0.18.0)
+     thor (0.18.1)
      tilt (1.3.6)
      timecop (0.6.1)
      treetop (1.4.12)
@@@ -188,7 -183,6 +188,7 @@@ DEPENDENCIE
    i18n-js (>= 3.0.0.rc2)
    iconv (= 0.1)
    jquery-rails
 +  jsonify-rails
    libxml-ruby (>= 2.0.5)
    memcached (>= 1.4.1)
    minitest
index 3c7dba9844fbbbcd90fa164356b581804edc5839,e5a2b354037dd85fa9864729ddf9059584df2c10..067fc6a511f5856404ef601084d536f21f0be843
@@@ -55,10 -55,6 +55,10 @@@ class ApplicationController < ActionCon
      end
    end
  
 +  def require_oauth
 +    @oauth = @user.access_token(OAUTH_KEY) if @user and defined? OAUTH_KEY
 +  end
 +
    ##
    # requires the user to be logged in by the token or HTTP methods, or have an 
    # OAuth token with the right capability. this method is a bit of a pain to call 
    def require_allow_write_gpx
      require_capability(:allow_write_gpx)
    end
 +  def require_allow_write_notes
 +    require_capability(:allow_write_notes)
 +  end
  
    ##
    # require that the user is a moderator, or fill out a helpful error message
    end
  
    def check_api_readable
-     if STATUS == :database_offline or STATUS == :api_offline
+     if api_status == :offline
        report_error "Database offline for maintenance", :service_unavailable
        return false
      end
    end
  
    def check_api_writable
-     if STATUS == :database_offline or STATUS == :database_readonly or
-        STATUS == :api_offline or STATUS == :api_readonly
+     unless api_status == :online
        report_error "Database offline for maintenance", :service_unavailable
        return false
      end
    end
  
+   def database_status
+     if STATUS == :database_offline
+       :offline
+     elsif STATUS == :database_readonly
+       :readonly
+     else 
+       :online
+     end
+   end
+   def api_status
+     status = database_status
+     if status == :online
+       if STATUS == :api_offline
+         status = :offline
+       elsif STATUS == :api_readonly
+         status = :readonly
+       end
+     end
+     return status
+   end
+   def gpx_status
+     status = database_status
+     if status == :online
+       status = :offline if STATUS == :gpx_offline
+     end
+     return status
+   end
    def require_public_data
      unless @user.data_public?
        report_error "You must make your edits public to upload new data", :forbidden