""" catalog forms """ from django.forms import ModelForm, fields, Textarea, TextInput, SelectMultiple from catalog.models import Book, Map, Movie, Person, Subscription, ZipCode class BookForm(ModelForm): long_description = fields.TextInput(attrs={"class": "test"}) def __init__(self, *args, **kwargs): super(BookForm, self).__init__(*args, **kwargs) self.fields["authors"].queryset = Person.objects.active() class Meta: # need to do it this way to get the order of the fields we want. fields = ( "title", "subtitle", "long_description", "synopsis", "image", "price", "shipping_cost", "shipping_cost_multiple", "sku", "featured", "tax_free", "authors", "editors", "illustrator", "publisher", "printer", "publish_date", "edition", "features", "dimensions", "pages", "isbn", "library_of_congress_number", "genre", ) model = Book widgets = { "title": TextInput(attrs={"class": "input-xxlarge span7"}), "long_description": Textarea(attrs={"class": "input-xxlarge span7"}), "synopsis": Textarea(attrs={"class": "input-xxlarge span7", "rows": 3}), "subtitle": TextInput(attrs={"class": "input-xxlarge span7"}), "editors": TextInput(attrs={"class": "input-xxlarge span7"}), "features": TextInput(attrs={"class": "input-xxlarge span7"}), "authors": SelectMultiple(attrs={"class": "input-xlarge span5"}), } class MapForm(ModelForm): class Meta: exclude = ( "created", "created_by", "last_updated", "last_updated_by", "subclass_type", "deleted", ) model = Map widgets = { "title": TextInput(attrs={"class": "input-xxlarge span7"}), "long_description": Textarea(attrs={"class": "input-xxlarge span7"}), "synopsis": Textarea(attrs={"class": "input-xxlarge span7", "rows": 3}), } class MovieForm(ModelForm): class Meta: exclude = ( "created", "created_by", "last_updated", "last_updated_by", "subclass_type", "deleted", ) model = Movie widgets = { "title": TextInput(attrs={"class": "input-xxlarge span7"}), "long_description": Textarea(attrs={"class": "input-xxlarge span7"}), "synopsis": Textarea(attrs={"class": "input-xxlarge span7", "rows": 3}), "music": Textarea(attrs={"class": "input-xxlarge span7", "rows": 2}), } class SubscriptionForm(ModelForm): class Meta: exclude = ( "created", "created_by", "last_updated", "last_updated_by", "subclass_type", "deleted", ) model = Subscription widgets = { "title": TextInput(attrs={"class": "input-xxlarge span7"}), "long_description": Textarea(attrs={"class": "input-xxlarge span7"}), "synopsis": Textarea(attrs={"class": "input-xxlarge span7", "rows": 3}), } class PostalCodeForm(ModelForm): class Meta: exclude = ( "created", "created_by", "last_updated", "last_updated_by", "subclass_type", "deleted", ) model = ZipCode class PersonForm(ModelForm): class Meta: exclude = ( "created", "created_by", "last_updated", "last_updated_by", "subclass_type", "deleted", "slug", ) model = Person widgets = { "name": TextInput(attrs={"class": "input-xxlarge span7"}), "description": Textarea(attrs={"class": "input-xxlarge span7"}), "title": TextInput(attrs={"class": "input-xxlarge span7"}), }