| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|/
|
|
|
|
|
|
|
|
| |
If we create an Order objecty with editable = True, we don't initialise
self.order, leading to testsuite failures with django-1.3.
This change always initialises Order.order (and Order.reversed), so we
don't exit the constructor without these initalised.
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
|
|
|
|
|
|
|
|
|
|
|
| |
If you write a test for, say, the bundle form of a patch list, you'd
still have to specify the 'no change' value to other form (e.g. the
multiple update one) fields using MultipleBooleanField or else it'd
raise a ValueError when field.clean() is called as part of
form._get_errors().
Signed-off-by: Guilherme Salgado <guilherme.salgado@linaro.org>
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
|
|
|
|
|
|
| |
Use the implied line continuations, and make the indentation more clear.
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
|
|
|
|
|
|
|
| |
This is to replace the couple of places where we duplicate this same
check.
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
|
|
|
|
|
|
|
|
|
| |
When a form is submitted it now delegates to separate processing
functions according to the action. Apart from being more readable it's
now a lot easier to add extra forms for processing lists of patches.
Signed-off-by: Guilherme Salgado <guilherme.salgado@linaro.org>
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
|
|
|
|
|
|
|
|
|
| |
Use autodiscover and the new way to hook AdminSite into the URLconf.
AdminSite.root() will be removed in Django-1.3 as noted here:
http://docs.djangoproject.com/en/dev/internals/deprecation/
Signed-off-by: Dirk Wallenstein <halsmit@t-online.de>
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
|
|
|
|
|
| |
Signed-off-by: Guilherme Salgado <guilherme.salgado@linaro.org>
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
|
|
|
|
|
| |
Signed-off-by: Guilherme Salgado <guilherme.salgado@linaro.org>
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
|
|
|
|
|
|
|
|
|
| |
Change parsemail-bash.sh to uses parsemail.sh (instead of parsemail.py),
as the former sets the required environment variables that were being
set in parsemail-batch.sh.
Signed-off-by: Guilherme Salgado <guilherme.salgado@linaro.org>
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
|
|
|
|
|
|
|
|
|
|
| |
Rather than relying on the registration app's callback mechanism to
create the UserProfile object, use the post_save signal on auth.User.
This means that the UserProfile will be created regardless of how the
User was created.
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
|
|
|
|
|
| |
Signed-off-by: Guilherme Salgado <guilherme.salgado@linaro.org>
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
|
|
|
|
|
|
|
|
|
| |
This is so that we can use static analysis tools like pyflakes to find
undefined names (and other common mistakes we often make) without being
swamped with unused imports warnings.
Signed-off-by: Guilherme Salgado <guilherme.salgado@linaro.org>
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently, we generic_list processes patches in order of the patch_id:X
parameter, which is arbitrarily decided by the browser.
By using id__in, we get patches sorted by the default Patch model
ordering. This means that the (arbitrary) order of get_patch_ids()
doesn't affect the ordering of patches that we process, and bundles
are created with a reasonable default patch order.
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
|
|
|
|
|
|
|
|
| |
It was broken because MultipleBooleanField() was leaking string values instead
of boolens as expected by MultiplePatchForm.
Signed-off-by: Guilherme Salgado <guilherme.salgado@linaro.org>
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
|
|
|
|
|
|
|
|
| |
If a patch comes along with a pull request and a diff, add both to the
Patch model.
Signed-off-by: Guilherme Salgado <guilherme.salgado@linaro.org>
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
|
|
|
|
|
|
|
|
| |
These seem to be what was used in the past to archive/unarchive and delete
patches.
Signed-off-by: Guilherme Salgado <guilherme.salgado@linaro.org>
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
|
|
|
|
|
|
|
|
|
|
| |
Use urllib.quote to sanitise parameter names and values; prevents
escaped ampersands in the input qs from appearing unescaped in the
link output.
Add a testcase for the unescaped qs fragments
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
|
|
|
|
|
|
|
|
|
| |
Django does not use suite() when executing single tests. Importing all
tests directly into __init__.py has the same effect as the replaced
version of suite().
Signed-off-by: Dirk Wallenstein <halsmit@t-online.de>
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Introduce two new Patchwork mail headers that determine the initial
state and delegate of a patch. They take a state name as displayed in
Patchwork and the email address of the wanted delegate. An example:
X-Patchwork-State: Changes Requested
X-Patchwork-Delegate: maintainer@project.tld
Signed-off-by: Dirk Wallenstein <halsmit@t-online.de>
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
|
|
|
|
|
|
|
|
| |
Add fields to the admin change list pages of patchwork models, and add
filters and search boxes where appropriate.
Signed-off-by: Dirk Wallenstein <halsmit@t-online.de>
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
|
|
|
|
| |
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
|
|
|
|
|
|
|
|
| |
If a mail client wraps the line with the sha, there won't necessarily be
a space after 'commit'.
Signed-off-by: Dirk Wallenstein <halsmit@t-online.de>
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
|
|
|
|
|
|
|
|
|
|
|
| |
Add blank = True for nullable fields, to allow forms to be subitted
without a value for these fields.
The keyword 'blank' concerns only validation and does not change what
will be stored in the database.
Signed-off-by: Dirk Wallenstein <halsmit@t-online.de>
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
According to the Django documentation at [1] it is recommended to
implement __unicode__ and not __str__. Django's model base class
provides a __str__ method that will use the __unicode__ method and
convert to utf-8. Also, every text value returned from the DB through
the model is unicode.
It is now possible to edit Patches and Persons that have values with
non-ASCII characters through the admin interface.
[1] http://docs.djangoproject.com/en/1.2/ref/unicode/
Signed-off-by: Dirk Wallenstein <halsmit@t-online.de>
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
|
|
|
|
|
| |
Signed-off-by: Dirk Wallenstein <halsmit@t-online.de>
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
|
|
|
|
|
| |
Signed-off-by: Dirk Wallenstein <halsmit@t-online.de>
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
|
|
|
|
|
|
|
| |
We should now be able to decode internationalised Subject headers, so
add tests for this.
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
|
|
|
|
|
|
|
|
| |
The clean_header function decodes internationalized headers. Use it for
the subject, too.
Signed-off-by: Dirk Wallenstein <halsmit@t-online.de>
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
|
|
|
|
|
|
|
|
|
| |
This reverts commit 7fd7d0bbe4e3fce405e02e9e630ef70023fdd43e.
parse_patch() will never be handed anything but unicode, so no need to
do the decode.
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Patchwork (rightfully) hashes patches using UTF-8:
parser.py:
def hash_patch(str):
[…]
hash.update(line.encode('utf-8') + '\n')
This patch makes sure that it treats the incoming data as UTF-8 as well.
Signed-off-by: martin f. krafft <madduck@madduck.net>
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch fixes following bug in 'list':
---8<---
# pwclient list -p uboot -w andreas.devel | grep New
Traceback (most recent call last):
File "/Users/andreas/bin/pwclient", line 463, in <module>
main()
File "/Users/andreas/bin/pwclient", line 411, in main
action_list(rpc, filt, submitter_str, delegate_str)
File "/Users/andreas/bin/pwclient", line 182, in action_list
(person['name'], person['email'])
UnicodeEncodeError: 'ascii' codec can't encode character u'\xdf' in
position 32: ordinal not in range(128)
--->8---
Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com>
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
|
|
|
|
|
|
|
| |
We need to add an import for HeaderParser on python 2.4; email.Parser
appears to contain the right stuff.
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
|
|
|
|
|
|
|
|
|
| |
Add a a pull_url to the Patch object, and update the parser to look for
git-pull style emails.
Requires SQL migration script.
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
|
|
|
|
|
|
| |
minor whitespace fix.
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
|
|
|
|
|
|
| |
Ecartis inserts X-list list headers.
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
|
|
|
|
| |
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ModelForm was causing validation issues, especially with no-change
fields on required model fields.
Add a test for updating a required field (state) through
MultiplePatchForm.
Change it to a normal form, and call instance.setattr manually. This
makes the new test pass.
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
|
|
|
|
| |
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
|
|
|
|
|
|
|
| |
The number of times I've edited this code and wondered why nothing
changes...
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
|
|
|
|
|
|
|
|
|
| |
We need to remove no-change fields, as newer versions of django are
checking for proper types on validation.
Fixes MultipleUpdateTest.
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
|
|
|
|
|
|
|
| |
Add a test for updating mulitple patches. Currently fails with django
1.1.
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
|
|
|
|
|
|
|
| |
We're ending up wth form errors due to using request.POST, which is
empty.
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
|
|
|
|
|
|
|
|
|
|
|
| |
Since we've got the csrf token present, we may as well check it for
requests.
We're using RequestContext already (via PatchworkRequestContext), so we
just need to switch it on in the settings, and add an exemption on the
xmlrpc interface.
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
|
|
|
|
|
|
|
| |
We need to decode stdin from the patch parser as UTF-8, rather than
python assuming ascii.
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
|
|
|
|
| |
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
|
|
|
|
|
|
|
|
| |
Even though update-patchwork-status.py doesn't really do anything yet,
it uses the ancient way to call Git commands, so this patch fixes that.
Signed-off-by: martin f. krafft <madduck@madduck.net>
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
|
|
|
|
|
|
|
|
|
|
|
| |
Currently, the public bundle view is only looking up bundles by their
name. This may return multiple bundles if two users have bundles with
the same name.
This change adds the user to the bundle lookup.
Reported-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
|
|
|
|
|
|
| |
Adapt the pwclientrc file to suit the current scheme in use.
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
|
|
|
|
|
|
|
|
| |
If the xmlrpc server is using HTTPS, we need to adapt our custom
transport to use SafeTransport.make_connection
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Tested-by: Paul Mundt <lethal@linux-sh.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Trying `pwclient get` with a message containing UTF-8 characters you
would get the following error.
$ python -v pwclient get ID
[...]
# trying /usr/lib/python2.5/encodings/ascii.so
# trying /usr/lib/python2.5/encodings/asciimodule.so
# trying /usr/lib/python2.5/encodings/ascii.py
# /usr/lib/python2.5/encodings/ascii.pyc matches /usr/lib/python2.5/encodings/ascii.py
import encodings.ascii # precompiled from /usr/lib/python2.5/encodings/ascii.pyc
Failed to write to subject.patch
[...]
You can reproduce it with
$ pwclient get http://patchwork.openembedded.org/patch/1440/
and the fix is the same as in 4fc6a16910e595401e919abde28cca436193e0dd
by Mauro Carvalho Chehab.
Signed-off-by: Paul Menzel <paulepanter@users.sourceforge.net>
|