Age | Commit message (Collapse) | Author | Files | Lines |
|
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>
|
|
Made obvious when poking around with the Django debug toolbar.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
With package pooling we don't put things in the '/any/' folder anymore under
each repository; they only show up in the actual architectures. Use a 'real'
architecture as part of the download link to rectify this. Fixes FS#20779.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
This is done as client-side JS which makes the page nice and fast. Minor
versions can be excluded, as can packages in [multilib]. In addition,
architecture filtering is in place so you can limit the subset of shown
packages to those in any, both, one or the other.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
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>
|
|
Rather than the need to include RequestContext() calls directly, we can
just use direct_to_template to do all the work for us.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
We had a bunch of extra imports, non-conventional variable names, spacing
issues, etc. that were relatively low-hanging fruit to clean up. Fix them
and make the code a bit cleaner in the process.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
We now have a few of them, so move them to their own file like we do in the
other applications.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Make it more visible to the public, and cache the results of the group
information function since it was designed and made separate for that
purpose and the results can safely be reused without needing to worry too
much about it being stale.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Just another annotation to the queryset to get this data, and a little more
manipulation in the group data function. This will help when adding a
sitemap in a subsequent commit.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
This makes the support asked for in FS#19801 a lot more useful since we
actually have an overview page for the entire group.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Implements FS#20416. Port over the architecture differences view from
archlinux.de and reimplement in Django with our DB schema. Also use a far
simpler SQL query to do the dirty work rather than the triple UNION
operation. This is accomplished by doing a bit more of the fetching work in
code once we know what packages are actually involved.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Instead of just showing usernames. It is especially helpful since we have
many similarly named developers at this point. In addition, only show active
developers/TUs and remove the rest from the list.
Also remove some cargo-cult code that set widget.choices; this is not
necesary as the widget automatically grabs the choices from the field.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
It sounded like the date had to match exactly which wasn't true, so clarify
the label on the form field.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
For easy linking to a given person's packages when we have a user object.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
They show up but aren't hotlinked to anything...just yet.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
We had some dependency issues between migrations that needed to be
explicitly defined in order to get things fully moving, and do to some
braindeadness in Django tests not including the project url config, we need
to do some clever business when using the url tag in the base template so
tests don't doe with a NoReverseMatch exception.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Now that we cache everything, we need to ensure anyone doing edits and
such gets the live data and not some cached version that was already
updated and is now stale. Add the never_cache decorator to any of the
CUD screens as well as a few others that might benefit from always being
regenerated.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
This is also another step in making sure we don't unnecessarily access the
Django session object and thus add a Vary cache control header we don't
want.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
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>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
After adding filename to the database, this is a rather simple request (see
FS#19546). Right now the "randomly" chosen mirror happens to always be
mirrors.kernel.org as it is the only one filed under the 'Any' country which
is what we screen on. Perhaps this logic could be improved in the future but
I don't see these links being all that high traffic anyway.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
We were still using the user-facing package IDs here which we have
eliminated everywhere else Change it to use the same user-friendly URL
pattern we are using elsewhere.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
|
|
Attempt to mark all packages built from the same PKGBUILD out of date at the
same time by using pkgbase instead of pkgname. Ensure testing and
non-testing repos are segregated as well.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
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>
|
|
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>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Get rid of the copy/paste by including the sub-template.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Since the same URLs serve two different responses based on the request being
AJAX or not, we want to ensure we don't cache the wrong one and serve it up
incorrectly.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
This will put the filelist inline on the package details page if using a
capable browser. It should still fallback to a separate page if necessary
(e.g. all those users using links on the site).
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Move it away from the numeric pkgid-based view of old to the new pretty URL
format. This does nothing to actually make the view show files (or even
provide a link to it), but that will come in future commits.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Use update() instead of for x in y: save().
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
We can pull the common queryset out into a local variable, as well as using
the mass-update function provided on a queryset instead of resorting to
iteration.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Django already provides an implementation of urlencode that is Unicode-safe.
Use it instead of our own version.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
The len() call was killing performance, especially in the default click-thru
case where we show the packages list without any filtering (only sorting).
Also use a well-placed select_related() to further drop the query count. As
noted by the TODO, there is still more that can be done here to improve
performance.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Unnecessary, and lets us standardize on not using it everywhere.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Implements FS#14185. It is a bit more complex than listed there as I wanted
to not hardcode the URLs in the descriptor file; to do this we need to make
it a template and fill some things in. We also need to serve the file using
the correct mime type.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
And honor the packager's notify flag, as Pierre pointed out.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
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>
|
|
Signed-off-by: Evangelos Foutras <foutrelis@gmail.com>
[Dan: made a few other small touchups]
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Makes it easier to find a user since we have quite a few. FS#18055.
Signed-off-by: Dan McGee <dan@archlinux.org>
|