summaryrefslogtreecommitdiffstats
path: root/public
AgeCommit message (Collapse)AuthorFilesLines
2013-12-14Fix some caching issues on the front pageDan McGee2-5/+6
The return value from get_recent_updates() was too big for memcached due to all the attached objects, so the cache never actually worked. This sucks, because we ended up doing all the work in this function and most of the time we didn't use it because template fragment caching kicked in. Remove the cache_function decorator from this method, and instead implement delayed calling of the function so we don't compute values we aren't going to use. Template fragment caching will help us in most cases. Signed-off-by: Dan McGee <dan@archlinux.org>
2013-10-01Proper support for revoked signaturesDan McGee1-4/+4
The 'valid' column wasn't quite right. Add a new 'revoked' column that works similar to the one we have on keys and use it instead, properly parsing the output from `gpg` signature data and looking for the magic prefix string. Signed-off-by: Dan McGee <dan@archlinux.org>
2013-06-01Ensure only active mirror URLs are listedDan McGee1-1/+1
This fixes things up on the download page as well as the individual mirror details page. Signed-off-by: Dan McGee <dan@archlinux.org>
2013-04-17Various minor code cleanups and fixesDan McGee1-1/+0
Most of these were suggested by PyCharm, and include everything from little syntax issues and other bad smells to dead or bad code. Signed-off-by: Dan McGee <dan@archlinux.org>
2013-03-11Don't link to a one-element listing page from recent updatesDan McGee1-3/+8
If a package is built as a split package where pkgname != pkgbase, but only one actual split package is produced, the link on the recent update screen requires an extra click to get to the single package. Fix this by linking directly to the package itself. (Examples in current repos: ntfs-3g, python2-south) Signed-off-by: Dan McGee <dan@archlinux.org>
2013-02-03Run pngcrush and optipng over most static contentDan McGee25-0/+0
The programs have improved a bit and found some room for optimization, especially in the static logo content. Some files were reduced in size by 50% or more. Signed-off-by: Dan McGee <dan@archlinux.org>
2013-01-19Don't redefine mirror_url function every callDan McGee1-10/+11
If we pull this out and define it at the top level once, we save the interpreter a fair amount of work. Signed-off-by: Dan McGee <dan@archlinux.org>
2013-01-19Don't pull and sort mirror URLs unless we have toDan McGee1-5/+10
On the download page, the explicit sorted() call was forcing evaluation of the Django queryset, even if we never actually needed the results because the template fragment was cached. Wrap it all in a callable function which looks the same to the template, but saves us the cost of evaluation every single page view. Signed-off-by: Dan McGee <dan@archlinux.org>
2013-01-14Drop country column from mirror tableDan McGee1-1/+1
We now always look for this information at the URL level, not the mirror level. This simplifies quite a bit of code in and around the mirror views. Signed-off-by: Dan McGee <dan@archlinux.org>
2013-01-14Use content_type and not mimetype on HttpResponse()Dan McGee1-1/+1
Bug #16519 in Django deprecates mimetype, so update our code accordingly. Signed-off-by: Dan McGee <dan@archlinux.org>
2012-12-28Fix master key signing total countsDan McGee1-1/+1
Commit 4c69911982 had an inadvertent side effect here; we need to explicitly disable ordering for the annotate() to work correctly. Signed-off-by: Dan McGee <dan@archlinux.org>
2012-12-28Add a __unicode__ method for RecentUpdateDan McGee1-0/+4
Signed-off-by: Dan McGee <dan@archlinux.org>
2012-11-21Add Release model to relengDan McGee1-0/+6
This should prevent the need for monthly template updates from Pierre and Thomas; best to just let them enter the data themselves and have it show up on the website. Signed-off-by: Dan McGee <dan@archlinux.org>
2012-11-16Use Python 2.7 dictionary comprehension syntaxDan McGee1-1/+1
Rather than the old idiom of dict((k, v) for <> in <>). Signed-off-by: Dan McGee <dan@archlinux.org>
2012-11-13Move JSON keys view to public/ appDan McGee1-2/+51
This seems like a more appropriate place, and now the visualization is done here anyway so we should move the data backing it. Signed-off-by: Dan McGee <dan@archlinux.org>
2012-09-25Only show staging feeds to logged-in usersDan McGee1-1/+4
This doesn't prevent unauthenticated users from accessing the feeds, but it should reduce clutter and confusion on the feeds index page for users unlikely to need these feeds. Signed-off-by: Dan McGee <dan@archlinux.org>
2012-09-25Add structured data to developer listing pagesDan McGee1-0/+3
Signed-off-by: Dan McGee <dan@archlinux.org>
2012-08-01PGP key handling updatesDan McGee1-5/+13
* Import signatures for all known keys, not just active developers * Ensure we are only showing and accounting for active developers on the master keys page * Add a new table showing signatures between developers Signed-off-by: Dan McGee <dan@archlinux.org>
2012-07-31Update several bits and pieces for staging packagesDan McGee2-4/+13
This will prevent [staging] packages from cluttering normal user's view on the website, but allow us to still import everything from this repository for developer use. Signed-off-by: Dan McGee <dan@archlinux.org>
2012-07-25Replace deprecated direct_to_template() with render() shortcutDan McGee1-7/+7
Now that Django actually provides a concise way to use a RequestContext object without instantiating it, we can use that rather than the old function-based generic view that worked well to do the same. Additionally, these function-based generic views will be gone in Django 1.5, so might as well make the move now. Signed-off-by: Dan McGee <dan@archlinux.org>
2012-04-25Finish django countries implementationDan McGee1-10/+8
* Add a migration to drop the old countries field. * Update all templates/views/utility methods to point at the new country field and dereference it as necessary. * Add the flags images to a few views where it makes sense. * Cleanup the download page layout quite a bit. * Bump the mirror status JSON version to 3; add country_code attribute. Signed-off-by: Dan McGee <dan@archlinux.org>
2012-04-25Rename mirror country fields to country_old in prep for normalizationDan McGee1-1/+1
We're going to move to using ISO 2 character codes via django countries, so start by moving the old data out of the way first. Signed-off-by: Dan McGee <dan@archlinux.org>
2012-03-29Add developer status table to master keys pageDan McGee1-3/+18
This shows the cross-product of each master key with each developer key so you can see who has been signed, where signatures are missing, etc. Signed-off-by: Dan McGee <dan@archlinux.org>
2012-03-21Add number of keys signed to master keys pageDan McGee1-3/+12
This really just makes me look bad, but an interesting fact none the less for people to look at. Signed-off-by: Dan McGee <dan@archlinux.org>
2012-03-09Ensure users only show up once on the Fellows pageDan McGee1-0/+1
If a user was in both Developer and TU groups, they would show up twice. Signed-off-by: Dan McGee <dan@archlinux.org>
2012-01-05Adjust page and content caching lengths and decoratorsDan McGee1-1/+1
Remove never_cache from many places now that we don't actually need it since we aren't caching by default. Adjust our cache_function decorator times be shorter values, and also randomize them a bit to make cache invalidations not all line up. Signed-off-by: Dan McGee <dan@archlinux.org>
2012-01-03Add a few cache headers and minor feed caching back inDan McGee1-0/+7
Now that we aren't using the middleware, add cache headers on our primary pages so we can prevent some repeat traffic, and cache all feeds for five minutes. Signed-off-by: Dan McGee <dan@archlinux.org>
2011-12-12PyLint suggested cleanupsDan McGee1-1/+1
Signed-off-by: Dan McGee <dan@archlinux.org>
2011-12-09Add CSS classes to front page package update objectsDan McGee1-0/+7
This adds the repo name, 'staging', and 'testing' as appropriate to a classes field on the package updates object. This means we don't have to update the CSS stylesheet to include hardcoded names of repositories (e.g., 'kde-unstable'). Signed-off-by: Dan McGee <dan@archlinux.org>
2011-12-06Convert to and enable staticfiles contrib applicationDan McGee39-0/+2967
This moves our site static files into the sitestatic directory if they are shared resources, and also moves a handful of things (such as the artwork logos) into application-specific static/ directories. This allows the staticfiles contrib app to work after a few settings tweaks, a run of collectstatic, and massaging the hardcoded '/media/' prefix out of our templates. Django 1.4 is going to make this a lot easier to move things to a CDN and provides better template tags; for now this is setting the stage before we can move to that. Signed-off-by: Dan McGee <dan@archlinux.org>
2011-12-06download: add a link to the new netboot environmentThomas Bächler1-0/+1
Signed-off-by: Dan McGee <dan@archlinux.org>
2011-11-30Master keys: reduce query count, add default orderingDan McGee1-1/+2
Signed-off-by: Dan McGee <dan@archlinux.org>
2011-11-30Add master key overview pageDan McGee1-6/+12
And a bunch of text that may suck, but is better than nothing. Signed-off-by: Dan McGee <dan@archlinux.org>
2011-11-21Better support for non-latin full namesDan McGee1-2/+4
Add a 'latin_name' field to the user profile so we can better support those developers with names in non-Latin scripts, and yet still show a Latin name as necessary on the developer profile page. This field only shows up if populated. Also, use consistent sorting everywhere- rather than using username, always use first_name and last_name fields. Signed-off-by: Dan McGee <dan@archlinux.org>
2011-10-12Pylint suggested and other cleanupsDan McGee2-7/+6
Signed-off-by: Dan McGee <dan@archlinux.org>
2011-08-19download: add link to the ISO snapshotsThomas Bächler1-1/+6
Dan: use relative links if possible, use releng link from settings, fix HTML closing tags. Signed-off-by: Dan McGee <dan@archlinux.org>
2011-08-16News frontpage layout changesOlivier Keun1-1/+1
Signed-off-by: Dan McGee <dan@archlinux.org>
2011-07-05Recent updates refactorDan McGee1-25/+13
Pull out a few helpful objects and functions for use later elsewhere. Signed-off-by: Dan McGee <dan@archlinux.org>
2011-06-15Refactor common select_related into manager methodDan McGee1-3/+3
For a Package object query, we almost always did .select_related('arch', 'repo). Refactor this into the manager as a 'normal()' method so we can avoid sprinkling the same logic everywhere. Signed-off-by: Dan McGee <dan@archlinux.org>
2011-04-05Collapse all split and similar packages in recent updates listDan McGee1-14/+61
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>
2011-03-13Move magic numbers into a function argumentDan McGee1-4/+5
Instead of having the '15 most recent' bit hardcoded, specify it as the default but allow value to be overridden by any caller. We don't make use of this yet, but it is not hard to do. Signed-off-by: Dan McGee <dan@archlinux.org>
2011-02-27Slight refactor of user list viewsDan McGee1-12/+24
Signed-off-by: Dan McGee <dan@archlinux.org>
2011-02-27Screen Fellows based on group membership as wellDan McGee1-1/+1
Signed-off-by: Dan McGee <dan@archlinux.org>
2010-11-27Simplify sorting attrgetter callsDan McGee1-2/+2
Don't use dotted notation now that we have less-than implemented methods on the respective objects (which also allows this code to work under PyPy). Switch a lambda call to use attrgetter as well. Signed-off-by: Dan McGee <dan@archlinux.org>
2010-10-05Make user profile a OneToOneFieldDan McGee1-1/+1
We had this set up as a unique ForeignKey before, which adds some indirection due to the RelatedManager object being there. By making it a OneToOneField, we can get the profile object directly, enforce uniqueness, and also use it in select_related() calls to make our profiles page a bit more efficient. Signed-off-by: Dan McGee <dan@archlinux.org>
2010-10-05Switch another query to use is_downloadDan McGee1-1/+1
Signed-off-by: Dan McGee <dan@archlinux.org>
2010-10-05Add some select_related() magicDan McGee1-1/+1
Made obvious when poking around with the Django debug toolbar. Signed-off-by: Dan McGee <dan@archlinux.org>
2010-10-01Allow donors to be invisibleDan McGee1-1/+1
Signed-off-by: Dan McGee <dan@archlinux.org>
2010-09-08Move news model to an appropriate placeDan McGee1-1/+2
Never would have guessed it should actually be in news/models.py. Signed-off-by: Dan McGee <dan@archlinux.org>
2010-09-06Move mirror models out of main appDan McGee1-2/+2
South actually makes this relatively painless if you get everything right, so might as well start getting these out of the legacy main application to eventually eliminate models being separate from their views. Signed-off-by: Dan McGee <dan@archlinux.org>