]> git.ipfire.org Git - thirdparty/patchwork.git/log
thirdparty/patchwork.git
9 years agodocs: Fix a few code blocks
Damien Lespiau [Sun, 4 Oct 2015 13:34:59 +0000 (14:34 +0100)] 
docs: Fix a few code blocks

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Reviwed-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agodocs: Remove unhelpful command
Damien Lespiau [Sun, 4 Oct 2015 13:35:00 +0000 (14:35 +0100)] 
docs: Remove unhelpful command

That doesn't provide much value and can be removed.

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Reviewed-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agodocs: Fix a missing 3rd person 's'
Damien Lespiau [Sun, 4 Oct 2015 13:34:58 +0000 (14:34 +0100)] 
docs: Fix a missing 3rd person 's'

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Reviewed-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agodocs: Remove duplicated 'the'
Damien Lespiau [Sun, 4 Oct 2015 13:34:57 +0000 (14:34 +0100)] 
docs: Remove duplicated 'the'

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Reviewed-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agoretag: Properly display the final count
Damien Lespiau [Sat, 7 Nov 2015 16:49:26 +0000 (16:49 +0000)] 
retag: Properly display the final count

i == count cannot happen in the loop as i will vary from 0 to count - 1.

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Acked-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agoretag: Remove excess line endings
Damien Lespiau [Sat, 7 Nov 2015 16:49:25 +0000 (16:49 +0000)] 
retag: Remove excess line endings

In:

    commit 544b8bbcc7ec80d94c96f181886c51b177530a95
    Author: Stephen Finucane <stephen.finucane@intel.com>
    Date:   Fri Aug 21 15:32:17 2015 +0100

        trivial: Resolve PEP8 issues with 'management'

I noted that it wasn't all trivial changes. And indeed using the
stdin/stdout wrappers change the intended behaviour by adding a new
line.

The stderr wrapper also colors the line in red. Changed the last message
to be printed on stdout, seems more logical.

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Signed-off-by: Stephen Finucane <stephen.finucane@intel.com>
9 years ago.gitignore: patchwork/settings/production.py
aldot [Tue, 10 Nov 2015 20:53:13 +0000 (21:53 +0100)] 
.gitignore: patchwork/settings/production.py

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Reviewed-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agoTODO: cleanup deprecated unittest aliases
aldot [Tue, 10 Nov 2015 20:53:12 +0000 (21:53 +0100)] 
TODO: cleanup deprecated unittest aliases

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Reviewed-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agotests/test_user: Remove duplicate test
aldot [Tue, 10 Nov 2015 20:53:11 +0000 (21:53 +0100)] 
tests/test_user: Remove duplicate test

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Reviewed-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agotests: Don't use exceptions for flow control
Stephen Finucane [Sat, 7 Nov 2015 01:28:56 +0000 (01:28 +0000)] 
tests: Don't use exceptions for flow control

Using exceptions for flow control is bad. Be consistent and instead
use proper functions to check for version support. This also allows
the use of tools to automatically identify feature flags when
removing support for Django versions in the future.

Signed-off-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agoRevert "Remove Django < 1.7 blocks"
Stephen Finucane [Sat, 7 Nov 2015 01:20:05 +0000 (01:20 +0000)] 
Revert "Remove Django < 1.7 blocks"

This reverts commit ea050ad02c61ff1f0bd03ffb02b4706817401aee.

To allow patchwork deployment on Enterpise versions of Linux, it is
necessary to continue to support Django 1.6.

9 years agoRevert "tox: Remove the '-django16' targets"
Stephen Finucane [Sat, 7 Nov 2015 01:19:35 +0000 (01:19 +0000)] 
Revert "tox: Remove the '-django16' targets"

This reverts commit 05bedc9b7678901fd6c590f32c217e1992bd290f.

To allow patchwork deployment on Enterpise versions of Linux, it is
necessary to continue to support Django 1.6.

9 years agoRevert "docs: Note removed support for Django 1.6"
Stephen Finucane [Sat, 7 Nov 2015 01:18:08 +0000 (01:18 +0000)] 
Revert "docs: Note removed support for Django 1.6"

This reverts commit c9edb41d363b0c1926c530e8dc4c39a75e615397.

To allow patchwork deployment on Enterpise versions of Linux, it is
necessary to continue to support Django 1.6.

9 years agopwclient: Integrate 'checks' endpoint
Stephen Finucane [Tue, 21 Jul 2015 17:01:13 +0000 (18:01 +0100)] 
pwclient: Integrate 'checks' endpoint

Signed-off-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agoviews/xmlrpc: Add 'checks' endpoint
Stephen Finucane [Mon, 27 Jul 2015 20:40:02 +0000 (21:40 +0100)] 
views/xmlrpc: Add 'checks' endpoint

