diff options
author | Marius Mathiesen <marius.mathiesen@gmail.com> | 2009-04-02 16:02:24 +0200 |
---|---|---|
committer | Johan Sørensen <johan@johansorensen.com> | 2009-04-22 15:18:19 +0200 |
commit | ff3fe19becb066fd491511d05a2ef93886279ec8 (patch) | |
tree | 27eb9c594c2297f95ee630cfb892a60e4dc46493 /app/models/merge_request.rb | |
parent | 0d3761f9c610702df946a6f2d49a181e1ebb3a5f (diff) | |
download | gitorious-mainline-outdated-ff3fe19becb066fd491511d05a2ef93886279ec8.zip gitorious-mainline-outdated-ff3fe19becb066fd491511d05a2ef93886279ec8.tar.gz gitorious-mainline-outdated-ff3fe19becb066fd491511d05a2ef93886279ec8.tar.bz2 |
Made a first successful pass at OAuth integration with external site
- URL-encoding the OAuth parameters sent off after creating a merge request.
- Fixing a typo in the parameters for the OAuth parameters (extra _path appended)
- Some more encoding:utf-8 statements
Diffstat (limited to 'app/models/merge_request.rb')
-rw-r--r-- | app/models/merge_request.rb | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/app/models/merge_request.rb b/app/models/merge_request.rb index 81f6977..594f352 100644 --- a/app/models/merge_request.rb +++ b/app/models/merge_request.rb @@ -217,14 +217,23 @@ class MergeRequest < ActiveRecord::Base def terms_accepted validate_through_oauth do confirmed_by_user - callback_response = access_token.post('/merge_requests', oauth_signoff_parameters) + callback_response = access_token.post(target_repository.project.oauth_path_prefix, oauth_signoff_parameters) update_attributes(:contribution_agreement_version => callback_response.body) end end # Returns the parameters that are passed on to the contribution agreement site def oauth_signoff_parameters - {'commit_id' => ending_commit, 'user_name' => user.title, 'user_email' => user.email, 'commit_shas' => commits_to_be_merged.collect(&:id).join(","), 'proposal' => proposal, 'project_name' => source_repository.project.slug,'repository_name' => source_repository.name, 'merge_request_id' => id} + { + 'commit_id' => ending_commit, + 'user_email' => user.email, + 'user_name' => URI.escape(user.title), + 'commit_shas' => commits_to_be_merged.collect(&:id).join(","), + 'proposal' => URI.escape(proposal), + 'project_name' => source_repository.project.slug, + 'repository_name' => source_repository.name, + 'merge_request_id' => id + } end def validate_through_oauth @@ -241,7 +250,7 @@ class MergeRequest < ActiveRecord::Base end def valid_oauth_credentials? - response = access_token.get("/merge_requests.xml") + response = access_token.get("/") return Net::HTTPSuccess === response end end |