Esempio n. 1
0
class LifetimeLicenseSerializer(serializers.ModelSerializer):
    package = PackageSerializer()
    month_group = serializers.IntegerField(required=False)

    class Meta:
        model = models.LifetimeLicense
        fields = '__all__'
class OrderContactSerializer(serializers.ModelSerializer):
    packages = PackageSerializer(many=True)

    class Meta:
        model = Order
        exclude = [
            'contacts',
        ]
Esempio n. 3
0
class ReportOrderSerializer(serializers.ModelSerializer):
    sale_rep = MeSerializer()
    packages = PackageSerializer(many=True)
    campaign = CampaignSerializer()
    contacts = ContactSerializer()
    income = serializers.SerializerMethodField()

    class Meta:
        model = models.Order
        fields = '__all__'

    def get_income(self, instance):
        return 1
Esempio n. 4
0
class OrderSaleRepChartSerializer(serializers.ModelSerializer):
    contacts = ContactSerializer()
    sale_rep = MeSerializer()
    packages = PackageSerializer(many=True)
    campaign = CampaignSerializer()
    step_details = StepDetailWithoutOrderSerializer(many=True)
    history = OrderHistorySerializer(many=True)
    licenses = LicenseSerializer(many=True)
    lifetime_licenses = LifetimeLicenseSerializer(many=True)

    # order_packages = Order

    class Meta:
        model = models.Order
        fields = '__all__'
Esempio n. 5
0
class ReportCampaignSerializer(serializers.ModelSerializer):
    packages = PackageSerializer(many=True)
    manager = MeSerializer()
    product = serializers.SerializerMethodField()

    class Meta:
        model = models.Campaign
        fields = '__all__'

    def get_product(self, instance):
        try:
            return ProductSerializier(
                instance.packages.all()[0].features.all()[0].product).data
        except:
            return None
Esempio n. 6
0
class OrderChartSerializer(serializers.ModelSerializer):
    contacts = ContactSerializer()
    sale_rep = MeSerializer()
    packages = PackageSerializer(many=True)
    campaign = CampaignSerializer()
    step_details = StepDetailWithoutOrderSerializer(many=True)
    history = OrderHistorySerializer(many=True)
    licenses = LicenseSerializer(many=True)
    lifetime_licenses = LifetimeLicenseSerializer(many=True)
    amount = serializers.IntegerField(required=False)
    month_group = serializers.IntegerField()

    # order_packages = Order

    class Meta:
        model = models.Order
        fields = '__all__'
Esempio n. 7
0
class CampaignSerializer(serializers.ModelSerializer):
    follow_up_plan = FollowUpPlanSerializer()
    marketing_plan = MarketingPlanSerializer()
    manager = MeSerializer()
    packages = PackageSerializer(many=True)
    notes = NoteSerializer(many=True)
    product = serializers.SerializerMethodField()
    contacts = serializers.SerializerMethodField()
    no_waiting = serializers.SerializerMethodField()
    no_order = serializers.SerializerMethodField()

    class Meta:
        model = models.Campaign
        fields = '__all__'

    def get_product(self, instance):
        try:
            return ProductSerializier(
                instance.packages.all()[0].features.all()[0].product).data
        except:
            return None

    def get_contacts(self, instance):
        orders = Order.objects.filter(campaign=instance)
        contacts = [model_to_dict(o.contacts) for o in orders.all()]
        contact_distinct = set([c['id'] for c in contacts])

        marketings = models.ContactMarketing.objects.filter(campaign=instance)
        contacts += [
            model_to_dict(m.contact) for m in marketings.all()
            if not m.contact.id in contact_distinct
        ]
        return contacts

    def get_no_waiting(self, instance):
        return len(instance.contact_marketing_plan.all())

    def get_no_order(self, instance):
        return len(instance.orders.all())
Esempio n. 8
0
class OrderSerializer(serializers.ModelSerializer):
    contacts = ContactSerializer()
    sale_rep = MeSerializer()
    packages = PackageSerializer(many=True)
    campaign = CampaignSerializer()
    step_details = StepDetailWithoutOrderSerializer(many=True)
    history = OrderHistorySerializer(many=True)
    all_histories = serializers.SerializerMethodField()
    licenses = LicenseSerializer(many=True)
    lifetime_licenses = LifetimeLicenseSerializer(many=True)

    # order_packages = Order

    class Meta:
        model = models.Order
        fields = '__all__'

    def get_all_histories(self, instance):
        cur_contact = instance.contacts
        histories = models.OrderHistory.objects.filter(
            order__contacts=cur_contact)
        serializer = OrderHistorySerializer(histories, many=True)

        return serializer.data