This includes adding a serializer plus the endpoint itself.

Signed-off-by: Stephen Finucane <stephen.finucane@intel.com>
--

v2: Version now returns a tuple to allow for sematic versioning

9 years agotemplates/patch: Add check summary panel
Stephen Finucane [Sat, 25 Jul 2015 12:51:13 +0000 (13:51 +0100)] 
templates/patch: Add check summary panel

Add a table to display the checks associated with a patch. This
includes the requisite styling along with some additional filters.

Signed-off-by: Stephen Finucane <stephen.finucane@intel.com>
--

v3: Slight restyling per web UI rework

9 years agotemplates/patch-list: Add patch "checks" column
Stephen Finucane [Thu, 23 Jul 2015 10:54:04 +0000 (11:54 +0100)] 
templates/patch-list: Add patch "checks" column

Add a column to display the important "checks" fields for each patch.
Note that only the "completed" checks are shown (i.e. "in progress" and
"not started" checks are ignored).

Signed-off-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agomodels: Add properties related to checks
Stephen Finucane [Thu, 23 Jul 2015 10:53:13 +0000 (11:53 +0100)] 
models: Add properties related to checks

Add properties for 'Patch' to get the unique checks associated with
a patch, the total number of each type of check and the combined state
of the check. These will be necessary to display this information to
the user.

Signed-off-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agomodels: Add 'check' model
Stephen Finucane [Mon, 29 Jun 2015 20:38:18 +0000 (21:38 +0100)] 
models: Add 'check' model

This will represent the status of tests executed (or executing) against
a patch. This includes a suitable migration and admin view.

Signed-off-by: Stephen Finucane <stephenfinucane@hotmail.com>
--

v3: Remove manual SQL migrations - they're not necessary/possible for
  Django 1.7/1.8, respectively

9 years agotrivial: Cleanup of 'admin.py'
Stephen Finucane [Tue, 21 Jul 2015 17:36:41 +0000 (18:36 +0100)] 
trivial: Cleanup of 'admin.py'

Resolve some issues with the aforementioned file. These are mostly
stylistic changes.

In addition, add a missing license. The date and author are
calculated from Git logs.

Signed-off-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agotrivial: Cleanup of 'models.py'
Stephen Finucane [Thu, 30 Apr 2015 20:16:08 +0000 (21:16 +0100)] 
trivial: Cleanup of 'models.py'

Resolve some issues with the aforementioned file. These are mostly
stylistic changes.

Signed-off-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agoRemove Django < 1.7 blocks
Stephen Finucane [Thu, 5 Nov 2015 15:52:47 +0000 (15:52 +0000)] 
Remove Django < 1.7 blocks

Seeing as we no longer support these versions of Django, there is no
need to keep these blocks around.

Signed-off-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agotox: Remove the '-django16' targets
Stephen Finucane [Mon, 2 Nov 2015 20:20:42 +0000 (20:20 +0000)] 
tox: Remove the '-django16' targets

This version of Django 1.6 is no longer supported and there is no need
to test against it.

Signed-off-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agodocs: Note removed support for Django 1.6
Stephen Finucane [Mon, 2 Nov 2015 20:23:24 +0000 (20:23 +0000)] 
docs: Note removed support for Django 1.6

Signed-off-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agodocs: Emphasise the deprecation of Django 1.6
Stephen Finucane [Mon, 2 Nov 2015 20:18:04 +0000 (20:18 +0000)] 
docs: Emphasise the deprecation of Django 1.6

Though already mentioned in the CHANGELOG, the UPGRADING document
should describe plans to deprecate support for Django 1.6. This will
ensure sysadmins are not suprised when they attempt to upgrade.

Signed-off-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agoCHANGELOG: Add XML-RPC changes
Stephen Finucane [Mon, 2 Nov 2015 20:15:35 +0000 (20:15 +0000)] 
CHANGELOG: Add XML-RPC changes

This was missed in the original patchset.

Signed-off-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agoCHANGELOG: Add UI rework and Selenium features
Stephen Finucane [Thu, 5 Nov 2015 04:25:44 +0000 (04:25 +0000)] 
CHANGELOG: Add UI rework and Selenium features

Signed-off-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agotests: Add a way for the user to skip selenium tests
Damien Lespiau [Tue, 8 Sep 2015 20:54:02 +0000 (21:54 +0100)] 
tests: Add a way for the user to skip selenium tests

It's a bit more convoluted to setup the test environment to work with
selenium (eg. needs a browser installed and Xorg running, ...). It's
possible someone would want to skip those.

v2: Use 'PW' prefix rather than 'PATCHWORK', per existing test
  parameters, and pass said variable through tox

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Signed-off-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agotests: Add a couple of Selenium tests
Damien Lespiau [Tue, 8 Sep 2015 18:00:11 +0000 (19:00 +0100)] 
tests: Add a couple of Selenium tests

