path: root/todolists
AgeCommit message (Collapse)AuthorFilesLines
2013-11-06Django 1.6 upgrade, deprecation cleanupDan McGee1-1/+1
PendingDeprecationWarning: commit_on_success is deprecated in favor of atomic. Signed-off-by: Dan McGee <>
2013-05-10Add a 'last touched by' column to todolist detail viewDan McGee2-3/+5
This allows you to see very easily who last manipulated a package todolist item in case you have a need to know. Signed-off-by: Dan McGee <>
2013-04-16Various minor code cleanups and fixesrelease_2013-04-16Dan McGee2-2/+0
Most of these were suggested by PyCharm, and include everything from little syntax issues and other bad smells to dead or bad code. Signed-off-by: Dan McGee <>
2013-03-11Only show incomplete todolists to unauthenticated usersrelease_2013-03-11Dan McGee1-1/+2
Signed-off-by: Dan McGee <>
2013-03-11Make todolists fully publicDan McGee1-3/+3
Remove the login_required decorator from the index and detail views to allow everyone to see the same thing. Of course, when I say "same" here, unauthenticated users don't see the same links developers do to mark packages complete and incomplete. Signed-off-by: Dan McGee <>
2013-03-11Remove public todolists viewDan McGee1-10/+0
Replace this with a redirect to the developer todolist index page. Signed-off-by: Dan McGee <>
2013-03-07Fix IntegrityError in corner case todolist updateDan McGee1-6/+19
We were seeing this in production: IntegrityError: duplicate key value violates unique constraint "todolists_todolistpackage_todolist_id_700d1b623414814c_uniq" DETAIL: Key (todolist_id, pkgname, arch_id)=(206, ruby-cairo, 2) already exists. This is due to a corner case where a package was originally on a todolist and the underlying package object disappeared, so the todolist entry was unlinked and pkg_id set to NULL. Later, this package came back, but our get_or_create tried to create an object that violated our unique constraint because of the missing pkg_id. Call get_or_create with the minimum necessary bits to find the todolist package object, and pass the rest of the values via defaults to avoid this problem. Additionally, relink any todolist entries up to a package in the repositories if one is available. Signed-off-by: Dan McGee <>
2013-02-26Merge branch 'django-1.5'Dan McGee1-1/+1
Conflicts: requirements.txt requirements_prod.txt
2013-02-09Use 'update_fields' kwargDan McGee1-1/+1
This was added in Django 1.5 and allows saving only a subset of a model's fields. It makes sense in a few cases to utilize it. Signed-off-by: Dan McGee <>
2013-02-08Ensure todolists are consistently sortedDan McGee1-1/+2
This is for the public view page; we had no order_by() call so lists could be displayed in seemingly random order. Signed-off-by: Dan McGee <>
2013-01-22Show staging version on todolist view pageDan McGee2-1/+21
If one exists, it is easy enough to show it here so in-progress todolists can easily be cross-checked with the current state of the repository. Signed-off-by: Dan McGee <>
2013-01-15Clean up and make several migrations modernrelease_2013-01-15Dan McGee1-0/+4
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 <>
2013-01-13Use content_type and not mimetype on HttpResponse()Dan McGee1-3/+2
Bug #16519 in Django deprecates mimetype, so update our code accordingly. Signed-off-by: Dan McGee <>
2013-01-12Add last_modified field to todolist packagesDan McGee3-1/+253
Signed-off-by: Dan McGee <>
2012-12-31Set user on todolist packages when flag status changesDan McGee1-0/+1
This will allow us to see who last changed the status of a todolist item. Signed-off-by: Dan McGee <>
2012-12-31Mark todolist packages as removed rather than deleting themDan McGee3-22/+37
This makes it easier to see the progression of a todolist and its contents easier since we are no longer losing the data. Signed-off-by: Dan McGee <>
2012-12-31Fix list_pkgbases view callDan McGee1-1/+1
Signed-off-by: Dan McGee <>
2012-12-31Fix dependency issue found by south migrationcheck commandDan McGee1-0/+1
Due to pgp_signature being added to the Package model, we need to depend on this later change as well. Signed-off-by: Dan McGee <>
2012-12-31Minor coding style tweaksDan McGee2-2/+2
Signed-off-by: Dan McGee <>
2012-12-31Add 'removed' field to todolist packagesDan McGee2-1/+128
This will be utilized to soft-delete items from the list if the packages are modified, rather than deleting them outright. Signed-off-by: Dan McGee <>
2012-12-31Small admin tweaks for todolists filteringDan McGee1-0/+1
Signed-off-by: Dan McGee <>
2012-12-29Defer the 'raw' field when listing todolistsDan McGee2-2/+2
A lot like skipping fetching of the news content; we definitely don't need this just to list the todolists on index pages. Signed-off-by: Dan McGee <>
2012-12-28Add a todolist package details link template tagDan McGee2-0/+19
Given the way we retrieve certain related objects, it makes more sense to use a custom tag here rather than our generic package details link tag. When viewing a large todolist, this saves significantly on the number of queries we need to build the page. Signed-off-by: Dan McGee <>
2012-12-28Set slug on todolist creationDan McGee1-2/+6
Signed-off-by: Dan McGee <>
2012-12-28Use todolist slugs for all URLsDan McGee3-25/+42
Signed-off-by: Dan McGee <>
2012-12-28Populate the todolist slug field and mark non-nullDan McGee3-1/+253
This is ripped off from commit 7c92ddbd3c86d when we added slugs to News objects. Signed-off-by: Dan McGee <>
2012-12-28Add todolists slug fieldDan McGee2-0/+124
This will be used to make more descriptive URLs for our todolists. The `null=True` bit will be removed once a data migration is added to add slugs to all previously created todolists. Signed-off-by: Dan McGee <>
2012-12-28Todolist URLs map to old_id now, not idDan McGee2-5/+5
This is a short-term fix before adding a slug field to todo lists as we did to news a while back. Signed-off-by: Dan McGee <>
2012-12-28Convert to using new todolist models everywhereDan McGee3-41/+51
This is a rather widespread set of changes converting usage to the new todo list and todo list package model recently introduced. The data migration is not included in this commit. After this commit, the old model should no longer be referenced anywhere. Signed-off-by: Dan McGee <>
2012-12-28Add data migration for todolistsDan McGee1-0/+183
This moves the data from the old models into the new ones. Note that IDs are not preserved across the move, but we do store the old ID in the old_id column so we don't break every link out there. Links will become slugs in a future commit, so there should be no ambiguity when linking via number vs string. Signed-off-by: Dan McGee <>
2012-12-28Add packages method to new Todolist modelDan McGee1-0/+6
Signed-off-by: Dan McGee <>
2012-12-28Add todolist admin for new modelDan McGee1-0/+14
Signed-off-by: Dan McGee <>
2012-12-28Add new todolists and todolist package modelDan McGee2-0/+232
Move the todolist model from main to the todolists application, and make a few minor tweaks to field names along the way. Also add a 'raw' field that will hold the originally input text data from the creator or last modifier of the todolist. Add pkgname, pkgbase, arch, and repo fields to a new todolist package model, which will supplement the former foreign key to an actual package object. This will prevent todolist package objects from ever being deleted as they can be now, which is not intuitive. Also change the current boolean 'complete' flag to a 'status' enum that can hold other values. For now, we add 'In-progress' to the mix. Finally, add a 'user' field, and a 'comments' field that will be utilized later by the UI. Signed-off-by: Dan McGee <>
2012-12-27Add initial todolists models migrationDan McGee3-0/+19
Signed-off-by: Dan McGee <>
2012-11-20Improve performance of todolists queryDan McGee1-15/+26
Use some standard SQL and split the query into two different parts to save a lot of unnecessary sorting and field retrieval at the database level. The `CASE WHEN complete THEN 1 ELSE 0 END` syntax should be accepted by any database that implements proper SQL; it was tested in PostgreSQL and sqlite3 without issues. Signed-off-by: Dan McGee <>
2012-11-16Use python set comprehension syntax supported in 2.7Dan McGee1-4/+4
Signed-off-by: Dan McGee <>
2012-07-25Add arch and repo filter to todolist packagesDan McGee1-0/+4
This matches what we do on signoffs. Also beef up the styling a bit and add the dynamically updated package count info. Signed-off-by: Dan McGee <>
2012-07-24Replace deprecated direct_to_template() with render() shortcutDan McGee1-7/+6
Now that Django actually provides a concise way to use a RequestContext object without instantiating it, we can use that rather than the old function-based generic view that worked well to do the same. Additionally, these function-based generic views will be gone in Django 1.5, so might as well make the move now. Signed-off-by: Dan McGee <>
2012-07-23Add blank description to todo list creation and editingDan McGee1-0/+2
This is a field shown on the general_form.html, and shows up as @@@INVALID@@@ in development environments. Signed-off-by: Dan McGee <>
2012-05-12Use python json module directly in place of simplejsonDan McGee1-3/+3
As of Python 2.6, this is a builtin module that has all the same functions and capabilities of the Django simplejson module. Additionally simplejson is deprecated in the upcoming Django 1.5 release. Signed-off-by: Dan McGee <>
2012-05-02Ensure order_by default value is cleared when using distinct()Dan McGee1-2/+2
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 <>
2012-04-27Incomplete-only todolists optimizationDan McGee1-2/+6
We can push this down to the database if we know in advance we only need the incomplete lists. This helps our call on the developer dashboard quite a bit; the time of the single query in question drops from >1300ms to around 40ms. Signed-off-by: Dan McGee <>
2012-04-07Prevent selection of many useless fields when getting todolistsDan McGee1-1/+5
This is a bit of a hack, but makes the resulting resultset returned from the database a lot smaller and kills off all the columns we don't care about and would never look at. Signed-off-by: Dan McGee <>
2012-03-23Change Django importDan McGee1-1/+1
Until Django 1.3, the functions include(), patterns() and url() plus handler404, handler500 were located in a django.conf.urls.defaults module. In Django 1.4, they live in django.conf.urls. Signed-off-by: Dan McGee <>
2012-01-05Adjust page and content caching lengths and decoratorsDan McGee1-2/+0
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 <>
2012-01-04Add new todolist pkgbase list viewDan McGee2-9/+25
This is for use after rebuilds when moving packages out of the staging and testing repositories. Signed-off-by: Dan McGee <>
2011-11-03Make maintainer lookup on todo lists fastDan McGee1-1/+7
This is rather sick to look at. Sorry, Django gives me no other choice. Signed-off-by: Dan McGee <>
2011-06-23Don't include staging packages in todolistsDan McGee1-2/+2
Signed-off-by: Dan McGee <>
2011-05-04Fix missed list -> todolist variable renamerelease_2011-05-04Dan McGee1-1/+1
Signed-off-by: Dan McGee <>
2011-04-09Show more info about todolists on developer dashboardrelease_2011-04-09Dan McGee3-15/+23
Signed-off-by: Dan McGee <>