Add DataGrid support to Review Board

Review Request #195 — Created Dec. 12, 2007 and submitted

Review Board SVN (deprecated)
Added support for data grids in Review Board. This makes use of Djblets's new datagrids app that allows us to represent the Dashboard, review request lists, groups list and submitters list in a clean, modular way. This gives us one global way of doing user-specified sorting and custom columns.

This also allows us to define new types of columns that can appear in the lists. They won't necessarily show up by default, but users can put them in their column list. We'll be able to address several bugs regarding custom columns people want in the dashboard now. This will happen in a separate change.

The next step is going to be providing UI for customizable columns. Currently users will have to know the column names and specify them in a columns= parameter on the URL. I have a few ideas regarding this.

One big win is that the code is much cleaner now. A lot of duplicate or nearly duplicate code in reviews/ can go away, and much of the dashboard logic is contained within a DashboardDataGrid. Because data grids are so flexible, the per-list templates can now go away as well.

NOTE: This change does require a database migration.
Tested that the dashboard worked on each view, and that the review request lists, submitters list and groups list all worked. The Show/Hide Submitted link still works on the review request datagrid. Customizable columns and sorting worked on all of these datagrids.
  1. This is pretty sweet.  Just a few (mostly) trivial comments.
    1. Thanks. I'll get to these and then submit it.
  2. /trunk/reviewboard/ (Diff revision 2)
    Can you either align the \ characters with 8-space tabs or change them to just be one space after the name?
  3. /trunk/reviewboard/htdocs/ (Diff revision 2)
    Shouldn't we ship relevant templates/data files inside djblets instead of reviewboard?
    1. These files are pretty specific to us. I plan to extend this a bit in a separate change with bare bones CSS and images and templates and then blog about it.
  4. /trunk/reviewboard/reviews/ (Diff revision 2)
    Alignment on the \