While developing the new series UI, several bug crept in but weren't
discovered until later. All because we don't have in-browser tests to go
along the lower level tests we already have.

In particular, behaviours that need javascript to run cannot be tested
outside of a full environment with the pages being served to an actual
browser.

This commit introduces selenium to the test suite and starts with 2
simple tests to give a taste of what it looks like.

test_default_focus: make sure we do focus the username field on the
                    login page

test_login: shows how to chain actions to test the full login phase.
            This is quite similar the lower level test, except it also
            checks we display the username once logged in.

v2: Use LiveServerTestCase for django pre-1.7
v3: Propagate the DISPLAY environment variable to have an X display
    specified for the browser
v4: Log execution of the chrome driver, useful for debugging
v5: Rebase on top of upstream
v6: Pass environmental variables to tox and ensure PEP8 compliance

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Signed-off-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agotox: Use a range of ports for live servers
Damien Lespiau [Tue, 22 Sep 2015 16:11:49 +0000 (17:11 +0100)] 
tox: Use a range of ports for live servers

From:

    https://docs.djangoproject.com/en/1.8/topics/testing/tools/#liveservertestcase

In the case where the tests are run by multiple processes in parallel
(for example, in the context of several simultaneous continuous
integration builds), the processes will compete for the same address, and
therefore your tests might randomly fail with an "Address already in use"
error. For example:

    Traceback (most recent call last):
      File
      ".../python2.7/site-packages/django/test/testcases.py",
      line 1193, in setUpClass
          raise cls.server_thread.error
          error: [Errno 98] Address already in use

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Acked-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agotests: Don't change settings.STATIC_URL in the XML-RPC tests
Damien Lespiau [Tue, 22 Sep 2015 16:11:46 +0000 (17:11 +0100)] 
tests: Don't change settings.STATIC_URL in the XML-RPC tests

I tracked down a weird bug where the Selenium tests supposed to serve
all static files (.css, .js. ...) weren't doing so when running the
full test suite, but everything was working when running the tests in
isolation.

Turns out one of the other tests was changing settings.STATIC_URL
mid-way without restoring the original value in tearDown() and thus
impacting other tests.

It seems that this change wasn't necessary, the XML-RPC server doesn't
server any static file anyway.

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Acked-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agotests: Use --noinput when running tests
Damien Lespiau [Tue, 22 Sep 2015 16:11:45 +0000 (17:11 +0100)] 
tests: Use --noinput when running tests

We don't want prompts when running tests, especially when they are run
through tox and most likely on a CI server.

When cancelling a test mid-way, the test db is not destroyed ans
subsequent runs will fail trying to create it and asking the user what
to do. --noinput will use the default answer, that is to destroy the
test db and start anew.

v2: Rebase on top of upstream
v3: Rebase, yet again.

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Acked-by: Stephen Finucane <stephen.finucane@intel.com> (v2)
9 years agotests: Remove a spurious new line
Damien Lespiau [Tue, 22 Sep 2015 16:11:44 +0000 (17:11 +0100)] 
tests: Remove a spurious new line

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Acked-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agofilters: Fix submitter display when we only have an email address
Damien Lespiau [Mon, 24 Aug 2015 16:54:08 +0000 (17:54 +0100)] 
filters: Fix submitter display when we only have an email address

I'm fairly sure I fixed that already, but here we go again. It's totally
valid to only have an email address for the submitter, so handle that
case properly.

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Acked-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agofilters: Submit the form when <Enter> is pressed on a closed submitter field
Damien Lespiau [Mon, 24 Aug 2015 16:49:52 +0000 (17:49 +0100)] 
filters: Submit the form when <Enter> is pressed on a closed submitter field

<Enter> when an element of the form is focused should submit the form.
Before this patch, when <Enter> was pressed on the submitter button,
nothing would happen.

So, we tweak our <Enter> handling on the submitter input a bit more:
<Enter> can be used to select the submitter from the autocompletion
list, but, when pressed a second time (ie. when the autocompletion
option has be selected and the dropdown isn't shown), we submit the
form.

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
9 years agofilter: Tweak the autocompletion behaviour on <Enter>
Damien Lespiau [Mon, 24 Aug 2015 16:27:49 +0000 (17:27 +0100)] 
filter: Tweak the autocompletion behaviour on <Enter>

No patch has landed yet and we've already had feedback from users (which
is a good thing!) that didn't want to lose the "quick" submitter search
by just typing a string and pressing <Enter> without having to wait for
the autocompletion to finish.

