Move country filter last in mirror admin

Signed-off-by: Dan McGee <dan@archlinux.org>
Enhance the mirror details page

Get the URLs with their performance data showing up, and simplify the
top part for non-authenticated users while adding more detail for
logged-in users.

Signed-off-by: Dan McGee <dan@archlinux.org>
Small package details template cleanup

Signed-off-by: Dan McGee <dan@archlinux.org>
Ensure durations are sorted correctly

The automatic detection started using the builtin time parser instead of
our duration parser, causing it to barf on anything > 60 minutes.

Signed-off-by: Dan McGee <dan@archlinux.org>
Link email address if available

Signed-off-by: Dan McGee <dan@archlinux.org>
Show important fields first on new user form

Signed-off-by: Dan McGee <dan@archlinux.org>
Log user additions via new user form

Signed-off-by: Dan McGee <dan@archlinux.org>
Work out kinks in create new user view

We allowed repo selection before, but never actually called save_m2m()
so selections would have to be repeated on the next page. Add in group
selection as well to the form, and ensure we do all of our database
operations in one transaction so it is a lot easier to test and roll
back if things go wrong.

Signed-off-by: Dan McGee <dan@archlinux.org>
Make mirror name and URLs unique

So we don't create duplicates without knowing it in our database, like
we did earlier today.

Signed-off-by: Dan McGee <dan@archlinux.org>
Collapse all split and similar packages in recent updates list

I was getting sick of seeing the *-i18n packages completely blow away
anything else useful out of the recent updates sidebar. Revamp the logic
here again to do something about it. As we did before, grab packages
from the database and attempt to group them, but this time do it by only
repo and pkgbase.

From there, if we have packages in the group with a pkgname matching
pkgbase, we will link just those. If not, we will create some stub
objects that link to our relatively new virtual package overview screen.

Signed-off-by: Dan McGee <dan@archlinux.org>
Ensure feed GUIDs are unchanging and unique

Implement 'tag:' style URIs for the GUID field on our RSS feeds. This
ensures new package updates show up as new, and we aren't jumping back
and forth between generated GUIDs having 'http://' and 'https://'
prefixes.

Much of the work here is to attempt to keep old news GUIDs constant so
we don't once again make everything show up as new in newsreaders.

Signed-off-by: Dan McGee <dan@archlinux.org>
Add a horrible hack to allow feed guid value to not be a permalink

Django, you make the simplest things so damn hard sometimes.

Signed-off-by: Dan McGee <dan@archlinux.org>
Select related needed objects when pulling package details

Signed-off-by: Dan McGee <dan@archlinux.org>
Show a few more fields in package admin

Signed-off-by: Dan McGee <dan@archlinux.org>
Use UTC datetime objects everywhere

Rather than the twisted mix of local times and UTC times we currently have.

Signed-off-by: Dan McGee <dan@archlinux.org>
Add some migrations to convert database to UTC time

This follows the earlier commit where we make sure any value going to or
being pulled from the database is UTC.

Signed-off-by: Dan McGee <dan@archlinux.org>
Consolidate caching black magic

Get the stuff used to retrieve and refresh the latest date values all in
the same place, and make it a bit more beautiful by refactoring it all
into a common set of methods.

Signed-off-by: Dan McGee <dan@archlinux.org>
Convert generic views in urls.py to class-based

Signed-off-by: Dan McGee <dan@archlinux.org>
Convert todolist delete to class-based view

Signed-off-by: Dan McGee <dan@archlinux.org>
Update requirements.txt for Django 1.3

Signed-off-by: Dan McGee <dan@archlinux.org>