Applications should have a status attribute, to allow us to distinguish the following states:
- "Published" apps are listed in the public lists of available apps
- "Draft" apps aren't published and are currently being prepped for publication.
Another possible status would be "Review", that would be shown to package/app reviewers in charge of approving apps for publication.
QA:
1. Access the list of applications and check which apps are displayed.
2. Using the admin interface, find one of those apps, and change it's status to something other than Published (the status display in the Admin is a bit confusing, as it uses the long descriptions - we should change those to simply 'Published' etc.)
3. access the list of applications (waiting until the cache has expired) and verify that the app is no longer present (which, could be a separate bug - we should invalidate the cache when the status of an app is changed to/from published?).
Given that we'll probably need to represent applications that have been approved, but which we want to temporarily hide/disable, I wonder if we should do two fields:
status: draft (or pending), approved, rejected (basically moderation functionality from RNR ;) ).,
published: boolean.
We can still automatically set published when an application is approved, but we can later uncheck published without fudging the review status.