class ProjCommonSerializer(serializers.ModelSerializer): country = countrySerializer() tags = serializers.SerializerMethodField() industries = serializers.SerializerMethodField() lastProject = ProjSimpleSerializer() PM = UserNameSerializer() createuser = UserNameSerializer() projTraders = serializers.SerializerMethodField() currency = currencyTypeSerializer() projstatus = ProjectStatusSerializer() class Meta: model = project fields = ('id', 'industries', 'projtitleC', 'projtitleE', 'tags', 'currency', 'financeAmount', 'financeAmount_USD', 'country', 'projstatus', 'isHidden', 'PM', 'createuser', 'projTraders', 'lastProject', 'publishDate', 'createdtime', 'projectBD') def get_tags(self, obj): qs = obj.tags.filter(tag_projects__is_deleted=False) if qs.exists(): return tagSerializer(qs, many=True).data return None def get_industries(self, obj): qs = obj.project_industries.filter(is_deleted=False) if qs.exists(): return ProjIndustrySerializer(qs, many=True).data return None def get_projTraders(self, obj): qs = obj.proj_traders.filter(is_deleted=False, user__isnull=False) if qs.exists(): return ProjTradersSerializer(qs, many=True).data return None
class ProjListSerializer_user(serializers.ModelSerializer): tags = serializers.SerializerMethodField() industries = serializers.SerializerMethodField() country = countrySerializer() transactionType = serializers.SerializerMethodField() class Meta: model = project depth = 1 fields = ('id', 'industries', 'projtitleC', 'projtitleE', 'tags', 'currency', 'transactionType', 'financeAmount', 'financeAmount_USD', 'country', 'projstatus', 'ismarketplace') def get_tags(self, obj): qs = obj.tags.filter(tag_projects__is_deleted=False) if qs.exists(): return tagSerializer(qs, many=True).data return None def get_industries(self, obj): qs = obj.project_industries.filter(is_deleted=False) if qs.exists(): return ProjIndustrySerializer(qs, many=True).data return None def get_transactionType(self, obj): qs = obj.transactionType.filter( transactionType_projects__is_deleted=False) if qs.exists(): return transactionTypeSerializer(qs, many=True).data return None
class ProjDetailSerializer_user_withoutsecretinfo(serializers.ModelSerializer): tags = serializers.SerializerMethodField() service = serializers.SerializerMethodField() industries = serializers.SerializerMethodField() transactionType = serializers.SerializerMethodField() finance = serializers.SerializerMethodField() attachment = serializers.SerializerMethodField() country = countrySerializer() linkpdfurl = serializers.SerializerMethodField() class Meta: model = project exclude = ('supportUser', 'takeUser', 'makeUser', 'phoneNumber', 'email', 'contactPerson', 'createuser', 'lastmodifyuser', 'deleteduser', 'deletedtime', 'datasource', 'isSendEmail', 'realname') depth = 1 def get_service(self, obj): qs = obj.service.filter(service_projects__is_deleted=False) if qs.exists(): return serviceSerializer(qs, many=True).data return None def get_tags(self, obj): qs = obj.tags.filter(tag_projects__is_deleted=False) if qs.exists(): return tagSerializer(qs, many=True).data return None def get_industries(self, obj): qs = obj.project_industries.filter(is_deleted=False) if qs.exists(): return ProjIndustrySerializer(qs, many=True).data return None def get_transactionType(self, obj): qs = obj.transactionType.filter( transactionType_projects__is_deleted=False) if qs.exists(): return transactionTypeSerializer(qs, many=True).data return None def get_finance(self, obj): if obj.financeIsPublic: usertrader = obj.proj_finances.filter(is_deleted=False) if usertrader.exists(): return FinanceSerializer(usertrader, many=True).data return None def get_attachment(self, obj): usertrader = obj.proj_attachment.filter(is_deleted=False) if usertrader.exists(): return ProjAttachmentSerializer(usertrader, many=True).data return None def get_linkpdfurl(self, obj): if obj.linkpdfkey and obj.ismarketplace: return getUrlWithBucketAndKey('file', obj.linkpdfkey) return None
class InvestorUserSerializer(serializers.ModelSerializer): tags = serializers.SerializerMethodField() photourl = serializers.SerializerMethodField() mobiletrue = serializers.SerializerMethodField() country = countrySerializer() familiar = serializers.SerializerMethodField() class Meta: model = MyUser fields = ('usernameC', 'usernameE', 'org', 'department', 'mobile', 'mobileAreaCode', 'mobiletrue', 'email', 'wechat', 'title', 'workType', 'id', 'tags', 'userstatus', 'photourl', 'is_active', 'orgarea', 'country', 'onjob', 'last_login', 'familiar', 'entryTime', 'bornTime', 'isMarried') depth = 1 def get_tags(self, obj): qs = obj.tags.filter(tag_usertags__is_deleted=False, is_deleted=False) if qs.exists(): return tagSerializer(qs,many=True).data return None def get_mobiletrue(self, obj): return checkMobileTrue(obj.mobile, obj.mobileAreaCode) def get_photourl(self, obj): if obj.photoKey: return getUrlWithBucketAndKey('image', obj.photoKey) else: return None def get_familiar(self, obj): traderuser_id = self.context.get('traderuser_id') relations = obj.investor_relations.filter(traderuser_id=traderuser_id, is_deleted=False) if relations.exists(): return relations.first().familiar_id return None
class UserInfoSerializer(serializers.ModelSerializer): tags = serializers.SerializerMethodField() photourl = serializers.SerializerMethodField() mobiletrue = serializers.SerializerMethodField() country = countrySerializer() org = OrgCommonSerializer() class Meta: model = MyUser fields = ('usernameC', 'usernameE', 'org', 'department', 'mobile', 'mobileAreaCode', 'mobiletrue', 'email', 'wechat', 'title', 'workType', 'id', 'tags', 'userstatus', 'photourl', 'is_active', 'orgarea', 'country', 'onjob', 'hasIM', 'last_login', 'entryTime', 'bornTime', 'isMarried') depth = 1 def get_tags(self, obj): qs = obj.tags.filter(tag_usertags__is_deleted=False, is_deleted=False) if qs.exists(): return tagSerializer(qs,many=True).data return None def get_mobiletrue(self, obj): return checkMobileTrue(obj.mobile, obj.mobileAreaCode) def get_photourl(self, obj): if obj.photoKey: return getUrlWithBucketAndKey('image', obj.photoKey) else: return None
class UserListSerializer(serializers.ModelSerializer): groups = GroupSerializer(MyUser.groups, many=True) org = OrgCommonSerializer() tags = serializers.SerializerMethodField() trader_relation = serializers.SerializerMethodField() country = countrySerializer() photourl = serializers.SerializerMethodField() class Meta: model = MyUser fields = ('id', 'groups', 'tags', 'country', 'department', 'usernameC', 'usernameE', 'mobile', 'email', 'title', 'userstatus', 'org', 'trader_relation', 'photourl', 'hasIM') depth = 1 def get_tags(self, obj): qs = obj.tags.filter(tag_usertags__is_deleted=False) if qs.exists(): return tagSerializer(qs, many=True).data return None def get_trader_relation(self, obj): usertrader = obj.investor_relations.filter(relationtype=True, is_deleted=False) if usertrader.exists(): return UserRelationSerializer(usertrader.first()).data return None def get_photourl(self, obj): if obj.photoKey: return getUrlWithBucketAndKey('image', obj.photoKey) else: return None
class ScheduleSerializer(serializers.ModelSerializer): user = UserInfoSerializer() createuser = UserCommenSerializer() country = countrySerializer() proj = ProjCommonSerializer() location = orgAreaSerializer() meeting = WebEXMeetingSerializer() class Meta: model = schedule exclude = ('deleteduser', 'datasource', 'is_deleted', 'deletedtime')
class ScheduleSerializer(serializers.ModelSerializer): user = UserInfoSerializer() createuser = UserCommenSerializer() country = countrySerializer() proj = ProjCommonSerializer() location = orgAreaSerializer() class Meta: model = schedule fields = ('id', 'comments', 'scheduledtime', 'user', 'address', 'projtitle', 'proj', 'createuser', 'createdtime', 'country', 'location')
class ProjListSerializer_admin(serializers.ModelSerializer): # finance = serializers.SerializerMethodField() # attachment = serializers.SerializerMethodField() country = countrySerializer() tags = serializers.SerializerMethodField() industries = serializers.SerializerMethodField() transactionType = serializers.SerializerMethodField() class Meta: model = project fields = ('id', 'industries', 'projtitleC', 'projtitleE', 'transactionType', 'tags', 'financeAmount', 'financeAmount_USD', 'country', 'projstatus', 'isHidden', 'ismarketplace') depth = 1 def get_tags(self, obj): qs = obj.tags.filter(tag_projects__is_deleted=False) if qs.exists(): return tagSerializer(qs, many=True).data return None def get_industries(self, obj): qs = obj.project_industries.filter(is_deleted=False) if qs.exists(): return ProjIndustrySerializer(qs, many=True).data return None def get_transactionType(self, obj): qs = obj.transactionType.filter( transactionType_projects__is_deleted=False) if qs.exists(): return transactionTypeSerializer(qs, many=True).data return None def get_finance(self, obj): usertrader = obj.proj_finances.filter(is_deleted=False) if usertrader.exists(): return FinanceSerializer(usertrader, many=True).data return None def get_attachment(self, obj): usertrader = obj.proj_attachment.filter(is_deleted=False) if usertrader.exists(): return ProjAttachmentSerializer(usertrader, many=True).data return None
class UserInfoSerializer(serializers.ModelSerializer): tags = serializers.SerializerMethodField() photourl = serializers.SerializerMethodField() country = countrySerializer() class Meta: model = MyUser fields = ('usernameC', 'usernameE', 'org', 'department', 'mobile', 'email', 'wechat', 'title', 'id', 'tags', 'userstatus', 'photourl', 'orgarea', 'country', 'onjob', 'hasIM') depth = 1 def get_tags(self, obj): qs = obj.tags.filter(tag_usertags__is_deleted=False) if qs.exists(): return tagSerializer(qs, many=True).data return None def get_photourl(self, obj): if obj.photoKey: return getUrlWithBucketAndKey('image', obj.photoKey) else: return None
class ProjCommonSerializer(serializers.ModelSerializer): supportUser = () country = countrySerializer() tags = serializers.SerializerMethodField() industries = serializers.SerializerMethodField() class Meta: model = project fields = ('id', 'industries', 'projtitleC', 'projtitleE', 'tags', 'currency', 'financeAmount', 'financeAmount_USD', 'country', 'projstatus', 'isHidden', 'ismarketplace', 'supportUser') depth = 1 def get_tags(self, obj): qs = obj.tags.filter(tag_projects__is_deleted=False) if qs.exists(): return tagSerializer(qs, many=True).data return None def get_industries(self, obj): qs = obj.project_industries.filter(is_deleted=False) if qs.exists(): return ProjIndustrySerializer(qs, many=True).data return None