Mercurial > hg > soundsoftware-site
comparison app/controllers/sys_controller.rb @ 156:9d2c8317d42f feature_75
* Add method to WS API controller to permit Embedded plugin to be switched on or off for a project (via /sys/projects/<id>/embedded.xml?key=<key>&enable={0,1})
author | Chris Cannam <chris.cannam@soundsoftware.ac.uk> |
---|---|
date | Thu, 27 Jan 2011 14:53:41 +0000 |
parents | 513646585e45 |
children | 6c282df74a30 |
comparison
equal
deleted
inserted
replaced
155:1ca23eedd587 | 156:9d2c8317d42f |
---|---|
53 render :nothing => true, :status => 200 | 53 render :nothing => true, :status => 200 |
54 rescue ActiveRecord::RecordNotFound | 54 rescue ActiveRecord::RecordNotFound |
55 render :nothing => true, :status => 404 | 55 render :nothing => true, :status => 404 |
56 end | 56 end |
57 | 57 |
58 def set_embedded_active | |
59 project = Project.find(params[:id]) | |
60 mods = project.enabled_modules | |
61 enable = (params[:enable] == "1") | |
62 if mods.detect {|m| m.name == "embedded"} | |
63 logger.info "Project #{project.name} currently has Embedded enabled" | |
64 if !enable | |
65 logger.info "Disabling Embedded" | |
66 modnames = mods.all(:select => :name).collect{|m| m.name}.reject{|n| n == "embedded"} | |
67 project.enabled_module_names = modnames | |
68 end | |
69 else | |
70 logger.info "Project #{project.name} currently has Embedded disabled" | |
71 if enable | |
72 logger.info "Enabling Embedded" | |
73 modnames = mods.all(:select => :name).collect{|m| m.name} | |
74 modnames << "embedded" | |
75 project.enabled_module_names = modnames | |
76 end | |
77 end | |
78 render :nothing => true, :status => 200 | |
79 rescue ActiveRecord::RecordNotFound | |
80 render :nothing => true, :status => 404 | |
81 end | |
82 | |
58 protected | 83 protected |
59 | 84 |
60 def check_enabled | 85 def check_enabled |
61 User.current = nil | 86 User.current = nil |
62 unless Setting.sys_api_enabled? && params[:key].to_s == Setting.sys_api_key | 87 unless Setting.sys_api_enabled? && params[:key].to_s == Setting.sys_api_key |