This will also make <Enter> do something useful for input strings that
have fewer than 4 characters, the autocompletion query only triggers
after that.

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Acked-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agopatch-list: Use table-condensed to display the patch list
Damien Lespiau [Fri, 21 Aug 2015 15:04:03 +0000 (16:04 +0100)] 
patch-list: Use table-condensed to display the patch list

Wolfram didn't like the fact we're now seeing far fewer patches on a
single page. That sounds fair enough and the table-condensed bootstrap
class removes some padding, hopefully making it better.

Suggested-by: Wolfram Sang <wsa@the-dreams.de>
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Acked-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agopatch: Capitalize "Incoming Patches"
Damien Lespiau [Mon, 16 Mar 2015 13:34:45 +0000 (13:34 +0000)] 
patch: Capitalize "Incoming Patches"

It's a title after all.

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Acked-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agobase: Don't put the logout button in the is_staff block
Damien Lespiau [Mon, 16 Mar 2015 13:30:00 +0000 (13:30 +0000)] 
base: Don't put the logout button in the is_staff block

Regular users didn't have their logout/profile drop down!

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Acked-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agopatch-list: Limit the number of chars to 100 for the patch subject
Damien Lespiau [Sat, 8 Nov 2014 15:43:36 +0000 (15:43 +0000)] 
patch-list: Limit the number of chars to 100 for the patch subject

It can happen that people send a patch with a huge subject, by mistake.
Make sure it can interfere too much with the list of patches.

As an email subject can include extra words compared to a patch subject
(list header, tags, ...) let's have a slightly larger limit than 72 or
80.

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Acked-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agopatch: Move the submitter and date out of the details
Belén Barros Peña [Sat, 8 Nov 2014 11:56:48 +0000 (11:56 +0000)] 
patch: Move the submitter and date out of the details

Trying to reduce the number of read-only fields in details.

Signed-off-by: Belén Barros Peña <belen.barros.pena@intel.com>
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
9 years agopatch: Redesign slightly the comment headers
Belén Barros Pena [Thu, 6 Nov 2014 14:02:34 +0000 (14:02 +0000)] 
patch: Redesign slightly the comment headers

Signed-off-by: Belén Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Acked-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agopatch: Put the download links next to the "Patch" header
Belén Barros Peña [Sun, 2 Nov 2014 10:38:58 +0000 (10:38 +0000)] 
patch: Put the download links next to the "Patch" header

v2: Fix 'dowload' typo x 2 (Bryce Harrington)

Signed-off-by: Belén Barros Peña <belen.barros.pena@intel.com>
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Acked-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agopatch: Override Bootstrap's <pre> styling
Damien Lespiau [Sat, 1 Nov 2014 23:39:08 +0000 (23:39 +0000)] 
patch: Override Bootstrap's <pre> styling

To look more like what patchwork was using.

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Acked-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agopatch: Pull the patch between the commit message and comments
Damien Lespiau [Sat, 1 Nov 2014 23:29:20 +0000 (23:29 +0000)] 
patch: Pull the patch between the commit message and comments

This follows a logical flow, commit message, patch then comments.

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
9 years agopatch: Single out the commit message
Damien Lespiau [Sat, 1 Nov 2014 19:01:50 +0000 (19:01 +0000)] 
patch: Single out the commit message

All 'Comments' are stored the same way in the db, but I believe it's
worth making the distinction between introducing what the patch does and
eventual review comments.

v3: Fix docstrings
v2: Use two new Patch methods to retrieve the commit message and the
    other comments (called answers here) (Jeremy Kerr)

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Signed-off-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agopatch: Remove the permalink item
Damien Lespiau [Mon, 27 Oct 2014 22:06:59 +0000 (22:06 +0000)] 
patch: Remove the permalink item

One just has to copy the URL, no real need to duplicate that fact.

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Acked-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agostyle: Make the submission tables use #0A0A47
Damien Lespiau [Mon, 27 Oct 2014 20:20:07 +0000 (20:20 +0000)] 
style: Make the submission tables use #0A0A47

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Acked-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agoboxes: Style boxes like the patch form
Damien Lespiau [Mon, 27 Oct 2014 20:19:17 +0000 (20:19 +0000)] 
boxes: Style boxes like the patch form

Here again, a pass may be needed in the future, but for now, make things
consistent.

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Acked-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agopatchform: Minimal changes so patchform titles don't look out of place
Damien Lespiau [Mon, 27 Oct 2014 20:07:37 +0000 (20:07 +0000)] 
patchform: Minimal changes so patchform titles don't look out of place

I'd like to add editing in place in the list of patches instead of
having to select, scroll down and make the changes.

For the time being, just change the header background color and padding
space.

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Acked-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agopaginator: Redesign the paginator
Belén Barros Peña [Thu, 9 Oct 2014 09:27:39 +0000 (10:27 +0100)] 
paginator: Redesign the paginator

