summaryrefslogtreecommitdiffstats
path: root/app/models/merge_request.rb
diff options
context:
space:
mode:
authorMarius Mathiesen <marius.mathiesen@gmail.com>2009-04-02 16:02:24 +0200
committerJohan Sørensen <johan@johansorensen.com>2009-04-22 15:18:19 +0200
commitff3fe19becb066fd491511d05a2ef93886279ec8 (patch)
tree27eb9c594c2297f95ee630cfb892a60e4dc46493 /app/models/merge_request.rb
parent0d3761f9c610702df946a6f2d49a181e1ebb3a5f (diff)
downloadgitorious-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.rb15
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