summaryrefslogtreecommitdiffstats
path: root/main/models.py
AgeCommit message (Collapse)AuthorFilesLines
2010-06-21Cache results of get_depends() and get_requiredby()Dan McGee1-5/+3
Do it in our actual cache rather than an object-level, single request cache. 300 seconds is good enough resolution to have this data right; if it is updated everyone will see the results 5 minutes late at the most. Signed-off-by: Dan McGee <dan@archlinux.org>
2010-06-21Remove AutoUserMiddlewareDan McGee1-3/+1
This was having some serious effects on caching as we would always have to access the user in the session, marking every page with a "Vary: Cookie" header. This is the start of stamping that out. The way we get the user for news item creation is now more similar to that from the todo lists, but not quite. That should be adjusted to be more like the news item creation. Signed-off-by: Dan McGee <dan@archlinux.org>
2010-06-09Enhance base package listing in package detailsDan McGee1-0/+30
Add two methods to the package class, base_package() and split_packages(), that allow us to grab other related packages to one we are interested in. This allows us to list the Base Package on the package details page as a link. With the split_packages() method, we can also now list and link all sub-packages on the package details page; e.g. for 'kernel26' we can now link through to 'kernel26-firmware' and 'kernel26-headers'. Signed-off-by: Dan McGee <dan@archlinux.org>
2010-06-08Use Sites framework instead of hardcoded domain nameDan McGee1-0/+7
Instead of putting 'www.archlinux.org' all over the place, use the Django sites framework to pull the site name out of the database. Now these amazing things will work if you are running locally and decide to change the site! Signed-off-by: Dan McGee <dan@archlinux.org>
2010-05-26Add filename column to package modelDan McGee1-0/+1
Signed-off-by: Dan McGee <dan@archlinux.org>
2010-05-25Merge branch 'redesign'Dan McGee1-0/+7
Conflicts: templates/public/download.html
2010-05-24Fix null field issues exposed by Django 1.1.2Dan McGee1-3/+3
Apparently Django 1.1.1 let null fields pass right through but this now causes reporead to blow up in 1.1.2. Fix the issue and get things working again by allowing nulls where it probably makes sense and including a migration to fix the issue, which for the real database will be a no-op. Signed-off-by: Dan McGee <dan@archlinux.org>
2010-05-17Add alphabetical sorting to mirrorlistsThayer Williams1-0/+7
Also unify the sorting at the model-level for donors and remove the now duplicate sorting in the admin for mirrors. Signed-off-by: Dan McGee <dan@archlinux.org>
2010-04-28Dedupe entries in required by listDan McGee1-1/+1
Use distinct() on a query. Fixes FS#19195. Signed-off-by: Dan McGee <dan@archlinux.org>
2010-04-19Remove Arch-Based ProjectsDan McGee1-8/+0
Add a link to the wiki instead. Also remove ExternalProject model and associated dealings. Signed-off-by: Dan McGee <dan@archlinux.org>
2010-04-19Remove International CommunitiesDan McGee1-11/+0
Add link to wiki instead. Also remove AltForum model and associated dealings. Signed-off-by: Dan McGee <dan@archlinux.org>
2010-04-19Remove Press model and adminDan McGee1-10/+0
A link to the wiki was already present, but the model and admin had not been removed. Signed-off-by: Dan McGee <dan@archlinux.org>
2010-04-17Maintainer doesn't exist on package anymoreDan McGee1-1/+1
So remove it from the select_related() call on todo lists. Signed-off-by: Dan McGee <dan@archlinux.org>
2010-03-28Simplify code now that pkgbase is always definedDan McGee1-8/+2
This allows some of our queries to get a lot simpler as well as removing the pkgbase_safe property added earlier. Signed-off-by: Dan McGee <dan@archlinux.org>
2010-03-28Make pkgbase non-null and indexedDan McGee1-1/+1
Now that we always populate it, this change will make it a lot easier to use when relating to other tables, such as our maintainer relations. Signed-off-by: Dan McGee <dan@archlinux.org>
2010-03-27Drop maintainer column off packages modelDan McGee1-1/+0
Signed-off-by: Dan McGee <dan@archlinux.org>
2010-03-27Move package maintainer off of package modelDan McGee1-6/+15
This is an attempt to fix our long-standing problems dealing with maintainer information. Move the actual maintainer information off of the package model into a PackageRelation object, which has some flexibility to later represent more than just maintainership. This solves multiple problems: * If a package gets accidentally deleted, so did the maintainer info * Testing packages have always shown up as orphans * With split packages, it was easy to miss some of the sub-packages This commit does not include the deletion of the original maintainer column; that will come at a later time when I feel more confident that the data was migrated correctly. Signed-off-by: Dan McGee <dan@archlinux.org>
2010-03-20Make rsync fields on mirrors optionalDan McGee1-2/+2
I think I bumbled this up a while back, but make sure they aren't required and we use the empty string for all of those that don't provide a value. Fixes FS#18763. Signed-off-by: Dan McGee <dan@archlinux.org>
2010-03-11Make the new 'testing' flag on repo a bit clearerDan McGee1-1/+2
Since at least two repositories currently fall under this flag, add some help text and visibility to this column. Signed-off-by: Dan McGee <dan@archlinux.org>
2010-03-06Fix up get_depends logic a bitDan McGee1-12/+16
We were not handing depends of 'any' packages correctly if they depended on arch-dependent packages; we labeled them all as virtual. If we have an 'any' package, drop the arch screening and just pick one to link to. Signed-off-by: Dan McGee <dan@archlinux.org>
2010-03-06Use repo.testing flag instead of test-based checksDan McGee1-1/+1
Signed-off-by: Dan McGee <dan@archlinux.org>
2010-03-06Add a flag to the repo to indicate its 'testing' statusDan McGee1-0/+1
This will eventually lead into a cleanup where we don't do checks on the repo name all over the place like we currently do. There are two migrations involved here; one to add the column and one to deduce the correct value from the existing names of the repos. Signed-off-by: Dan McGee <dan@archlinux.org>
2010-03-06Fix get_depends() method descriptionDan McGee1-10/+6
Signed-off-by: Dan McGee <dan@archlinux.org>
2010-03-06Make mirror notes a text fieldDan McGee1-1/+1
Rather than a short 255 character field. Signed-off-by: Dan McGee <dan@archlinux.org>
2010-03-06Kill rsync IP hostname fieldDan McGee1-2/+1
This wasn't strictly necessary and was more hassle than it was worth. Signed-off-by: Dan McGee <dan@archlinux.org>
2010-03-06Add mirror rsync credentials dataDan McGee1-0/+2
Allow this to be stored in the database for later use by an external generation script for the rsyncd secrets file. Signed-off-by: Dan McGee <dan@archlinux.org>
2010-03-06Mirror tiering enhancementsDan McGee1-0/+9
Add ability to track tier and upstream mirror in the database. Signed-off-by: Dan McGee <dan@archlinux.org>
2010-02-27Add a files_last_update columnDan McGee1-0/+1
This is necessary to keep all of our junk in sync since we aren't guaranteed to have an up to date files database all the time. Signed-off-by: Dan McGee <dan@archlinux.org>
2010-02-27Add some additional fields to package importDan McGee1-0/+3
We can capture the build date, compressed size, and installed size when reporead runs. Even if we don't show all of it, we should pull it in. FS#14270 is requesting that the package size be shown on the website. Signed-off-by: Dan McGee <dan@archlinux.org>
2010-02-09Fix the get_user middleware stuffDan McGee1-1/+1
First off, the copyright notice is from the other middleware previously removed, so all of that can go, along with some stragglers in the import list. Next, as stated on http://code.djangoproject.com/wiki/CookBookThreadlocalsAndUser, you need to be sure to have the import in the model class be the same as the import used in the middleware declaration, which was not true. Whoops. Signed-off-by: Dan McGee <dan@archlinux.org>
2010-02-06Make recent updates group multiple architecturesDan McGee1-0/+6
It isn't the most elegant operation in the world, but attempt to only show one line per package, grouping by architecture if multiple were updated in the same go. This makes the recent packages view a bit more useful as a heads up view. Implements FS#17304. Signed-off-by: Dan McGee <dan@archlinux.org>
2010-02-01Provide SVN links to trunk/ for each packageDan McGee1-3/+10
This is, at least for me, more useful than the link to a specific build of a package. We provide both so no one should lose here. Signed-off-by: Dan McGee <dan@archlinux.org>
2010-01-31Make looking up a package with many required by entries fasterDan McGee1-1/+1
We were doing a 2 queries for each 'Required By' entry- arch and repo as usual. Add it to the original query so we don't waste time. Noticed while looking at the glibc description page. Signed-off-by: Dan McGee <dan@archlinux.org>
2010-01-31Make bugs link more usefulDan McGee1-0/+9
Link directly to the right project in Flyspray instead of whatever the user looked at last. Fixes FS#13166. Signed-off-by: Dan McGee <dan@archlinux.org>
2010-01-31Kill a no longer necessary hack in the adminDan McGee1-14/+0
Signed-off-by: Dan McGee <dan@archlinux.org>
2010-01-31Use select_related() to make a few more places more performantDan McGee1-4/+10
Especially when looking at packages, we always want the arch and repo. Another big hunk of changes deals with the very inefficient signoffs code. Signed-off-by: Dan McGee <dan@archlinux.org>
2010-01-31Add a pkgname indexDan McGee1-2/+1
Signed-off-by: Dan McGee <dan@archlinux.org>
2010-01-31Reintroduce optimized code for Todo listingsEvangelos Foutras1-4/+4
Now that maintainer is nullable, Django will use a LEFT OUTER JOIN with this code, so orphan packages won't be omitted. Signed-off-by: Dan McGee <dan@archlinux.org>
2010-01-31Adjust models and views for nullable maintainerEvangelos Foutras1-1/+1
Signed-off-by: Evangelos Foutras <foutrelis@gmail.com> [Dan: made a few other small touchups] Signed-off-by: Dan McGee <dan@archlinux.org>
2010-01-30Fix todolist bug with select_related()Dan McGee1-1/+4
Hey, what do you know? Using a relational DB in a non-relational way can come back to bite you. Go foreign keys! Signed-off-by: Dan McGee <dan@archlinux.org>
2010-01-30Drastically reduce loading time of Todo listsEvangelos Foutras1-1/+1
Use Django's select_related() on the TodolistPkg QuerySet to avoid making 4 database queries per package. This way we're making just one query, regardless of the number of packages in the Todo list. Local testing with 1000 entries in a Todo list show that the loading time has been reduced from 2675 ms to around 560 ms, while the number of queries has been cut down from 8005, to only 5. Signed-off-by: Dan McGee <dan@archlinux.org>
2009-11-10modified import paths from archweb_dev to archwebIsmael Carnales1-1/+1
2009-10-18Adjust SVN links to the WebSVN URL schemeThomas Bächler1-4/+4
2009-10-17Port archweb_pub commit 1f96c7a1182ef75279c18986b708e683f89dd690 to ↵Thomas Bächler1-0/+14
archweb_dev. This is the original commit message by Dan: "Make package SVN links always work This should clean up the links for all varieties of things- different arches (including any), different repos (community and community-testing), and split packages. All of the logic is in one place now and any further changes should be made to the method on the package object."
2009-10-07Set verify_exists=False on ExternalProjects modelAaron Griffin1-1/+1
This causes issues when entering some URLs. See http://code.djangoproject.com/ticket/9918 Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
2009-09-26Update reporead and model to store pkgbaseDan McGee1-0/+1
Signed-off-by: Dan McGee <dan@archlinux.org>
2009-08-21Add an 'external projects' model and admin for managing the projects page.Dusty Phillips1-0/+8
2009-08-12Add a couple fields to mirror admin at Aaron's requestDusty Phillips1-0/+4
2009-07-24Allow setting allowed repos to empty.Dusty Phillips1-1/+1
2009-07-24Repo-based permissions when adopting packages.Dusty Phillips1-0/+1