Age | Commit message (Collapse) | Author |
|
The most important one here is PROTECT to keep people from making
bone-headed plays and deleting an Arch or Repo and every package along
with it. We can use this in a few other places, as well as some
carefully placed SET_NULL indicators.
Note that nothing here pushes deletion responsibilities down to the
database, although that will probably happen in a future commit.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Get the stuff used to retrieve and refresh the latest date values all in
the same place, and make it a bit more beautiful by refactoring it all
into a common set of methods.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
This follows the earlier commit where we make sure any value going to or
being pulled from the database is UTC.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Rather than the twisted mix of local times and UTC times we currently have.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Django, you make the simplest things so damn hard sometimes.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Implement 'tag:' style URIs for the GUID field on our RSS feeds. This
ensures new package updates show up as new, and we aren't jumping back
and forth between generated GUIDs having 'http://' and 'https://'
prefixes.
Much of the work here is to attempt to keep old news GUIDs constant so
we don't once again make everything show up as new in newsreaders.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
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>
|
|
So we don't create duplicates without knowing it in our database, like
we did earlier today.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
We allowed repo selection before, but never actually called save_m2m()
so selections would have to be repeated on the next page. Add in group
selection as well to the form, and ensure we do all of our database
operations in one transaction so it is a lot easier to test and roll
back if things go wrong.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
The automatic detection started using the builtin time parser instead of
our duration parser, causing it to barf on anything > 60 minutes.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Get the URLs with their performance data showing up, and simplify the
top part for non-authenticated users while adding more detail for
logged-in users.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Addresses FS#23399.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Ensure all our multivalued attributes already exist on the object
beforehand, and add some special sauce to handle the difference between
a package without files and a database without files entries.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
|
|
This will come in more handy with our new models, but we can adapt groups
and licenses to use it first.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
This allows us to store conflicts, provisions (provides), and replacements
in the database, things we weren't capturing before. All can be multivalued,
just like License and PackageGroup.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Repurpose the old group details page to show a listing of all packages
built from a particular pkgbase value, even if this value is not an
actual package.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
We will be able to use this same table-based package listing elsewhere.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
First steps towards implementing FS#23298.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Remove all the click to expand junk; just show the tables all the time.
There is no form at the bottom of the page anymore, so if you don't want
to read the tables on the bottom, just don't read them.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
We just returned the coerced value in valid_value() which may become
None if the valid value "all" was passed, resulting in valid_value()
evaluating to False. Explicitly returning True if the value can be
coerced without an error fixes this.
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
This was the cause of some pretty awesome performance headaches this
morning.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
We were silently eating errors and just showing a normal package list if
the form didn't validate. Rather than do that, make sure we return no
packages at all and display the form errors back to the user in a sane
fashion. Adjust the validation methods on the 'limit' parameter so any
integer is acceptable.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|