A few things:

  - Use the … glyph
  - Remove the box around the page numbers
  - Slight restyling

Signed-off-by: Belén Barros Peña <belen.barros.pena@intel.com>
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Acked-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agopaginator: Tweak the number of pages shown
Belén Barros Peña [Thu, 9 Oct 2014 09:23:15 +0000 (10:23 +0100)] 
paginator: Tweak the number of pages shown

We don't really need that many pages displayed in the pagination, tweak
the numbers down a bit.

Signed-off-by: Belén Barros Peña <belen.barros.pena@intel.com>
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Acked-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agobase: Use a Bootstrap badge for the number of todo items
Damien Lespiau [Fri, 3 Oct 2014 00:07:11 +0000 (01:07 +0100)] 
base: Use a Bootstrap badge for the number of todo items

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Acked-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agobase: Capitalize the menu items in the navbar
Damien Lespiau [Fri, 3 Oct 2014 00:03:46 +0000 (01:03 +0100)] 
base: Capitalize the menu items in the navbar

v2: Rebase on top of the "Project Info" renaming

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
9 years agobase: Group username/profile/logout with a dropdown
Damien Lespiau [Thu, 2 Oct 2014 23:55:28 +0000 (00:55 +0100)] 
base: Group username/profile/logout with a dropdown

We regoup user related information (log out and profile) in a dropdown
with the user identity as label.

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Acked-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agopatch-list: Make the table header sticky
Damien Lespiau [Thu, 2 Oct 2014 23:29:43 +0000 (00:29 +0100)] 
patch-list: Make the table header sticky

So, when scrolling down the list of patches, we still get what are the
field displayed. This is espacially important as I plan to add a few
more.

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Acked-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agopackage: Add the Sticky Table Header jQuery plugin
Damien Lespiau [Thu, 2 Oct 2014 23:29:14 +0000 (00:29 +0100)] 
package: Add the Sticky Table Header jQuery plugin

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Acked-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agopatch-list: Re-design the main list of patches with Bootsrap
Belén Barros Peña [Thu, 2 Oct 2014 16:41:28 +0000 (17:41 +0100)] 
patch-list: Re-design the main list of patches with Bootsrap

A bit more spacing everywhere. Also opted for the highlight on hover
instead of the alternating row background color.

v2: Squash the patch fixing the unit tests (Jeremy Kerr)

Signed-off-by: Belén Barros Pena <belen.barros.pena@intel.com>
Acked-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agofilters: Rewrite the submitter autocompletion code
Damien Lespiau [Sat, 27 Sep 2014 22:44:25 +0000 (23:44 +0100)] 
filters: Rewrite the submitter autocompletion code

We now have a nice(r) autocompletion widget that will popup the list of
options directly underneath the input fild. A few changes are done in
this commit that couldn't be split any further:

- Use jQuery's $.ajax() for the completion query
- Use the application/json content type on the completion answer to
  allow jQuery to directly create an object from it instead of giving
  back a string (because of the text/plain content type)
- Crafted more logical objects in the json answer ie all properties are
  at the same level instead of the default queryset serializer that put
  the object fields in a 'field' sub-object.
- Use selectize.js for the autocompletion widget logic

A slight change in behaviour is that we now don't allow "free form"
submitter search, ie we need a valid completion to search with that
specific person (through its primary key). I didn't remove the backend
logic that allows the "free form" mechanism, but maybe we should.

v2: Squash the unit tests fixes into this patch (Jeremy Kerr)

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
9 years agobase: Add selectize to the base template
Damien Lespiau [Mon, 29 Sep 2014 23:50:19 +0000 (00:50 +0100)] 
base: Add selectize to the base template

The only tricky thing is the inclusion of the EcmaScript shim for IE8.

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Acked-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agoselectize: Add selectize to patchwork
Damien Lespiau [Mon, 29 Sep 2014 23:43:00 +0000 (00:43 +0100)] 
selectize: Add selectize to patchwork

Turns out, it's somewhat hard to do a nice auto-completion widget and
I'd like to get replace the input field + combo box that is currently
there. So import a library that will take care of the heavy lifting for
us.

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
9 years agofilters: Redesign the filters form with the help of bootstrap
Damien Lespiau [Sat, 27 Sep 2014 21:42:21 +0000 (22:42 +0100)] 
filters: Redesign the filters form with the help of bootstrap

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Acked-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agofilters: Fix a typo in comment
Damien Lespiau [Sat, 27 Sep 2014 21:41:59 +0000 (22:41 +0100)] 
filters: Fix a typo in comment

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Acked-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agofilters: Use a more visible and human-friendly phrasing for 'filters'
Belén Barros Peña [Sat, 27 Sep 2014 20:56:57 +0000 (21:56 +0100)] 
filters: Use a more visible and human-friendly phrasing for 'filters'

