class TableColumnsSerializer(EmbeddedDocumentSerializer): label = CharField() name = CharField() type = CharField() description = CharField(default='', allow_null=True) unit = CharField(allow_null=True, allow_blank=True) order_by = CharField(required=False, allow_blank=True) is_orderable = BooleanField(default=False) is_searchable = BooleanField(default=False) is_editable = BooleanField(default=False) is_global_searchable = BooleanField(default=False) is_required = BooleanField(default=False) is_ref = BooleanField(default=False) module = CharField(default=None, allow_null=True) model = CharField(default=None, allow_null=True) rounded = BooleanField(default=False, required=False) show_in = BEmbeddedListField(serializer=AllowPropertyNamespaceSerializer, required=False, allow_null=True) order_in = BEmbeddedListField(serializer=ValuePropertyNamespaceSerializer, required=False, allow_null=True) icon_name = CharField(required=False, allow_blank=True, allow_null=True) is_extended = BooleanField(default=False) colspan = IntegerField(default=1) style_classes = BEmbeddedListField(serializer=TableClassesSerializer, required=False, allow_null=True) class Meta: model = TableColumns fields = "__all__"
class TableSerializer(EmbeddedDocumentSerializer): columns = BEmbeddedListField(serializer=TableColumnsSerializer, sorted_by=True) classes = BEmbeddedListField(serializer=TableClassesSerializer) filtered_by_owner = BooleanField(default=False) view = TableViewSerializer(many=False, read_only=False, allow_null=True, required=True) pagination = BEmbeddedListField(serializer=PaginationNamespaceSerializer, required=False) class Meta: model = Table fields = ('columns', 'classes', 'filtered_by_owner', 'pagination', 'view')
class CareRequestSerializer(BillingDocumentSerializer): details = BEmbeddedListField(serializer=CareRequestLineSerializer, allow_null=True, required=False) answers = BEmbeddedListField(serializer=CareRequestAnswerSerializer, allow_null=True, required=False) class Meta: model = CareRequest fields = BillingDocumentSerializer.Meta.fields + ['details', 'answers']
class ConventionSerializer(DocumentSerializer): label = CharField(required=False) tariff = TariffSerializer(Tariff) exceptions = BEmbeddedListField(serializer=ConventionExceptionSerializer, required=False, allow_null=True) class Meta: model = Convention fields = ("id", "label", "tariff", "exceptions")
class BillingDocumentSerializer(DocumentSerializer): beneficiary = BDynamicField(required=True) comment = CharField(required=False, allow_null=True) doc_date = BDateField() attached_files = BEmbeddedListField(serializer=AttachedFileSerializer, allow_null=True, required=False) states = DocumentStateSerializer(required=False, allow_null=True) class Meta: model = BillingDocument fields = ['id', 'number', 'beneficiary', 'comment', 'doc_date', 'attached_files', 'states']
class FeesNoteSerializer(InvoicingDocumentSerializer): lines = BEmbeddedListField(serializer=DetailLineSerializer, allow_null=True, required=False) payment_deadline = BDateField(allow_null=True, required=False) class Meta: model = FeesNote fields = InvoicingDocumentSerializer.Meta.fields + [ 'lines', 'payment_deadline' ]
class InvoiceLineSerializer(EmbeddedDocumentSerializer): details = BEmbeddedListField(serializer=DetailLineSerializer, allow_null=True, required=False) description = CharField() is_comment = BooleanField(default=False) line_doc = BDynamicField(allow_null=True, required=False) class Meta: model = InvoiceLine fields = ['details', 'description', 'is_comment', 'line_doc']
class TableViewSerializer(EmbeddedDocumentSerializer): shared_group = BEmbeddedListField(serializer=SharedGroupSerializer) name = CharField(required=True) model = CharField(required=True) is_default = BooleanField(default=False) access = ChoiceField(choices=['private', 'public', 'restrict'], required=False) query = ListField(child=ViewQuerySerializer(many=False, read_only=False, allow_null=True, required=False)) class Meta: model = TableView fields = '__all__'
class InvoiceSerializer(InvoicingDocumentSerializer): beneficiary_type = CharField(allow_blank=True) tariff = TariffSerializer(required=False, allow_null=True) lines = BEmbeddedListField(serializer=InvoiceLineSerializer, allow_null=True, required=False) class Meta: model = Invoice fields = InvoicingDocumentSerializer.Meta.fields + [ 'beneficiary_type', 'tariff', 'lines' ]
class OrganizationSerializer(DocumentSerializer): name = CharField(required=False, read_only=False, allow_null=True) contact_full_name = CharField(required=False, read_only=False, allow_null=True) default_refund_amount = FloatField(required=False, allow_null=True) conventions = BEmbeddedListField( serializer=OrganizationConventionSerializer, required=False, allow_null=True) address = CharField(required=False, read_only=False, allow_null=True) email = EmailField(required=False, allow_null=True) phone_numbers = ListField(child=CharField(), required=False, default=[]) class Meta: model = Organization fields = [ "id", "name", "contact_full_name", "default_refund_amount", "conventions", "address", "email", "phone_numbers" ]
class PaymentSerializer(BillingDocumentSerializer): beneficiary_type = CharField(allow_blank=True, allow_null=True) deadline = BDateField(allow_null=True, required=False) payer = BDynamicField(allow_null=True, required=False) payer_type = CharField(allow_blank=True, allow_null=True) received_amount = FloatField(default=0) payment_mode = PaymentModeSerializer(allow_null=True, required=False) lines = BEmbeddedListField(serializer=PaymentLineSerializer, allow_null=True, required=False) consumed_amount = FloatField(read_only=True) remaining_amount = FloatField(read_only=True) payer_name = CharField(read_only=True) beneficiary_name = CharField(read_only=True) class Meta: model = Payment fields = BillingDocumentSerializer.Meta.fields + [ 'beneficiary_type', 'deadline', 'payer', 'payer_type', 'received_amount', 'payment_mode', 'consumed_amount', 'remaining_amount', 'payer_name', 'beneficiary_name', 'lines' ]