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>
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>
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>
templates: Redesign the breadcrumbs bar

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
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>
templates: Remove extraneous blank line at the end of base.html

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
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.

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
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>
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>
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>
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>
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>
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>
filters: Put the active filter values in bold

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
filters: Fix a typo in comment

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
filters: Redesign the filters form with the help of bootstrap

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
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>
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>
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.

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
tests: Fix the submitter completion tests

Because we've changed the format of the json file we return to be a
"proper" object rather than the db dump django does by default, there's
no 'fields' sub-object anymore.

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>