v2: Change commit message

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
9 years agopatch-list: Split the filter out of the patch table
Belén Barros Peña [Sat, 27 Sep 2014 20:54:47 +0000 (21:54 +0100)] 
patch-list: Split the filter out of the patch table

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Signed-off-by: Belén Barros Peña <belen.barros.pena@intel.com>
Acked-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agofilters: Use the glyphicons for add/remove signs
Damien Lespiau [Sat, 20 Sep 2014 23:17:14 +0000 (00:17 +0100)] 
filters: Use the glyphicons for add/remove signs

They give a much better contrast the the one already there.

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Acked-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agostyle.css: Rename the breadcrumb selectors
Damien Lespiau [Sat, 20 Sep 2014 23:00:03 +0000 (00:00 +0100)] 
style.css: Rename the breadcrumb selectors

Bootstrap called what was the header bar "navigation". Let's rename the
nav* selector with 'breadcrumb' so there's no confusion with bootstrap's
nagivation elements and selectors.

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Acked-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agostyle.css: Provide a default <h2> style
Belén Barros Peña [Sat, 20 Sep 2014 22:50:03 +0000 (23:50 +0100)] 
style.css: Provide a default <h2> style

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Signed-off-by: Belén Barros Peña <belen.barros.pena@intel.com>
Acked-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agohtml: Turn the navbar into a breadcrumb bar
Belén Barros Peña [Sat, 20 Sep 2014 22:33:57 +0000 (23:33 +0100)] 
html: Turn the navbar into a breadcrumb bar

So we can have a somewhat of a hierarchical progression:

  All projects -> $project patches -> patch name

That should also help when we add series, we'll be able to just add the
series in there.

By default, we have:

  All projects -> $project patches

both being links, so we can return to the list of patches from any page
where the project is defined. The '$project patches' link becomes
insensitive in the list page. Finally the patch page adds the patch at
the end.

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Signed-off-by: Belén Barros Peña <belen.barros.pena@intel.com>
Acked-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agobase: Don't display the breadcrumb bar on the project list page
Damien Lespiau [Sat, 20 Sep 2014 22:13:15 +0000 (23:13 +0100)] 
base: Don't display the breadcrumb bar on the project list page

We already have the information on the main bar, no need to have a
breadcum bar here.

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
9 years agobase: Move the project info into the navigation bar
Damien Lespiau [Sat, 20 Sep 2014 22:00:16 +0000 (23:00 +0100)] 
base: Move the project info into the navigation bar

The goal is still to have a proper breadcrumb bar. One more little step
towards it.

v2: Rename "About ${project}" to "Project Info" (Stephen Finucane)

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
9 years agotemplates: Remove extraneous blank line at the end of base.html
Damien Lespiau [Thu, 11 Sep 2014 14:31:30 +0000 (15:31 +0100)] 
templates: Remove extraneous blank line at the end of base.html

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Acked-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agotemplates: Move "About" at the bottom of the page
Belén Barros Peña [Tue, 9 Sep 2014 15:01:05 +0000 (16:01 +0100)] 
templates: Move "About" at the bottom of the page

This is part of the steps needed to make the "nav" bar into a pure
breadcrumb trail. It's quite usual these days to have "about" style
links at the bottom of pages.

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Signed-off-by: Belén Barros Peña <belen.barros.pena@intel.com>
Acked-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agotemplates: Redesign the breadcrumbs bar
Damien Lespiau [Tue, 9 Sep 2014 14:32:35 +0000 (15:32 +0100)] 
templates: Redesign the breadcrumbs bar

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Acked-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agotemplates: Redesign the title bar
Damien Lespiau [Tue, 9 Sep 2014 13:22:25 +0000 (14:22 +0100)] 
templates: Redesign the title bar

Let's use HTML5 <nav> and bootstrap navigation facilities for this.

Among the nice things that bootstrap brings to the table, the navigation
bar is now mobile friendly: it will collapse when either, being
displayed on a mobile device or when the screen isn't wide enough, to
show the various items in a togglable menu. This can be tested by
resizing the browser to have a width < 768px.

This commit is just about layout changes, keeping the exact same
information displayed on the page.

This is based on work from Belén Barros Peña, but transposed to
bootstrap.

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Acked-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agostyle.css: Tune <a> styling
Belén Barros Peña [Thu, 9 Oct 2014 09:09:05 +0000 (10:09 +0100)] 
style.css: Tune <a> styling

The links aren't underlined anymore. If, once visited, they are to
become black, we won't be able to distinguish them from regular text.

