Merge lp:~dylanmccall/harvest/querystring-cleanup into lp:harvest
Status: | Merged |
---|---|
Merged at revision: | 229 |
Proposed branch: | lp:~dylanmccall/harvest/querystring-cleanup |
Merge into: | lp:harvest |
Diff against target: |
427 lines (+106/-87) 6 files modified
harvest/common/url_tools.py (+18/-30) harvest/filters/containers.py (+16/-11) harvest/filters/filters.py (+22/-21) harvest/media/js/harvest.js (+42/-16) harvest/opportunities/filters.py (+2/-2) harvest/opportunities/wrappers.py (+6/-7) |
To merge this branch: | bzr merge lp:~dylanmccall/harvest/querystring-cleanup |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Daniel Holbach | Approve | ||
Review via email:
|
Description of the change
Fairly simple change, based around cleaning up our querystrings. It also cleans up the code a little, while it's at it! :)
This scraps all characters we were using that were escaped by jQuery and some web browsers, which had resulted in ugly urls. (Ideally, these can be rather human readable).
Two things here:
The full name of a filter is now something like "pkg.list," because "." isn't violently escaped and is synonymous with a parent / child relationship.
No more of that crazy "serialize lists to comma-separated strings" stuff. As far as any portion of Harvest is concerned, these are always lists. The code to generate querystrings appropriately in that case is in Django and jQuery. (They are both happy to treat a key that is repeated multiple times as an array of values by that name, and vice versa).
Example URL with this format:
/opportunities/
A hair nicer, I think :)
Great work. This makes it a LOT nicer. :)