From fe1aac5a776136aa475829758c9de73b24ae9133 Mon Sep 17 00:00:00 2001 From: Romain Bignon Date: Tue, 12 Jul 2011 16:46:56 +0200 Subject: [PATCH] fix errors when commenting an issue --- weboob/backends/redmine/browser.py | 8 ++++---- weboob/backends/redmine/pages/issues.py | 3 +++ 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/weboob/backends/redmine/browser.py b/weboob/backends/redmine/browser.py index 616a7797..3ceda52b 100644 --- a/weboob/backends/redmine/browser.py +++ b/weboob/backends/redmine/browser.py @@ -147,10 +147,10 @@ class RedmineBrowser(BaseBrowser): return self.page.get_params() def update_issue(self, id, message): - data = (('_method', 'put'), - ('notes', message.encode('utf-8')), - ) - self.openurl('/issues/%s/edit' % id, urllib.urlencode(data)) + self.location('/issues/%s' % id) + + assert self.is_on_page(IssuePage) + self.page.fill_form(note=message) def create_issue(self, project, **kwargs): self.location('/projects/%s/issues/new' % project) diff --git a/weboob/backends/redmine/pages/issues.py b/weboob/backends/redmine/pages/issues.py index 27a8f5e0..0b7bebf0 100644 --- a/weboob/backends/redmine/pages/issues.py +++ b/weboob/backends/redmine/pages/issues.py @@ -172,6 +172,9 @@ class NewIssuePage(BaseIssuePage): assert status is not None self.browser['issue[status_id]'] = [str(status)] + def set_note(self, message): + self.browser['notes'] = message.encode('utf-8') + def fill_form(self, **kwargs): self.browser.select_form(predicate=lambda form: form.attrs.get('id', '') == 'issue-form') for key, value in kwargs.iteritems():