summaryrefslogtreecommitdiffstats
path: root/main/models.py
AgeCommit message (Collapse)AuthorFilesLines
2012-07-25Remove custom utc_now() function, use django.utils.timezone.now()Dan McGee1-2/+3
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-05-19Drop old PackageDepend modelDan McGee1-71/+0
Signed-off-by: Dan McGee <dan@archlinux.org>
2012-05-19Switch to usage of new Depend objectDan McGee1-3/+4
Signed-off-by: Dan McGee <dan@archlinux.org>
2012-05-19Simplify get_best_satisfier and get_providersDan McGee1-27/+24
We always passed values in that came off the containing package object; we can access these directly in the methods themselves. Signed-off-by: Dan McGee <dan@archlinux.org>
2012-05-02Ensure order_by default value is cleared when using distinct()Dan McGee1-3/+4
Otherwise the queryset returns nonsensical results. I find the design of this less than obvious but so be it; we can ensure the results work regardless of a default ordering on the model. Signed-off-by: Dan McGee <dan@archlinux.org>
2012-04-22Add an index on packages last update columnDan McGee1-1/+1
Not sure why we don't have this already, given both the home page, the packages page when ordered by last update, and the generated feeds would see immediate benefit from it. Signed-off-by: Dan McGee <dan@archlinux.org>
2012-04-20UserProfile model and fields shuffleDan McGee1-56/+2
Move this model into the devel/ application, and move the PGPKeyField which is used only by these models into the application as well. This involves updating some old migrations along the way to ensure we don't reference a field class that no longer exists. Signed-off-by: Dan McGee <dan@archlinux.org>
2012-04-03Include category when linking to bug reportsDan McGee1-1/+1
Also change the default category to something legit. Signed-off-by: Dan McGee <dan@archlinux.org>
2012-03-26Rename 'packagedepend_set' attribute to 'depends'Dan McGee1-2/+2
We do this for every other related package attribute, so do it here too. Signed-off-by: Dan McGee <dan@archlinux.org>
2012-03-24Revert "Add some dev dashboard info regarding signed package count"Dan McGee1-4/+0
This reverts commit 797185faed0555efb88a1e6a18e447548a9935fd. Now that all packages in the Arch repos are signed, this column isn't very useful as it just reflects the total package count. Conflicts: packages/views.py -> packages/views/search.py Signed-off-by: Dan McGee <dan@archlinux.org>
2012-03-24Make all datetime objects fully timezone awareDan McGee1-2/+2
This is most of the transition to Django 1.4 `USE_TZ = True`. We need to ensure we don't mix aware and non-aware datetime objects when dealing with datetimes in the code. Add a utc_now() helper method that we can use most places, and ensure there is always a timezone attached when necessary. Signed-off-by: Dan McGee <dan@archlinux.org>
2012-03-08Show signature data on package details pageDan McGee1-6/+29
Now that we have a way to decode and process the signature data, we can match the key_id to a known developer if possible and show this data on the package page. Signed-off-by: Dan McGee <dan@archlinux.org>
2012-02-07Show the latest flag request on package details if out of dateDan McGee1-0/+11
This only shows up for logged in users, but might be helpful for developers browsing around the site, especially if they did not receive the email themselves, or in the case of orphan packages. Signed-off-by: Dan McGee <dan@archlinux.org>
2012-01-05Adjust page and content caching lengths and decoratorsDan McGee1-4/+4
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>
2011-12-12PyLint suggested cleanupsDan McGee1-4/+2
Signed-off-by: Dan McGee <dan@archlinux.org>
2011-12-08Add a new FlagRequest modelDan McGee1-1/+1
This will be used to store all of the submitted data we get via flag out of date forms on the website. Signed-off-by: Dan McGee <dan@archlinux.org>
2011-11-30Add master key overview pageDan McGee1-0/+12
And a bunch of text that may suck, but is better than nothing. Signed-off-by: Dan McGee <dan@archlinux.org>
2011-11-30Move main fields to separate moduleDan McGee1-34/+2
Signed-off-by: Dan McGee <dan@archlinux.org>
2011-11-21Better support for non-latin full namesDan McGee1-0/+2
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-11-17Change package description to a text fieldDan McGee1-1/+1
No need to have length restrictions on this. Although long descriptions are frowned upon, we shouldn't truncate them if someone really wants one. Signed-off-by: Dan McGee <dan@archlinux.org>
2011-11-17Ensure reporead is protected against simultaneous runsDan McGee1-1/+2
This adds a bunch of transaction magic and SELECT FOR UPDATE stuff to reporead to cope with the now-concurrent runs of reporead we get when invoked from our inotify-based updater. The collision occurs with 'any' architecture packages as both repo databases contain the new version, and the updates occur at exactly the same time. Signed-off-by: Dan McGee <dan@archlinux.org>
2011-11-04Make maintainer lookup on todo lists fastDan McGee1-4/+9
This is rather sick to look at. Sorry, Django gives me no other choice. Signed-off-by: Dan McGee <dan@archlinux.org>
2011-11-04Add new attach_maintainers() utility methodDan McGee1-3/+11
This allows us to alleviate the N+1 query problem when we want maintainer data for a queryset of packages. We use it on signoffs here; we should also be able to apply this to the todolist section where this problem has existed for some time. Signed-off-by: Dan McGee <dan@archlinux.org>
2011-11-03Add URL to todolist emailDan McGee1-0/+5
Signed-off-by: Dan McGee <dan@archlinux.org>
2011-11-03Many signoff page improvementsDan McGee1-11/+0
Add a new 'SignoffSpecification' model which will capture metadata regarding a specific package if it differs from the norm- e.g. more or less than 2 required signoffs, is known to be bad, a comment from the maintainer, etc. The groundwork is laid here; much of this will still need to be wired up in the future. Enhance the view with a lot more JS prettiness and add revoking of signoffs. The signoff page can be filtered and the links and all the fun stuff are totally dynamic now. Signed-off-by: Dan McGee <dan@archlinux.org>
2011-11-01Add created column to Donor modelDan McGee1-2/+9
Signed-off-by: Dan McGee <dan@archlinux.org>
2011-10-22Add a generate_keyring commandDan McGee1-1/+1
This grabs all the PGP keys from the developer profiles and adds them to the keyrings. Obviously we may want to do more in the future such as filter by groups, active status, etc. but this is just a first iteration. Signed-off-by: Dan McGee <dan@archlinux.org>
2011-10-22Accept 40 hex char PGP key signatures onlyDan McGee1-11/+6
Signed-off-by: Dan McGee <dan@archlinux.org>
2011-09-19Add some dev dashboard info regarding signed package countDan McGee1-0/+4
This adds a column similar to the flagged package count for the number of signed packages in a given architecture or repository. It is up to the user to do some simple math to figure out the number of unsigned packages. Also, add 'signed' as a hidden search field option similar to what we did for packager. Signed-off-by: Dan McGee <dan@archlinux.org>
2011-09-10Use HTTPS by default in email URLsDan McGee1-1/+1
Signed-off-by: Dan McGee <dan@archlinux.org>
2011-09-08List packages in required by list with depend provided by this packageDan McGee1-1/+3
Implements FS#25862. Most noticable on package like util-linux (util-linux-ng) and openjdk6 (java-runtime, java-environment). Signed-off-by: Dan McGee <dan@archlinux.org>
2011-08-17Add PGP signature package fieldDan McGee1-1/+5
And add eventual display code for it to the details template, but don't show it yet as no packages will have it. Signed-off-by: Dan McGee <dan@archlinux.org>
2011-08-10Refactor get_depends() to use PackageDepends methodsDan McGee1-24/+18
The returned objects now also have a providers list if it makes sense. Signed-off-by: Dan McGee <dan@archlinux.org>
2011-08-10Add some methods to PackageDepend objectDan McGee1-0/+58
This will allow for some future "find the best provider link" stuff as well as refactoring of the get_depends() method on Package. Signed-off-by: Dan McGee <dan@archlinux.org>
2011-07-30Select arch/repo for split package related fieldsDan McGee1-3/+3
Signed-off-by: Dan McGee <dan@archlinux.org>
2011-07-06Delete old signoff modelDan McGee1-6/+0
Signed-off-by: Dan McGee <dan@archlinux.org>
2011-07-06Refactor code to use new signoff modelDan McGee1-8/+6
This moves signoff creation and display to the new packages.Signoff model. Signed-off-by: Dan McGee <dan@archlinux.org>
2011-07-05Allow more lenient data entry for PGP key fieldDan McGee1-1/+20
Don't allow the max_length parameter to make it through to the HTML form, silently cutting off HTML cut and pastes. Trim out spaces automatically, as well as '0x' and '2048R/' type prefixes. Signed-off-by: Dan McGee <dan@archlinux.org>
2011-06-24Fix syntax errors, == not =Dan McGee1-2/+2
Signed-off-by: Dan McGee <dan@archlinux.org>
2011-06-24Add Package.in_staging methodDan McGee1-0/+11
Signed-off-by: Dan McGee <dan@archlinux.org>
2011-06-24Set up queries for staging reposDan McGee1-6/+11
This treats repo.staging special in much the way we already have to treat repo.testing as special. Signed-off-by: Dan McGee <dan@archlinux.org>
2011-06-24Revert "Remove unused flagged() manager method"Dan McGee1-0/+4
Far from unneeded, this is used on the developer dashboard. Silly me. Document this fact as well in the code so we don't screw it up again. This reverts commit 2a44855556531a27e949884d4084c6e5d37082e1.
2011-06-15Remove unused flagged() manager methodDan McGee1-3/+0
Signed-off-by: Dan McGee <dan@archlinux.org>
2011-06-15Refactor common select_related into manager methodDan McGee1-5/+6
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-06-15PositiveBigIntegerField: set get_internal_type() correctlyDan McGee1-1/+1
This is a key for Django to return the DB type that matches this value. Since we are basically just ripping off a BigIntegerField, we can use the database types for it. This makes my prior checked in migrations actually work on MySQL. Signed-off-by: Dan McGee <dan@archlinux.org>
2011-06-15Mark several package columns as non-NULLDan McGee1-4/+14
These have been around for a long time now so they don't need to be NULL-able anymore. We can also add a custom field type for our numbers to at least get a check constraint at the Django level. Signed-off-by: Dan McGee <dan@archlinux.org>
2011-06-02Add a PGP key field on the dev profileDan McGee1-0/+13
Signed-off-by: Dan McGee <dan@archlinux.org>
2011-05-09Ensure required by works for arch-agnostic packagesDan McGee1-2/+5
We weren't showing required by entries for arch-specific packages that depended on arch-agnostic ones. Make the check a bit less specific for arch-agnostic packages similar to what we do for dependencies. Fixes FS#24184. Signed-off-by: Dan McGee <dan@archlinux.org>
2011-04-19Reimplement links code as template tagsDan McGee1-24/+0
These were starting to get a bit too much inside the model itself, and they don't really belong there as they are view layer concerns anyway. Signed-off-by: Dan McGee <dan@archlinux.org>
2011-04-19Add a "Report a Bug" linkDan McGee1-0/+11
We need Flyspray category data to make this more useful, and we can prefill the Subject and Category fields (along with putting it on the right project). Implements FS#23751. Signed-off-by: Dan McGee <dan@archlinux.org>