~bcsaller/charmworld/peer-support

« back to all changes in this revision

Viewing changes to charmworld/views/bundles.py

  • Committer: Tarmac
  • Author(s): Benji York
  • Date: 2013-09-04 18:08:14 UTC
  • mfrom: (371.1.8 bundle-feature-ui)
  • Revision ID: tarmac-20130904180814-nno6ui20ehhp54lw
[r=bac][bug=][author=benji] Add a user interface for setting the featured flag for bundles.

Show diffs side-by-side

added added

removed removed

Lines of Context:
4
4
from charmworld import cached_view_config
5
5
from charmworld.models import Bundle
6
6
from charmworld.views.api import json_response
7
 
from charmworld.views.helpers import found
 
7
from charmworld.views.helpers import (
 
8
    find_bundle,
 
9
    found,
 
10
)
8
11
 
9
12
 
10
13
class BundleDetail(Bundle):
63
66
                raise
64
67
 
65
68
 
66
 
def find_bundle(request, promulgated=False):
67
 
    """Find the bundle.
68
 
 
69
 
    May return None, which must be handled by the caller.
70
 
    """
71
 
    spec = dict(
72
 
        name=request.matchdict['bundle'],
73
 
    )
74
 
    basket = request.matchdict.get('basket')
75
 
    rev = request.matchdict.get('rev')
76
 
    if basket is not None:
77
 
        spec['basket_name'] = basket
78
 
    if rev is not None:
79
 
        spec['basket_revision'] = int(rev)
80
 
    if promulgated:
81
 
        spec["promulgated"] = True
82
 
    else:
83
 
        spec["owner"] = request.matchdict['owner']
84
 
    return Bundle.from_query(spec, request.db)
85
 
 
86
 
 
87
69
def _bundle_view(request, bundle):
88
70
    bundle = BundleDetail(dict(bundle))
89
71
    try: