With suggestions from Jason Chu, make the code a bit less repetitive with
regards to exception handling and fallthrough to the next method of finding
the user.
Signed-off-by: Dan McGee <dan@archlinux.org>
Otherwise we get duplicate groups each time we update the package, and any
group removals would never actually happen.
Signed-off-by: Dan McGee <dan@archlinux.org>
This is a bit more work than just a simple field addition. We attempt to map
packager specs (e.g. "A. U. Thor <author@example.com>") to actual Django
users in a relatively robust way- first try matching on User.email, then
fall back to UserProfile.public_email, then finally try a name-based match.
For those packages we can't generate a mapping, the raw string is still
stored so it can be displayed.
Signed-off-by: Dan McGee <dan@archlinux.org>
The left and right sidebars are the same for everyone, so cache both pieces
as template fragments so we aren't constantly re-rendering them. Due to
cookies being present in the 'Vary:' header, this at least allows some
benefit of caching at a lower level than the middleware can handle.
Signed-off-by: Dan McGee <dan@archlinux.org>
Implements FS#13741. A preview function is also added so working with news
items is easier to make sure you get the formatting right.
This will result in some older news items looking a bit weird if they didn't
put linebreaks in all the right places, we can fix a few of these as we
notice them.
Signed-off-by: Dan McGee <dan@archlinux.org>
Since we explicitly set a background color for this text input, we should
set a foreground font color as well so those with dark themes don't see
white text on a white background. Addresses FS#19290.
Signed-off-by: Dan McGee <dan@archlinux.org>
No need to pull back some 500 news articles when we just want the basics of
title, date, and author. Speaking of author, we might as well load that at
the same time too.
Signed-off-by: Dan McGee <dan@archlinux.org>
Not terribly thrilled with the location, but it will have to do for now. If
we get a better idea later it can definitely be moved.
Signed-off-by: Dan McGee <dan@archlinux.org>
Make the page much more flexible- allow multiple countries to be selected
rather than just one in the form. Also add a lot more text to the page, and
move the 'all' option out into its own subheading rather than being in the
same form.
Both GET and POST requests are now allowed for ease of use from non-browser
scenarios or those that wish to update their mirrorlist automatically and
submit parameters to the URL.
Signed-off-by: Dan McGee <dan@archlinux.org>
Otherwise it is really confusing when you make template changes during
development and they don't show up immediately.
Signed-off-by: Dan McGee <dan@archlinux.org>