class Meta: model = UserAddress fields = overridable( 'OSCARAPI_USERADDRESS_FIELDS', ('id', 'title', 'first_name', 'last_name', 'line1', 'line2', 'line3', 'line4', 'state', 'postcode', 'search_text', 'phone_number', 'notes', 'is_default_for_shipping', 'is_default_for_billing', 'country', 'url'))
class Meta: model = Basket fields = overridable( 'OSCARAPI_BASKET_FIELDS', default=('id', 'owner', 'status', 'lines', 'url', 'total_excl_tax', 'total_excl_tax_excl_discounts', 'total_incl_tax', 'total_incl_tax_excl_discounts', 'total_tax', 'currency', 'voucher_discounts', 'offer_discounts', 'is_tax_known'))
class Meta(BaseProductSerializer.Meta): fields = overridable( 'OSCARAPI_PRODUCTDETAIL_FIELDS', default=('url', 'id', 'title', 'description', 'structure', 'date_created', 'date_updated', 'recommended_products', 'attributes', 'categories', 'product_class', 'stockrecords', 'images', 'price', 'availability', 'options', 'children'))
class Meta: model = Line fields = overridable( 'OSCARAPI_BASKETLINE_FIELDS', default=('url', 'product', 'quantity', 'attributes', 'price_currency', 'price_excl_tax', 'price_incl_tax', 'price_incl_tax_excl_discounts', 'price_excl_tax_excl_discounts', 'is_tax_known', 'warning', 'basket', 'stockrecord', 'date_created'))
def validate(self, attrs): user = authenticate(username=attrs['username'], password=attrs['password']) if user is None: raise serializers.ValidationError('invalid login') elif not user.is_active: raise serializers.ValidationError( 'Can not log in as inactive user') elif user.is_staff and overridable('OSCARAPI_BLOCK_ADMIN_API_ACCESS', True): raise serializers.ValidationError( 'Staff users can not log in via the rest api') # set instance to the user so we can use this in the view self.instance = user return attrs
class Meta(BaseProductSerializer.Meta): fields = overridable( 'OSCARAPI_CHILDPRODUCTDETAIL_FIELDS', default=( 'url', 'id', 'title', 'structure', # 'parent', 'description', 'images', are not included by default, but # easily enabled by overriding OSCARAPI_CHILDPRODUCTDETAIL_FIELDS # in your settings file 'date_created', 'date_updated', 'recommended_products', 'attributes', 'categories', 'product_class', 'stockrecords', 'price', 'availability', 'options'))
class Meta: model = User fields = overridable( 'OSCARAPI_USER_FIELDS', (User.USERNAME_FIELD, 'id', 'first_name', 'last_name', 'email'))
class Meta: model = User fields = overridable( 'OSCARAPI_USER_FIELDS', (User.USERNAME_FIELD, 'id', 'date_joined', 'username', 'password'))
class Meta: model = Email fields = overridable('OSCARAPI_EMAIL_FIELDS', ('id', 'subject', 'date_sent'))
class Meta: model = Voucher fields = overridable('OSCARAPI_VOUCHER_FIELDS', default=('name', 'code', 'start_datetime', 'end_datetime'))
class Meta: model = Product fields = overridable('OSCARAPI_RECOMMENDED_PRODUCT_FIELDS', default=('url', ))
class Meta: model = ProductAttribute fields = overridable('OSCARAPI_PRODUCT_ATTRIBUTE_FIELDS', default=('name', 'productattributevalue_set'))
class Meta: model = ProductAttributeValue fields = overridable('OSCARAPI_PRODUCT_ATTRIBUTE_VALUE_FIELDS', default=('name', 'value'))
class Meta: model = Option fields = overridable('OSCARAPI_OPTION_FIELDS', default=('url', 'id', 'name', 'code', 'type'))
class Meta(BaseProductSerializer.Meta): fields = overridable('OSCARAPI_PRODUCT_FIELDS', default=('url', 'id', 'title'))