diff options
author | Patrick Maia <patrickjourdanmaia@gmail.com> | 2014-08-07 18:31:59 -0300 |
---|---|---|
committer | Patrick Maia <patrickjourdanmaia@gmail.com> | 2014-08-08 13:44:44 -0300 |
commit | 08e622c79a1f128fbafe7a5b2c8001bed18b0c4f (patch) | |
tree | 3c0c6dd0976c32318450f54e9285ffd84e9e186a | |
parent | bd624bdd14ef63186064b2e39fc422f328b24b26 (diff) |
moves disabled features list to service
-rw-r--r-- | fake-service/lib/pixelated_service/server.rb | 1 | ||||
-rw-r--r-- | service/app/pixelated_user_agent.py | 11 | ||||
-rw-r--r-- | web-ui/app/js/features/features.js | 18 |
3 files changed, 26 insertions, 4 deletions
diff --git a/fake-service/lib/pixelated_service/server.rb b/fake-service/lib/pixelated_service/server.rb index d4b9e354..8b29af83 100644 --- a/fake-service/lib/pixelated_service/server.rb +++ b/fake-service/lib/pixelated_service/server.rb @@ -17,6 +17,7 @@ module PixelatedService get '/' do File.read(File.join(settings.root, 'public', 'index.html')) end end + get '/disabled_features' do json [] end get '/mails' do json mails(params["q"], (params["p"] || 0).to_i, (params["w"] || -1).to_i) end delete '/mails' do json delete_mails(params["q"], (params["p"] || 0).to_i, (params["w"] || -1).to_i, params["idents"]) end post '/mails/read' do json readmails(params["idents"], true) end diff --git a/service/app/pixelated_user_agent.py b/service/app/pixelated_user_agent.py index 5b6e4b38..75d202ee 100644 --- a/service/app/pixelated_user_agent.py +++ b/service/app/pixelated_user_agent.py @@ -22,6 +22,17 @@ def respond_json(entity): response = json.dumps(entity) return Response(response=response, mimetype="application/json") +@app.route('/disabled_features') +def disabled_features(): + return respond_json([ + 'saveDraft', + 'createNewTag', + 'replySection', + 'removeTag', + 'encryptionStatus', + 'contacts' + ]) + @app.route('/mails', methods=['POST']) def save_draft_or_send(): diff --git a/web-ui/app/js/features/features.js b/web-ui/app/js/features/features.js index 74efdd07..7d0eb0c6 100644 --- a/web-ui/app/js/features/features.js +++ b/web-ui/app/js/features/features.js @@ -1,13 +1,23 @@ define([], function() { - var disabledFeatures; + var cachedDisabledFeatures; function getFeatures() { - disabledFeatures = disabledFeatures || fetchDisabledFeatures(); - return disabledFeatures; + cachedDisabledFeatures = cachedDisabledFeatures || fetchDisabledFeatures(); + return cachedDisabledFeatures; } function fetchDisabledFeatures() { - return ['saveDraft', 'createNewTag', 'replySection']; + var disabledFeatures; + $.ajax('/disabled_features', { + async: false, + success: function (results){ + disabledFeatures = results; + }, + error: function () { + console.error('Could not load feature toggles'); + } + }); + return disabledFeatures; } return { |