Instead let's decide about a color for links so they can be spotted,
even after a visit.

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Acked-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agostyle.css: Move the global <a> styling at the top
Damien Lespiau [Tue, 9 Sep 2014 13:16:10 +0000 (14:16 +0100)] 
style.css: Move the global <a> styling at the top

Otherwise we can't properly have a generic <a> styling that gets
specialized as needed.

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Acked-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agosytle.css: Remove the body selector, letting bootstrap's shine through
Damien Lespiau [Sun, 7 Sep 2014 16:01:45 +0000 (17:01 +0100)] 
sytle.css: Remove the body selector, letting bootstrap's shine through

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Acked-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agolist: Replace the 16-arrow* icons by glyphicons
Damien Lespiau [Sun, 31 Aug 2014 23:06:41 +0000 (00:06 +0100)] 
list: Replace the 16-arrow* icons by glyphicons

They look more modern.

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Acked-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agotemplate: Add bootstrap to the base template
Damien Lespiau [Sun, 31 Aug 2014 21:42:24 +0000 (22:42 +0100)] 
template: Add bootstrap to the base template

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Acked-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agohtdocs: Add bootstrap
Damien Lespiau [Sun, 31 Aug 2014 21:40:20 +0000 (22:40 +0100)] 
htdocs: Add bootstrap

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
9 years agosettings: Also define SERVER_EMAIL for email logs
Damien Lespiau [Sat, 26 Sep 2015 09:56:36 +0000 (10:56 +0100)] 
settings: Also define SERVER_EMAIL for email logs

Django can send emails to admins on 500 HTTP errors when DEBUG is false.
That looks handy. That mechanism uses SERVER_EMAIL for the From:
address, which defaults to root@localhost and can cause problems in the
email delivery.

Use the same address than DEFAULT_FROM_EMAIL by default.

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Acked-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agosettings: Move DEFAULT_FROM_EMAIL to the core settings section
Damien Lespiau [Sat, 26 Sep 2015 09:50:49 +0000 (10:50 +0100)] 
settings: Move DEFAULT_FROM_EMAIL to the core settings section

DEFAULT_FROM_EMAIL is actually a django setting, not a patchwork one.

v2: Capitalize the 'E' of 'Email' (Stephen Finucane)

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Acked-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agoviews: patch-list: show the 'Properties' update box for all users
Brian Norris [Sun, 23 Nov 2014 06:30:06 +0000 (22:30 -0800)] 
views: patch-list: show the 'Properties' update box for all users

Any authenticated user should be able to change the properties of their
own patches from the list view. They can already do so from the patch
view and from pwclient.

Now, authenticated users can perform 'Change state', 'Delegate to', and
'Archive' operations on multiple patches at a time (e.g., after
'select-all' on a bundle, or after selecting a few patches
individually). We'll print an error message to the page for any patches
which can't be updated (e.g., due to ownership).

This fixes a usability issue that has been reported a few times.

Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Acked-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agoparsemail: Don't catch exceptions when saving patches and comments
Damien Lespiau [Fri, 9 Oct 2015 10:22:54 +0000 (11:22 +0100)] 
parsemail: Don't catch exceptions when saving patches and comments

We'd like to know when those operations fail in production so we can at
least inspect what happened through the email send to settings.ADMINS in
main().

Catching those exceptions early prevents that.

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Acked-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agotests: Fix a typo in the MboxPassThroughHeaderTest description
Damien Lespiau [Fri, 9 Oct 2015 10:17:02 +0000 (11:17 +0100)] 
tests: Fix a typo in the MboxPassThroughHeaderTest description

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Acked-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agogitignore: Explicitly ignore dirs in lib/packages
Damien Lespiau [Fri, 9 Oct 2015 10:17:01 +0000 (11:17 +0100)] 
gitignore: Explicitly ignore dirs in lib/packages

This file ignores everything at the moment. This doesn't look like a
good idea, there are also jquery files there.

We ignore django/ because installing django there is what currently is
documented to do.

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Acked-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agogitignore: Only ignore quilt files at the root of the repository
Damien Lespiau [Fri, 9 Oct 2015 10:17:00 +0000 (11:17 +0100)] 
gitignore: Only ignore quilt files at the root of the repository

So, say, a 'series' directory in the project (added in a later patch)
doesn't get ignored.

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Acked-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agowsgi.conf: Fix the path in the Directory directive
Damien Lespiau [Fri, 9 Oct 2015 15:47:19 +0000 (16:47 +0100)] 
wsgi.conf: Fix the path in the Directory directive

The path in <Directory> didn't match the one defined in Alias.

While at it, remove the unnecessary quotes.

Reported-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Acked-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agodocs: Add basic API guide
Stephen Finucane [Sat, 10 Oct 2015 03:05:27 +0000 (04:05 +0100)] 
docs: Add basic API guide

