aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* ui: Split the tiles in columns and increase the mininum sizeDamien Lespiau2016-02-08
| | | | | | | | Let's try to make that page looks better when the natural size of the tiles are different (because the contents have varying sizes). Signed-off-by: Damien Lespiau <damien.lespiau@intel.com> Acked-by: Stephen Finucane <stephen.finucane@intel.com>
* ui: Put the project name by default on project pagesDamien Lespiau2016-02-08
| | | | | Signed-off-by: Damien Lespiau <damien.lespiau@intel.com> Acked-by: Stephen Finucane <stephen.finucane@intel.com>
* ui: Switch to HTML5 doctype and fix issuesDamien Lespiau2016-02-08
| | | | | | | | | | | | | A few common things: - Remove the 'role' attribute of <nav> - Don't use the self closing syntax ('/>') on non void elements - Don't use the language attribution in <script> - Remove spurious attributes - The 'check' attribute of <input> doesn't take any value Signed-off-by: Damien Lespiau <damien.lespiau@intel.com> Acked-by: Stephen Finucane <stephen.finucane@intel.com>
* ui: Redesign the projects pageDamien Lespiau2016-02-08
| | | | | Signed-off-by: Damien Lespiau <damien.lespiau@intel.com> Acked-by: Stephen Finucane <stephen.finucane@intel.com>
* ui: Redesign the pagination widgetsDamien Lespiau2016-02-08
| | | | | Signed-off-by: Damien Lespiau <damien.lespiau@intel.com> Acked-by: Stephen Finucane <stephen.finucane@intel.com>
* ui: Merge the TODO list into the user dropdownDamien Lespiau2016-02-08
| | | | | | | | | We still leave the badge on the top bar so we can see, at a glance, the number of items on the TODO list. The actual menu item is folded into the dropdown. Signed-off-by: Damien Lespiau <damien.lespiau@intel.com> Acked-by: Stephen Finucane <stephen.finucane@intel.com>
* ui: Merge the admin link into the user dropdownDamien Lespiau2016-02-08
| | | | | Signed-off-by: Damien Lespiau <damien.lespiau@intel.com> Acked-by: Stephen Finucane <stephen.finucane@intel.com>
* ui: Use <h1> for page titlesDamien Lespiau2016-02-08
| | | | | | | | <h2> is used for titles within the page, but shouldn't be used for page titles, which are a level higher. Signed-off-by: Damien Lespiau <damien.lespiau@intel.com> Acked-by: Stephen Finucane <stephen.finucane@intel.com>
* ui: Use bootstrap container-fluid classDamien Lespiau2016-02-08
| | | | | | | | It's time to use more of Boostrap. Having the top level element use the framework makes the rest work. Signed-off-by: Damien Lespiau <damien.lespiau@intel.com> Acked-by: Stephen Finucane <stephen.finucane@intel.com>
* ui: Redesign navigationDamien Lespiau2016-02-08
| | | | | | | | | | | | We get rid of the breadcrumbs in favour of items always present in the top navigation bar. Based on Bélen's new design iteration. v2: Rebase onto master Signed-off-by: Damien Lespiau <damien.lespiau@intel.com> Signed-off-by: Stephen Finucane <stephen.finucane@intel.com>
* ui: Let the bootstrap inverse navbar style shine throughDamien Lespiau2016-02-08
| | | | | | | | | | | | | Time for another iteration of the design. Let's start by using the inverse bootsrap style with a slightly whiter color for font for better contrast. That color change has repercussions in the style sheet, mostly in the custom containers/boxes we're still using on the secondary pages (login/register/...) Signed-off-by: Damien Lespiau <damien.lespiau@intel.com> Acked-by: Stephen Finucane <stephen.finucane@intel.com>
* urls: Create a project version of bundlesDamien Lespiau2016-02-08
| | | | | | | | | | | | | We'd like to have a per-project list of bundles as we present all data in the context of a single project anyway. Still keep the instance-wide list bundles around. v2: Rename the existing 'bundle-list' url to 'user-bundles', as this is more inkeeping with the other URLs Signed-off-by: Damien Lespiau <damien.lespiau@intel.com> Signed-off-by: Stephen Finucane <stephen.finucane@intel.com>
* ui: Make 'Patch count' look a bit less formalDamien Lespiau2016-02-08
| | | | | | | | | I'm really not anything of a UX designer, nor a native speaker, but I can try to make tools a bit less 'dry'. 'Number of patches' would have worked as well, but opted for a shorter one. Signed-off-by: Damien Lespiau <damien.lespiau@intel.com> Acked-by: Stephen Finucane <stephen.finucane@intel.com>
* ui: Move the background color of the table headers to a classDamien Lespiau2016-02-08
| | | | | | | | | | | | | As we are using "sticky headers", the column headers stay apparent when scrolling down, we need to specify a white background to hide what's underneath. With the addition of Seres, the patchlist table is not the only table we want this behaviour on, so let's make it a CSS class rather then a selector on the patchlist id. Signed-off-by: Damien Lespiau <damien.lespiau@intel.com> Acked-by: Stephen Finucane <stephen.finucane@intel.com>
* ui: Don't display the '<' and '>' characters in the message-idDamien Lespiau2016-02-08
| | | | | | Suggested-by: Jani Nikula <jani.nikula@intel.com> Signed-off-by: Damien Lespiau <damien.lespiau@intel.com> Acked-by: Stephen Finucane <stephen.finucane@intel.com>
* ui: Don't allow to the date to wrapDamien Lespiau2016-02-08
| | | | | | | | | | | | When rendered on smaller screens, the mininum column size for the date was reached and the text was wrapping. We can force it to not wrap with white-space: nowrap; and bootstrap already includes a convenient text-nowrap class. v2: Extend the use of 'text-nowrap' to existing classes Signed-off-by: Damien Lespiau <damien.lespiau@intel.com> Acked-by: Stephen Finucane <stephen.finucane@intel.com>
* requirements: Use PostgreSQL in productionStephen Finucane2016-02-08
| | | | | | | | The example "production" settings expect a PostgreSQL database backend, yet the requirements file for the same scenario install MySQL dependencies. Correct this mismatch. Signed-off-by: Stephen Finucane <stephen.finucane@intel.com>
* wsgi: Move wsgi file to expected locationStephen Finucane2016-02-08
| | | | | | | | Django places a wsgi.py file in the root of each application's directory. Do this, adding a symlink to preserve existing operation for users. Signed-off-by: Stephen Finucane <stephen.finucane@intel.com>
* xmlrpc: Treat negative max_count as meaning "return last N results"Adam Jackson2016-02-08
| | | | | | | | | | | | This is most useful when listing patches, as it lets you get the most recent results instead of the oldest. v2: Resolve "Negative indexing is not supported." issue and include unit tests to ensure this doesn't regress. Bump API version to 1.2 Signed-off-by: Adam Jackson <ajax@redhat.com> Signed-off-by: Stephen Finucane <stephen.finucane@intel.com>
* py3: Ensure map is wrapped in listStephen Finucane2016-02-08
| | | | | | | | | | | | | | The map function doesn't return a list in Python 3, which means it can't be used like one. Many of these issues were previously resolved but there were some uncovered code paths. Resolve these, adding tests to ensure it doesn't regress. In addition, change what's serialized and returned. Instead of returning a subset of the serialized values, only serialize a subset of the original values. This means n items are serialized instead of max. Signed-off-by: Stephen Finucane <stephen.finucane@intel.com>
* models: Allow to unselect maintainer projects in user profileThomas Monjalon2016-02-05
| | | | | | | | | | | The admin page for user profiles have a field "Maintainer projects" to grant maintainer rights to an user. It is a list of available projects. When a project was selected, it was impossible to revoke. It is now possible to unselect by clicking while holding the "Ctrl" key. Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com> Acked-by: Stephen Finucane <stephen.finucane@intel.com>
* docs: Reconfigure page structureStephen Finucane2016-02-05
| | | | | | | | | | | | | | There are two distinct types of documentation available: documentation for patchwork developers and documentation for patchwork deployers. Rework the mkdocs configuration such that this hierarchy is established. As part of this change, the installation doc is renamed to deployment. This guide should be used to install patchwork in a production environment and not necessarily a deployment one. The existing name was misleading so fix it. Signed-off-by: Stephen Finucane <stephen.finucane@intel.com>
* docs: Remove remainder of non-GHFM referencesStephen Finucane2016-02-05
| | | | | | | The GitHub Format Markdown style of Markdown links breaks in some Markdown renderers. Change to the style now used in all other files. Signed-off-by: Stephen Finucane <stephen.finucane@intel.com>
* docs: Rework the development guideStephen Finucane2016-02-05
| | | | | | | | | | | | | | | | patchwork has undergone a number of changes recently that can make deployment of a development environment much simpler than it was previously. Unfortunately, these were not illustrated in the documentation. Resolve this oversight by rewriting the developer guide to reflect, for example, the usefulness of the 'parsearchive' script or the fact that environment variables like 'PW_TEST_DB_USER' do not always need to be exported. This includes changes to the provided 'default_projects' fixture: the existing projects weren't chosen for any particular reason and the rewritten guide expects a 'patchwork' project to exist. Signed-off-by: Stephen Finucane <stephen.finucane@intel.com>
* docs: Add an upgrading guideStephen Finucane2016-02-05
| | | | | | | | | | | The guide details the general pitfalls such users may encounter when upgrading a patchwork. Upgrading older deployments of patchwork, particularly those that are pre-1.0, can be a daunting task and this guide should support users in this task. However, it should not replace the UPGRADING document but rather supplement it with more general, non-version specific advice. Signed-off-by: Stephen Finucane <stephen.finucane@intel.com>
* docs: Add a release process guideStephen Finucane2016-02-05
| | | | | | | | This guide serves to illustrate import aspects of patchworks release process: when, why and how. It also serves as a helpful reminder for the maintainers themselves. Signed-off-by: Stephen Finucane <stephen.finucane@intel.com>
* docs: Add a contributors guideStephen Finucane2016-02-05
| | | | | | | | | This guide details the steps one should follow to submit patches for patchwork. It's nothing onerous but rather common sense. This requires moving the testing section from the development guide to this new document. Signed-off-by: Stephen Finucane <stephen.finucane@intel.com>
* docs: Add a READMEStephen Finucane2016-02-05
| | | | | | | | This is mostly a copy/paste of 'index.md' with added badges. This will be useful to provide an overview to people who stumble upon patchwork on GitHub. Signed-off-by: Stephen Finucane <stephen.finucane@intel.com>
* pep8: Resolve some issues with lambda functionsStephen Finucane2016-02-05
| | | | Signed-off-by: Stephen Finucane <stephen.finucane@intel.com>
* filters: Re-add removed constantStephen Finucane2016-02-05
| | | | | | | There was a rebase mistake in 'f439f54': a constant that should not have been removed was. Resolve this issue. Signed-off-by: Stephen Finucane <stephen.finucane@intel.com>
* Allow assigning of any user as delegateStephen Finucane2016-01-25
| | | | | | | | | | | | | | | Currently, Patchwork only allows to delegate patches to developers who are registered as "maintainers" of the project in Patchwork or set up as autodelegate "targets". This is a bit annoying as "maintainers" in the Patchwork sense have the power to change the state of *any* patch. Allow delegation of patches to developers who are not the submitter of the patch in question, a maintainer of the project or an autodelegate "target". This request is documented here: https://lists.ozlabs.org/pipermail/patchwork/2015-July/001351.html Signed-off-by: Stephen Finucane <stephen.finucane@intel.com>
* Add delegate filter autocomplete supportStephen Finucane2016-01-25
| | | | | | | | | | | | It would be helpful to provide autocomplete functionality for the delegate filter field, similar to that provided for the submitter field. This will provide a way to handle larger delegate lists without overloading the user with options. Add this functionality through use of Selectize, which is already used to provide similar functionality for filtering of "submitters". Signed-off-by: Stephen Finucane <stephen.finucane@intel.com>
* tox: Add 'venv' targetStephen Finucane2016-01-25
| | | | | | | The venv command provides access to the tox virtual environment without the need to source the actual virtualenv 'activate' file. Signed-off-by: Stephen Finucane <stephen.finucane@intel.com>
* tox: Cleanup '.pyc' files before runStephen Finucane2016-01-25
| | | | | | | Sometimes leftover '.pyc' files can cause tests to fail. Ensure this never happens by always removing these files on start. Signed-off-by: Stephen Finucane <stephen.finucane@intel.com>
* models: Rename 'Check.__unicode__' to '__str__'Stephen Finucane2016-01-21
| | | | | | This causes issues with Python 3. Signed-off-by: Stephen Finucane <stephen.finucane@intel.com>
* models: Resolve SubfieldBase deprecation warningsStephen Finucane2016-01-19
| | | | | | | | | SubfieldBase has been deprecated. It is necessary to add a 'from_db_value' function in place of this mixin. https://docs.djangoproject.com/en/1.9/releases/1.8/#subfieldbase Signed-off-by: Stephen Finucane <stephen.finucane@intel.com>
* settings: Place most-used path firstStephen Finucane2016-01-19
| | | | | | | Make the settings file a little easier to parse by placing the most used (i.e. the one used with recent versions of Django) first. Signed-off-by: Stephen Finucane <stephen.finucane@intel.com>
* settings: Add TEMPLATES settingStephen Finucane2016-01-19
| | | | | | | | This was added in Django 1.8 and will be required by Django 1.10. https://docs.djangoproject.com/en/1.9/ref/templates/upgrading/#the-templates-settings Signed-off-by: Stephen Finucane <stephen.finucane@intel.com>
* urls: Remove reverse by Python path urlsStephen Finucane2016-01-19
| | | | | | | | | | | Reversing by Python paths has been deprecated in Django 1.8, causes warnings in Django 1.9 and will be removed in Django 2.0. Resolve the warnings and prevent issues in the future by importing by module instead. https://docs.djangoproject.com/en/1.9/releases/1.8/#passing-a-dotted-path-to-reverse-and-url Signed-off-by: Stephen Finucane <stephen.finucane@intel.com>
* Use URL names in place of Python pathsStephen Finucane2016-01-19
| | | | | | | | | | | Reversing by Python paths has been deprecated in Django 1.8, causes warnings in Django 1.9 and will be removed in Django 2.0. Resolve the warnings and prevent issues in the future by referring to URLs by name, rather than by Python path. https://docs.djangoproject.com/en/1.9/releases/1.8/#passing-a-dotted-path-to-reverse-and-url Signed-off-by: Stephen Finucane <stephen.finucane@intel.com>
* urls: Add url namesStephen Finucane2016-01-19
| | | | | | | | | | Reverse by name is an alternative to reverse by Python path. The names must be added as a prerequisite for removing reverse by Python path, per Django documentation. https://docs.djangoproject.com/en/1.9/ref/urlresolvers/#django.core.urlresolvers.reverse Signed-off-by: Stephen Finucane <stephen.finucane@intel.com>
* Move view-related code from utils->views/__init__Stephen Finucane2016-01-19
| | | | | | These functions are view-related and belong in the views folder. Signed-off-by: Stephen Finucane <stephen.finucane@intel.com>
* views: Split up 'base'Stephen Finucane2016-01-19
| | | | | | | | This is a collection of unrelated functions, many of which belong in their own file. Do this, taking the opportunity to rename some of these functions to better indicate their purpose in the process. Signed-off-by: Stephen Finucane <stephen.finucane@intel.com>
* tox: Cleanup fileStephen Finucane2016-01-19
| | | | | | Remove some unnecessary code and reorder in a logical fashion Signed-off-by: Stephen Finucane <stephen.finucane@intel.com>
* tox: Add django19 targetsStephen Finucane2016-01-19
| | | | Signed-off-by: Stephen Finucane <stephen.finucane@intel.com>
* py3: 'dict_keys' object has no attribute 'sort'Stephen Finucane2016-01-19
| | | | | | Resolve an issue causing the aforementioned issue. Signed-off-by: Stephen Finucane <stephen.finucane@intel.com>
* CHANGELOG: Add autodelegation and Python3 featuresStephen Finucane2016-01-19
| | | | Signed-off-by: Stephen Finucane <stephen.finucane@intel.com>
* Report if a patch is delegated and to whomMauro Carvalho Chehab2016-01-19
| | | | | | | | | When a patch is delegated, it can be important to report it via pwclient, as handing delegated patches may be different. So, add an optional field at the email's body if this is happening. Signed-off-by: Stephen Finucane <stephen.finucane@intel.com> Suggested-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
* parsemail: Generate useful retcodesMauro Carvalho Chehab2016-01-19
| | | | | | | | | | When things are broken at parsemail, we need to be able to debug it. So, add some messages to it, in order to allow checking what it actually did, and to let it return 1 if an email got skipped by parsemail. Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com> Signed-off-by: Stephen Finucane <stephen.finucane@intel.com>
* forms: Allow the delegate field to keep its current valueLaurent Pinchart2016-01-19
| | | | | | | | | | | | | | When a patch is delegated at parse time (either through the X-Patchwork-Hint mail header or through delegation rules), the delegate might not be in the list of project maintainers. Add the current delegate to the list of acceptable values for the delegate field to allow the current value to be kept when editing the patch. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com> Acked-by: Stephen Finucane <stephen.finucane@intel.com>