from mongoengine import * from models.Account import Account from models.File import File from models.Union import Union from models.User import User from restapi import Methods class Payments(Document): meta = { 'index_background': True, 'index_cls': False, 'auto_create_index': True, 'can_query': True, 'with_sub_docs': True, 'methods': [Methods.Get, Methods.List, Methods.Create], "indexes": [ ("union","deleted"), ("union","deleted","account"), ('user',"union"), ('user',"union","deleted"), ('union', "user","income","deleted"), ('union', "user","deleted") ], } """ all payments income and outcome together! """ union = ReferenceField(Union) user = ReferenceField(User, required=True) income = BooleanField(default=False) date = DateTimeField() regular = BooleanField(default=False) regular_type = StringField(choices=('Weekly', 'Monthly', 'Yearly')) price = DecimalField(required=True) deleted = BooleanField(default=False) description = StringField() reference_no = StringField() file = ReferenceField(File) account = ReferenceField(Account, required=True) due_date = DateTimeField() is_paid = BooleanField(default=False, required=True) is_donate = BooleanField(default=False)