Because it is now possible to access the auto-generated XML-RPC
documentation, only provide a brief "HOWTO" on using the 'xmlrpclib'
library and a note on how to find this autogenerated documentation.

Signed-off-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agoviews/xmlrpc: Remove unneeded '""' parameters
Stephen Finucane [Mon, 12 Oct 2015 16:34:50 +0000 (11:34 -0500)] 
views/xmlrpc: Remove unneeded '""' parameters

These don't make semantic sense: if a user didn't provide a parameter
then we should check for None.

Signed-off-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agoviews/xmlrpc: Add serialization documentation
Stephen Finucane [Mon, 12 Oct 2015 17:01:55 +0000 (12:01 -0500)] 
views/xmlrpc: Add serialization documentation

Add some documentation for the XML-RPC serializers, including examples.
This will help developers understand exactly what the API *should* be
returning for each given method.

Signed-off-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agoviews/xmlrpc: Add documentation for API methods
Stephen Finucane [Mon, 12 Oct 2015 16:20:10 +0000 (11:20 -0500)] 
views/xmlrpc: Add documentation for API methods

This will be useful for populating the XML-RPC API documentation.

Note that this uses the Google-style docstring format. This format is
easier to read than the information-dense, "classic" Sphinx docstring
format making it more suitable for use with pydoc (which does not do
any post-processing and it used by the 'DocXMLRPCServer' module). If
generating documentation using Sphinx, this will require the usage of
the 'sphinx.ext.napoleon' extension.

Signed-off-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agoviews/xmlrpc: Add xmlrpc automatic documentation
Stephen Finucane [Sat, 10 Oct 2015 02:50:53 +0000 (03:50 +0100)] 
views/xmlrpc: Add xmlrpc automatic documentation

The DocXMLRPCServer module (standard library) provides documentation
for XML-RPC dispatchers via pydoc. Use this module rather than
reinventing the wheel.

Also update a test that no longer makes sense (the GET method now
retrieves documentation - it shouldn't redirect. Use PATCH instead).

Signed-off-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agotrivial: Clean up 'views/xmlrpc.py'
Stephen Finucane [Mon, 29 Jun 2015 20:57:18 +0000 (21:57 +0100)] 
trivial: Clean up 'views/xmlrpc.py'

Resolve some issues with the aforementioned file. These are mostly
stylistic changes.

Signed-off-by: Stephen Finucane <stephenfinucane@hotmail.com>
9 years agoparsemail: Mail error information to ADMINS when parsing fails
Damien Lespiau [Thu, 1 Oct 2015 11:35:20 +0000 (12:35 +0100)] 
parsemail: Mail error information to ADMINS when parsing fails

We can use the built-in mechanism from django to send error emails when
failing to parse a mail. The error mails will have contain the full
guitly mail and the corresponding backtrace for debugging purposes.

v2: Add 2 PEP8 blank lines (Stephen Finucane)
v3: Remove one blank line (Stephen Finucane)

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Acked-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agoflake: Restrict flake to the patchwork directory
Damien Lespiau [Tue, 22 Sep 2015 15:09:10 +0000 (16:09 +0100)] 
flake: Restrict flake to the patchwork directory

Right now flake will inspect everything in the root directory. We can
avoid a bit of work, telling it to only look at the patchwork/
directory.

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Acked-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agotox: Omit tests and manage.py when running coverage tests
Damien Lespiau [Tue, 22 Sep 2015 14:59:33 +0000 (15:59 +0100)] 
tox: Omit tests and manage.py when running coverage tests

Having the tests in the coverage reports artifically improve the
coverage percentage, because every line in tests is being run.

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Reviewed-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agodocs: Update Git URLs to GitHub v1.0.0
Stephen Finucane [Fri, 16 Oct 2015 21:45:38 +0000 (22:45 +0100)] 
docs: Update Git URLs to GitHub

Per move to GitHub:

    https://lists.ozlabs.org/pipermail/patchwork/2015-October/001873.html

Signed-off-by: Stephen Finucane <stephen.finucane@intel.com>
9 years agodoc: Add CHANGELOG and UPGRADING docs
Stephen Finucane [Fri, 16 Oct 2015 19:29:53 +0000 (20:29 +0100)] 
doc: Add CHANGELOG and UPGRADING docs

The CHANGELOG document should describe the high level changes of the
project. This will provide a human-readable way for people to evaluate
the changes in each release. This file is based on the templates and
general changelog "ethos" provided by 'Keep a CHANGELOG':

    http://keepachangelog.com/

The UPGRADING document provide instruction for system admininstrators
managing patchwork deployments. At the moment, this document is a
rename and minor reformatting of the existing 'docs/NEWS' document, but
going forward documentation will be added for each new release.

Signed-off-by: Stephen Finucane <stephen.finucane@intel.com>