~jcsackett/charmworld/bac-tag-constraints

« back to all changes in this revision

Viewing changes to charmworld/views/charms.py

[r=sinzui][bug=1208477][author=abentley] Remove doctype attribute.

Show diffs side-by-side

added added

removed removed

Lines of Context:
16
16
from charmworld.models import (
17
17
    Charm,
18
18
    CharmFileSet,
19
 
    FeaturedSource,
 
19
    CharmSource,
20
20
    getfs,
21
21
    find_charms,
22
22
    QADataSource,
103
103
        return [None, None]
104
104
 
105
105
 
106
 
def _charm_view(request, charm_data):
107
 
    charm = CharmDetail(charm_data)
108
 
    featured_source = FeaturedSource.from_db(request.db)
109
 
    is_featured = featured_source.is_featured(charm_data, 'charm')
 
106
def _charm_view(request, charm):
 
107
    charm = CharmDetail(charm)
110
108
    # Find the same package in other archives.
111
109
    others = find_charms(request.db, {
112
110
        "name": charm.name, "series": charm.series,
128
126
        icon_path = icon_path + '/' + remainder
129
127
    qa_data_source = QADataSource.from_db(request.db)
130
128
    return {
131
 
        'charm': charm,
132
 
        'is_featured': is_featured,
 
129
        "charm": charm,
133
130
        'format_change': format_change,
134
131
        'format_proof': format_proof,
135
132
        'icon_path': icon_path,
136
 
        'name': charm.name,
137
 
        'others': others,
138
 
        'project': request.registry.settings.get('project_name', 'Not Set.'),
 
133
        "name": charm.name,
 
134
        "others": others,
 
135
        "project": request.registry.settings.get('project_name', 'Not Set.'),
139
136
        "qadata": qa_data_source.get_qa_data(charm),
140
 
        'readme_format': readme_format,
141
 
        'readme': readme,
 
137
        "readme_format": readme_format,
 
138
        "readme": readme,
142
139
    }
143
140
 
144
141
 
259
256
        spec["promulgated"] = True
260
257
    else:
261
258
        spec["owner"] = request.matchdict['owner']
262
 
    charm_data = found(request.db.charms.find_one(spec))
263
 
    # We are phasing out is_featured from the charm data, so remove it if this
264
 
    # is an old charm record that still has it.
265
 
    charm_data.pop('is_featured', None)
266
 
    return charm_data
 
259
    return found(request.db.charms.find_one(spec))
267
260
 
268
261
 
269
262
@cached_view_config(
414
407
    charm = find_charm(request, promulgated=True)
415
408
    form = Form(CharmFeaturedness(), buttons=('submit',))
416
409
    form.css_class = 'form-horizontal well'
417
 
    featured_source = FeaturedSource.from_db(request.db)
418
410
 
419
411
    if 'submit' in request.POST:
420
412
        try:
421
413
            data = request.POST.items()
422
414
            valid_data = form.validate(data)
423
 
            if valid_data['is_featured']:
424
 
                featured_source.set_featured(charm, 'charm')
425
 
            else:
426
 
                featured_source.clear_featured(charm, 'charm')
 
415
            charm.update(valid_data)
 
416
            CharmSource.from_request(request).save(charm)
427
417
            series = request.matchdict['series']
428
418
            name = request.matchdict['charm']
429
419
            url = request.route_url('charm', series=series, charm=name)
431
421
        except ValidationFailure as form:
432
422
            valid_data = {}
433
423
    else:
434
 
        valid_data = {
435
 
            'is_featured': featured_source.is_featured(charm, 'charm')}
 
424
        valid_data = charm
436
425
 
437
426
    return {
 
427
        'charm': charm,
438
428
        'form': form.render(valid_data),
439
 
        'values': valid_data,
 
429
        "values": valid_data,
440
430
    }