summaryrefslogtreecommitdiffstats
path: root/main
AgeCommit message (Collapse)AuthorFilesLines
2013-01-20Fix error in get_requiredby() when checking providesDan McGee1-0/+1
The query refactor in commit 1b1b516bd removed a queryset I didn't realize was getting used elsewhere in the function. Signed-off-by: Dan McGee <dan@archlinux.org>
2013-01-20Remove AlwaysCommitMiddlewareDan McGee1-40/+0
Let's just go with the Django database option for PostreSQL autocommit mode instead. Signed-off-by: Dan McGee <dan@archlinux.org>
2013-01-20Query performance enhancements in get_requiredby()Dan McGee1-5/+6
For packages with particularly long lists of provides (e.g. perl), the query was getting a bit out of control with the list of names passed in. However, changing it to simply do a subquery resulted in some really poor planning by PostgreSQL. Doing this as a custom 'WHERE' clause utilizing the 'UNION ALL' SQL operator works very well. Signed-off-by: Dan McGee <dan@archlinux.org>
2013-01-16Convert all usages of flag icons to new spriteDan McGee1-0/+13
This uses a new template tag to avoid repeating construction of the necessary HTML element all over the place. The site should look exactly as it did before, except now you don't have to download 20+ images to see some pages. Signed-off-by: Dan McGee <dan@archlinux.org>
2013-01-16Clean up and make several migrations modernDan McGee5-32/+22
This moves most migrations to the v2 format that have been presenting some issues. One missing depends_on relationship has been added, and we allow an index to not be dropped if it does not exist due to the shittyness in sqlite3 actually keeping indexes across DDL on that table. Signed-off-by: Dan McGee <dan@archlinux.org>
2013-01-16Add new AlwaysCommitMiddleware to the stackDan McGee1-0/+40
The reason for this is documented in the middleware itself. Without this, pgbouncer is of little use to us since it has to throw away every connection we try to route through it because of unclean disconnects. In theory, with the switch to using pgbouncer for all WSGI originating connections and adding this middleware, we should see a notable decrease in connection time to the database. Signed-off-by: Dan McGee <dan@archlinux.org>
2012-12-31Minor coding style tweaksDan McGee1-1/+3
Signed-off-by: Dan McGee <dan@archlinux.org>
2012-12-31Add 'created' field to packages modelDan McGee2-0/+119
This will be used to eventually implement the UI side of FS#13441, but to do that, we first need the data. Signed-off-by: Dan McGee <dan@archlinux.org>
2012-12-31Remove old todolist permissionsDan McGee1-50/+0
Signed-off-by: Dan McGee <dan@archlinux.org>
2012-12-31Update the groups JSON fixtureDan McGee1-70/+159
Signed-off-by: Dan McGee <dan@archlinux.org>
2012-12-30Move needs_autoescape attribute to @register.filterDan McGee1-2/+2
This is the preferred and non-deprecated way of doing this in Django 1.4+. Signed-off-by: Dan McGee <dan@archlinux.org>
2012-12-28Retrieve arch and repo too when calling reverse_conflictsDan McGee1-1/+1
Since we need these in the template for any details links, we might as well pull them back from the database in one query rather than three. Signed-off-by: Dan McGee <dan@archlinux.org>
2012-12-28Reduce query count when retrieving satisfiers and providersDan McGee1-2/+2
Django doesn't attach the parent object to the child objects, even when queried through the related manager. This causes up to 3 extra queries: one to retrieve the package again, and one each for arch and repo retrieval. For a package like archboot, this drops the number of necessary queries for the package page from 805 to 222 (yes, this is still too high) and cuts the time spent waiting on the database from 505ms to 262ms. Signed-off-by: Dan McGee <dan@archlinux.org>
2012-12-28Move slug creation helper to main/utilsDan McGee1-0/+15
Signed-off-by: Dan McGee <dan@archlinux.org>
2012-12-28Remove old todo list modelsDan McGee3-70/+134
Signed-off-by: Dan McGee <dan@archlinux.org>
2012-12-28Move the body of set_last_modified to main/utilsDan McGee1-2/+8
Instead of having multiple methods, move this into our single 'created' setter method. If the 'last_modified' property is present, we now update it accordingly when saving any model with this signal attached. Signed-off-by: Dan McGee <dan@archlinux.org>
2012-12-28Fix "RuntimeWarning: DateTimeField received a naive datetime" warningsDan McGee1-2/+2
When running tests, we can find old migrations that didn't use datetime objects with timezones attached. Signed-off-by: Dan McGee <dan@archlinux.org>
2012-12-27Tablesorter JS upgradeDan McGee1-1/+1
Signed-off-by: Dan McGee <dan@archlinux.org>
2012-12-12Update jQuery to 1.8.3Dan McGee1-1/+1
Signed-off-by: Dan McGee <dan@archlinux.org>
2012-12-05get_latest_by cleanupsDan McGee1-1/+1
Fix some that referenced non-existent attributes, and add the attribute to other models. Signed-off-by: Dan McGee <dan@archlinux.org>
2012-11-27Don't cache package properties as aggressivelyDan McGee1-3/+0
For package signatures, it turns out it is way cheaper to just parse the signature again rather than going though all the decorator and cache_function_key business. This speeds up the mismatched signatures report significantly once this is removed. For base_package, given that we only call it once from our package details template, it makes little sense to cache the result. Signed-off-by: Dan McGee <dan@archlinux.org>
2012-11-16Use python set comprehension syntax supported in 2.7Dan McGee1-1/+1
Signed-off-by: Dan McGee <dan@archlinux.org>
2012-10-27Cleanup meta model attributesDan McGee1-3/+2
Signed-off-by: Dan McGee <dan@archlinux.org>
2012-10-21Update tablesorter JSDan McGee1-1/+1
Signed-off-by: Dan McGee <dan@archlinux.org>
2012-10-18Clean up create index migrationDan McGee1-2/+2
Signed-off-by: Dan McGee <dan@archlinux.org>
2012-10-18Modernize initial main migrationDan McGee1-3/+3
Signed-off-by: Dan McGee <dan@archlinux.org>
2012-09-30Remote errant print() statementDan McGee1-1/+0
Signed-off-by: Dan McGee <dan@archlinux.org>
2012-09-30PEP8 cleanups for main/modelsDan McGee1-0/+9
Signed-off-by: Dan McGee <dan@archlinux.org>
2012-09-26Add staging repos to repos JSON fixtureDan McGee1-0/+60
Signed-off-by: Dan McGee <dan@archlinux.org>
2012-09-25Update jQuery to 1.8.2Dan McGee1-1/+1
Signed-off-by: Dan McGee <dan@archlinux.org>
2012-09-05Upgrade jQuery to 1.8.1Dan McGee1-1/+1
Signed-off-by: Dan McGee <dan@archlinux.org>
2012-09-04Add a 'format_http_headers' methodDan McGee1-0/+10
This takes a HttpRequest object and grabs the HTTP headers out of it and pretty-prints them in a familiar format. This will come in handy if we want to log these when creating package FlagRequests, releng Tests, etc. in addition to already logging the IP address of the user posting the request. Signed-off-by: Dan McGee <dan@archlinux.org>
2012-09-04Filter out spam flag requests on package details pageDan McGee1-1/+1
No need to show these as a matching request. Signed-off-by: Dan McGee <dan@archlinux.org>
2012-08-21Don't blow up when pgp signature data is '' on a packageDan McGee1-0/+2
We handled None/NULL correctly, but not the empty string. Fix this corner case. Signed-off-by: Dan McGee <dan@archlinux.org>
2012-08-21Mark nullable fields as blank on package modelDan McGee1-2/+2
This helps when creating test packages through the Django admin. Signed-off-by: Dan McGee <dan@archlinux.org>
2012-08-16Ensure reverse conflicts match architecture if applicableDan McGee1-0/+4
Signed-off-by: Dan McGee <dan@archlinux.org>
2012-08-14Add a rate limiting filter for log messagesDan McGee1-0/+71
This should help cut down on the massive amount of emails I receive when things go wrong on the production website. Signed-off-by: Dan McGee <dan@archlinux.org>
2012-08-09Migrate flag request version info to new formatDan McGee1-2/+6
Signed-off-by: Dan McGee <dan@archlinux.org>
2012-08-08Push more default values down into the databaseDan McGee5-5/+5
This makes it easier to do manual manipulation/insertion/etc. at the database level, as well as just making things act more sane from an overall software stack perspective. Signed-off-by: Dan McGee <dan@archlinux.org>
2012-08-08Make use of new ctypes ALPM APIDan McGee1-7/+48
We can use this when filtering down lists of depends, required by, conflicts, etc. to ensure we are honoring the version specifications the same way pacman would. Signed-off-by: Dan McGee <dan@archlinux.org>
2012-08-07Add reverse conflicts to package detailsDan McGee1-0/+10
This is a place where calling vercmp could come in really handy. Signed-off-by: Dan McGee <dan@archlinux.org>
2012-08-05Smarter handling of multilib packages in "Versions Elsewhere"Dan McGee1-1/+9
We can do some manipulation of the pkgname to ensure multilib packages show up here, as well as showing the non-multilib versions in the list when viewing the multilib packages. Signed-off-by: Dan McGee <dan@archlinux.org>
2012-08-04Make adjustments for optional -> deptype conversionDan McGee1-2/+7
Very little dealt directly with this field. Signed-off-by: Dan McGee <dan@archlinux.org>
2012-08-01PGP key handling updatesDan McGee1-0/+8
* 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 McGee1-11/+24
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-29Upgrade to jQuery 1.7.2 and a maintained tablesorterDan McGee1-2/+3
This touches a wide variety of files as well as makes updates to some of our own code to be fully compatible. We also use some of the newer locale/accent sorting features of tablesorter to make tables with developer names sort in a more sane fashion. Signed-off-by: Dan McGee <dan@archlinux.org>
2012-07-25Remove custom utc_now() function, use django.utils.timezone.now()Dan McGee2-9/+5
This was around from the time when we handled timezones sanely and Django did not; now that we are on 1.4 we no longer need our own code to handle this. Signed-off-by: Dan McGee <dan@archlinux.org>
2012-07-09Add a new jquery_tablesorter CDN template tagDan McGee1-0/+7
And use it everywhere we were including the file before. This should make updating the version a heck of a lot easier. Signed-off-by: Dan McGee <dan@archlinux.org>
2012-07-09Don't log package updates in Python when we have DB trigger supportDan McGee1-0/+11
This adds a helper method to find the database engine in use, and then skips code we shouldn't execute if we are doing this another way. Note that this helper method could be useful for backend-specific code paths elsewhere, such as custom SQL being called or lack of StdDev() in sqlite3 out of the box. Signed-off-by: Dan McGee <dan@archlinux.org>
2012-05-20Ensure we use last_modified date from News in headersDan McGee1-3/+4
We were actually using the postdate attribute rather than last_modified, which means any News objects that get edited would not trigger an update of the feed. Signed-off-by: Dan McGee <dan@archlinux.org>