Example #1
0
def occupations(request, category_id=None):
    if category_id:
        category = OCCUPATIONS[int(category_id)]
        data = [(occ['id'], occ['name']) for occ in category['occupations']]
    else:
        data = [(cat_id, cat['name']) for cat_id, cat in OCCUPATIONS.iteritems()]
    return HttpResponse(json.dumps(data), mimetype='application/json')
Example #2
0
def preferences_form(zipcode=None, category_id=None, occupation_id=None, weights=None):

    categories = EMPTY_CHOICE + [(k, v["name"]) for k, v in OCCUPATIONS.iteritems() if k != 0]
    categories.sort(lambda x, y: cmp(x[1], y[1]))

    fields = {
        "zipcode": forms.CharField(max_length=5, initial=zipcode),
        "category": forms.ChoiceField(choices=categories, initial=category_id),
        "occupation": forms.ChoiceField(choices=EMPTY_CHOICE),
        "weights": forms.MultipleChoiceField(
            choices=WEIGHT_CHOICES, widget=CheckboxSelectMultiple, required=False, initial=weights
        ),
    }

    if category_id and occupation_id:

        occupations = EMPTY_CHOICE + [(occ["id"], occ["name"]) for occ in OCCUPATIONS[int(category_id)]["occupations"]]
        fields["occupation"] = forms.ChoiceField(choices=occupations, initial=occupation_id)

    return type("PreferencesForm", (forms.BaseForm,), {"base_fields": fields})