def _devices_sample(self):
        self.device1 = utils.get_or_create_device()
        self.device2 = utils.get_or_create_device()
        self.venture_device = utils.get_or_create_venture()
        start = datetime.date(2013, 10, 8)
        end = datetime.date(2013, 10, 20)
        base_usage_types = models.UsageType.objects.filter(type='BU')

        for i, device in enumerate([self.device1, self.device2], start=1):
            for j, ut in enumerate(base_usage_types, start=1):
                for k, day in enumerate(rrule.rrule(
                    rrule.DAILY,
                    dtstart=start,
                    until=end
                )):
                    daily_usage = models.DailyUsage(
                        date=day,
                        pricing_venture=self.venture_device,
                        pricing_device=device,
                        value=10 * i,
                        type=ut,
                    )
                    if ut.by_warehouse:
                        daily_usage.warehouse = (
                            self.warehouses[k % len(self.warehouses)]
                        )
                    daily_usage.save()
Пример #2
0
    def setUp(self):
        self.report_start = datetime.date(2013, 4, 20)
        self.report_end = datetime.date(2013, 4, 30)
        # ventures
        self.venture = utils.get_or_create_venture()
        self.subventure = utils.get_or_create_venture(parent=self.venture)

        # usages
        self.usage_type = models.UsageType(
            name='UT1',
            symbol='ut1',
            type='BU',
            show_in_devices_report=True,
        )
        self.usage_type.save()
        usage_type2 = models.UsageType(
            name='UT2',
            symbol='ut2',
            type='BU',
            show_in_devices_report=False,
        )
        usage_type2.save()

        # usages by warehouse
        self.warehouse_usage_type = models.UsageType(
            name='UT3',
            symbol='ut3',
            by_warehouse=True,
            order=3,
            type='BU',
            use_universal_plugin=False,
            show_in_devices_report=True,
        )
        self.warehouse_usage_type.save()

        # devices
        self.device1 = utils.get_or_create_device()
        self.device2 = utils.get_or_create_device()
        self.device3 = utils.get_or_create_device()  # device without daily
        self.device_virtual = utils.get_or_create_device(is_virtual=True)

        # dailydevices
        days = rrule.rrule(
            rrule.DAILY,
            dtstart=self.report_start,
            until=self.report_end,
        )
        for device in (self.device1, self.device2, self.device_virtual):
            for j, day in enumerate(days, start=1):
                dailydevice = utils.get_or_create_dailydevice(
                    date=day,
                    device=device,
                    venture=self.venture
                )
                dailydevice.save()
Пример #3
0
    def setUp(self):
        self.report_start = datetime.date(2013, 4, 20)
        self.report_end = datetime.date(2013, 4, 30)
        # ventures
        self.venture = utils.get_or_create_venture()
        self.subventure = utils.get_or_create_venture(parent=self.venture)

        # usages
        self.usage_type = models.UsageType(
            name='UT1',
            symbol='ut1',
            type='BU',
            show_in_devices_report=True,
        )
        self.usage_type.save()
        usage_type2 = models.UsageType(
            name='UT2',
            symbol='ut2',
            type='BU',
            show_in_devices_report=False,
        )
        usage_type2.save()

        # usages by warehouse
        self.warehouse_usage_type = models.UsageType(
            name='UT3',
            symbol='ut3',
            by_warehouse=True,
            order=3,
            type='BU',
            use_universal_plugin=False,
            show_in_devices_report=True,
        )
        self.warehouse_usage_type.save()

        # devices
        self.device1 = utils.get_or_create_device()
        self.device2 = utils.get_or_create_device()
        self.device3 = utils.get_or_create_device()  # device without daily
        self.device_virtual = utils.get_or_create_device(is_virtual=True)

        # dailydevices
        days = rrule.rrule(
            rrule.DAILY,
            dtstart=self.report_start,
            until=self.report_end,
        )
        for device in (self.device1, self.device2, self.device_virtual):
            for j, day in enumerate(days, start=1):
                dailydevice = utils.get_or_create_dailydevice(
                    date=day, device=device, venture=self.venture)
                dailydevice.save()
Пример #4
0
 def test_dailyusages(self):
     device = utils.get_or_create_device()
     utils.get_or_create_dailydevice(
         date=datetime.date(2013, 10, 12),
         venture=self.venture1,
         device=device,
         name=device.name,
         price=100,
         deprecation_rate=0.25,
         is_deprecated=False,
     )
     result = Deprecation(
         start=datetime.date(2013, 10, 10),
         end=datetime.date(2013, 10, 13),
         ventures=self.ventures_subset,
         type='dailyusages',
     )
     self.assertEquals(result, {
         datetime.date(2013, 10, 10): {
             self.venture1.id: 5,
             self.venture2.id: 10,
         },
         datetime.date(2013, 10, 11): {
             self.venture1.id: 5,
             self.venture2.id: 10,
         },
         datetime.date(2013, 10, 12): {
             self.venture1.id: 6,  # additional device!
             self.venture2.id: 10,
         },
         datetime.date(2013, 10, 13): {
             self.venture1.id: 5,
             self.venture2.id: 10,
         },
     })
Пример #5
0
    def setUp(self):
        # ventures
        self.venture1 = utils.get_or_create_venture()
        self.venture2 = utils.get_or_create_venture()
        self.venture3 = utils.get_or_create_venture()
        self.ventures_subset = [self.venture1, self.venture2]
        self.ventures = models.Venture.objects.all()
        self.ventures_devices = {}

        # devices
        # add j*5 devices for each venture
        start = datetime.date(2013, 10, 8)
        end = datetime.date(2013, 10, 22)
        for j, venture in enumerate(self.ventures, start=1):
            self.ventures_devices[venture.id] = []
            for k in range(j * 5):
                # add device
                device = utils.get_or_create_device()
                self.ventures_devices[venture.id].append(device.id)
                for day in rrule.rrule(rrule.DAILY, dtstart=start, until=end):
                    utils.get_or_create_dailydevice(
                        date=day,
                        venture=venture,
                        device=device,
                        name=device.name,
                        price=1460*j,
                        deprecation_rate=25,
                        is_deprecated=False,
                    )
Пример #6
0
 def test_costs_per_device_deprecated(self):
     venture = utils.get_or_create_venture()
     device = utils.get_or_create_device()
     utils.get_or_create_dailydevice(
         datetime.date(2013, 10, 10),
         device,
         venture,
         price=1460,
         deprecation_rate=25,
         is_deprecated=True,
     )
     utils.get_or_create_dailydevice(
         datetime.date(2013, 10, 11),
         device,
         venture,
         price=1460,
         deprecation_rate=25,
         is_deprecated=True,
     )
     result = Deprecation(
         start=datetime.date(2013, 10, 10),
         end=datetime.date(2013, 10, 13),
         ventures=[venture],
         type='costs_per_device',
     )
     self.assertEquals(result, {
         device.id: {
             'assets_cost': D('0'),
             'assets_count': 0.5,
             'deprecation_rate': D('25'),
             'is_deprecated': _('Yes')
         }
     })
Пример #7
0
 def test_get_dailyusages(self):
     # test if sum of usages per day if properly calculated
     du = models.DailyUsage(
         date=datetime.date(2013, 10, 11),
         pricing_venture=self.venture2,
         pricing_device=utils.get_or_create_device(),
         value=100,
         type=self.usage_type,
     )
     du.save()
     result = UsagePlugin(
         usage_type=self.usage_type,
         start=datetime.date(2013, 10, 10),
         end=datetime.date(2013, 10, 13),
         ventures=self.ventures_subset,
         type='dailyusages',
     )
     self.assertEquals(result, {
         datetime.date(2013, 10, 10): {
             self.venture1.id: 10,
             self.venture2.id: 20,
         },
         datetime.date(2013, 10, 11): {
             self.venture1.id: 10,
             self.venture2.id: 120,  # additional usage!
         },
         datetime.date(2013, 10, 12): {
             self.venture1.id: 10,
             self.venture2.id: 20,
         },
         datetime.date(2013, 10, 13): {
             self.venture1.id: 10,
             self.venture2.id: 20,
         },
     })
Пример #8
0
    def test_costs_per_device(self):
        device1 = utils.get_or_create_device(
            asset_id=1234,
            barcode='12345',
            sn='1111-1111-1111',
        )
        device2 = utils.get_or_create_device(
            asset_id=1235,
            barcode='12346',
            sn='1111-1111-1112',
        )
        start = datetime.date(2013, 10, 8)
        end = datetime.date(2013, 10, 22)
        for i, device in enumerate([device1, device2]):
            for day in rrule.rrule(rrule.DAILY, dtstart=start, until=end):
                utils.get_or_create_dailydevice(
                    date=day,
                    name='Device{0}'.format(i),
                    price=100 * i,
                    deprecation_rate=0.25,
                    is_deprecated=False,
                    venture=self.venture1,
                    device=device,
                )

        result = Information(
            start=datetime.date(2013, 10, 10),
            end=datetime.date(2013, 10, 25),
            ventures=[self.venture1],
            type='costs_per_device',
        )
        self.assertEquals(result, {
            device1.id: {
                'asset_id': 1234,
                'barcode': '12345',
                'id': device1.id,
                'name': 'Default1234',
                'sn': '1111-1111-1111'
            },
            device2.id: {
                'asset_id': 1235,
                'barcode': '12346',
                'id': device2.id,
                'name': 'Default1235',
                'sn': '1111-1111-1112'
            }
        })
Пример #9
0
 def test_get_asset_count_and_cost_group_by_device(self):
     venture = utils.get_or_create_venture()
     device1 = utils.get_or_create_device()
     device2 = utils.get_or_create_device()
     utils.get_or_create_dailydevice(
         datetime.date(2013, 10, 10),
         device1,
         venture,
         price=1460,
         deprecation_rate=25,
         is_deprecated=False,
     )
     utils.get_or_create_dailydevice(
         datetime.date(2013, 10, 11),
         device2,
         venture,
         price=1460,
         deprecation_rate=25,
         is_deprecated=False,
     )
     utils.get_or_create_dailydevice(
         datetime.date(2013, 10, 12),
         device2,
         self.venture1,
         price=1460,
         deprecation_rate=25,
         is_deprecated=False,
     )
     result = Deprecation.get_assets_count_and_cost(
         start=datetime.date(2013, 10, 10),
         end=datetime.date(2013, 10, 20),
         ventures=[venture],
         group_by='pricing_device',
     )
     self.assertEquals(list(result), [
         {
             'assets_cost': D('1'),
             'assets_count': 1.0,
             'pricing_device': device1.id,
         },
         {
             'assets_cost': D('1'),
             'assets_count': 1.0,
             'pricing_device': device2.id,
         }
     ])
    def setUp(self):
        self.venture1 = utils.get_or_create_venture()
        self.venture2 = utils.get_or_create_venture()
        self.venture3 = utils.get_or_create_venture(parent=self.venture1)

        self.device1 = utils.get_or_create_device(
            device_id=11,
            sn='1111-1111-1111',
            barcode='12345',
        )
        self.device2 = utils.get_or_create_device(
            device_id=12,
            sn='1111-1111-1112',
            barcode='12346',
        )

        self.dailydevice1_1 = utils.get_or_create_dailydevice(
            datetime.date(2013, 10, 10),
            self.device1,
            self.venture1,
            name=self.device1.name,
        )
        self.dailydevice1_2 = utils.get_or_create_dailydevice(
            datetime.date(2013, 10, 11),
            self.device1,
            self.venture2,
            name=self.device1.name,
        )
        self.dailydevice2_1 = utils.get_or_create_dailydevice(
            datetime.date(2013, 10, 10),
            self.device2,
            self.venture2,
            name=self.device2.name,
        )
        self.dailydevice2_1 = utils.get_or_create_dailydevice(
            datetime.date(2013, 10, 11),
            self.device2,
            self.venture1,
            name=self.device2.name,
        )
        self.dailydevice3_1 = utils.get_or_create_dailydevice(
            datetime.date(2013, 10, 12),
            self.device1,
            self.venture3,
            name=self.device1.name,
        )
Пример #11
0
    def setUp(self):
        self.venture1 = utils.get_or_create_venture()
        self.venture2 = utils.get_or_create_venture()
        self.venture3 = utils.get_or_create_venture(parent=self.venture1)

        self.device1 = utils.get_or_create_device(
            device_id=11,
            sn='1111-1111-1111',
            barcode='12345',
        )
        self.device2 = utils.get_or_create_device(
            device_id=12,
            sn='1111-1111-1112',
            barcode='12346',
        )

        self.dailydevice1_1 = utils.get_or_create_dailydevice(
            datetime.date(2013, 10, 10),
            self.device1,
            self.venture1,
            name=self.device1.name,
        )
        self.dailydevice1_2 = utils.get_or_create_dailydevice(
            datetime.date(2013, 10, 11),
            self.device1,
            self.venture2,
            name=self.device1.name,
        )
        self.dailydevice2_1 = utils.get_or_create_dailydevice(
            datetime.date(2013, 10, 10),
            self.device2,
            self.venture2,
            name=self.device2.name,
        )
        self.dailydevice2_1 = utils.get_or_create_dailydevice(
            datetime.date(2013, 10, 11),
            self.device2,
            self.venture1,
            name=self.device2.name,
        )
        self.dailydevice3_1 = utils.get_or_create_dailydevice(
            datetime.date(2013, 10, 12),
            self.device1,
            self.venture3,
            name=self.device1.name,
        )
Пример #12
0
 def setUp(self):
     self.venture = get_or_create_venture()
     self.venture2 = get_or_create_venture()
     self.device = get_or_create_device(device_id=1)
     self.usage_type = UsageType(
         name='Usage1',
         symbol='ut1',
     )
     self.usage_type.save()
     self.today = date.today()
Пример #13
0
 def test_get_dailyusages(self):
     # test if sum of usages per day if properly calculated
     du = models.DailyUsage(
         date=datetime.date(2013, 10, 11),
         pricing_venture=self.venture2,
         pricing_device=utils.get_or_create_device(),
         value=100,
         type=self.usage_type,
     )
     du.save()
     result = UsagePlugin(
         usage_type=self.usage_type,
         start=datetime.date(2013, 10, 10),
         end=datetime.date(2013, 10, 13),
         ventures=self.ventures_subset,
         type='dailyusages',
     )
     self.assertEquals(
         result,
         {
             datetime.date(2013, 10, 10): {
                 self.venture1.id: 10,
                 self.venture2.id: 20,
             },
             datetime.date(2013, 10, 11): {
                 self.venture1.id: 10,
                 self.venture2.id: 120,  # additional usage!
             },
             datetime.date(2013, 10, 12): {
                 self.venture1.id: 10,
                 self.venture2.id: 20,
             },
             datetime.date(2013, 10, 13): {
                 self.venture1.id: 10,
                 self.venture2.id: 20,
             },
         })
Пример #14
0
    def setUp(self):
        # usage types
        self.usage_type = models.UsageType(
            name='UsageType1',
            symbol='ut1',
            by_warehouse=False,
            by_cost=False,
            type='BU',
            divide_by=1,
        )
        self.usage_type.save()
        self.usage_type_cost_wh = models.UsageType(
            name='UsageType2',
            symbol='ut2',
            by_warehouse=True,
            by_cost=True,
            type='BU',
            rounding=2,
        )
        self.usage_type_cost_wh.save()
        self.usage_type_cost_sum = models.UsageType(
            name='UsageType3',
            symbol='ut3',
            by_warehouse=False,
            by_cost=True,
            type='BU',
            by_internet_provider=True,
            rounding=1,
        )
        self.usage_type_cost_sum.save()
        self.usage_type_average = models.UsageType(
            name='UsageType4',
            symbol='ut4',
            by_warehouse=False,
            by_cost=False,
            type='BU',
            average=True,
            divide_by=2,
        )
        self.usage_type_average.save()

        # warehouses
        self.warehouse1 = models.Warehouse(
            name='Warehouse1',
            show_in_report=True,
        )
        self.warehouse1.save()
        self.warehouse2 = models.Warehouse(
            name='Warehouse2',
            show_in_report=True,
        )
        self.warehouse2.save()
        self.warehouses = models.Warehouse.objects.all()

        # internet providers
        self.net_provider1 = models.InternetProvider(
            name='InternetProvider1', )
        self.net_provider1.save()
        self.net_provider2 = models.InternetProvider(
            name='InternetProvider2', )
        self.net_provider2.save()
        self.net_providers = models.InternetProvider.objects.all()

        # ventures
        self.venture1 = models.Venture(venture_id=1, name='V1', is_active=True)
        self.venture1.save()
        self.venture2 = models.Venture(venture_id=2, name='V2', is_active=True)
        self.venture2.save()
        self.venture3 = models.Venture(venture_id=3, name='V3', is_active=True)
        self.venture3.save()
        self.venture4 = models.Venture(venture_id=4, name='V4', is_active=True)
        self.venture4.save()
        self.ventures_subset = [self.venture1, self.venture2]
        self.ventures = models.Venture.objects.all()

        # daily usages of base type
        # ut1:
        #   venture1: 10
        #   venture2: 20
        # ut2:
        #   venture1: 20 (half in warehouse1, half in warehouse2)
        #   venture2: 40 (half in warehouse1, half in warehouse2)
        # ut3:
        #   venture1: 30
        #   venture2: 60
        # ut4:
        #   venture1: 40
        #   venture2: 80
        start = datetime.date(2013, 10, 8)
        end = datetime.date(2013, 10, 22)
        base_usage_types = models.UsageType.objects.filter(type='BU')
        self.ventures_devices = {}
        for k, venture in enumerate(self.ventures, start=1):
            device = utils.get_or_create_device()
            self.ventures_devices[venture] = device
            for i, ut in enumerate(base_usage_types, start=1):
                days = rrule.rrule(rrule.DAILY, dtstart=start, until=end)
                for j, day in enumerate(days, start=1):
                    daily_usage = models.DailyUsage(
                        date=day,
                        pricing_venture=venture,
                        pricing_device=device,
                        value=10 * i * k,
                        type=ut,
                    )
                    if ut.by_warehouse:
                        daily_usage.warehouse = (
                            self.warehouses[j % len(self.warehouses)])
                    daily_usage.save()

        # usage prices
        dates = [
            (datetime.date(2013, 10, 5), datetime.date(2013, 10, 12)),
            (datetime.date(2013, 10, 13), datetime.date(2013, 10, 17)),
            (datetime.date(2013, 10, 18), datetime.date(2013, 10, 25)),
        ]
        # (real cost/price, forecast cost/price)
        ut_prices_costs = [
            (self.usage_type, [(10, 50), (20, 60), (30, 70)]),
            (
                self.usage_type_cost_wh,
                [
                    [(3600, 2400), (5400, 5400), (4800, 12000)],  # warehouse1
                    [(3600, 5400), (3600, 1200), (7200, 3600)],  # warehouse2
                ]),
            (
                self.usage_type_cost_sum,
                [
                    [(1000, 2000), (2000, 3000), (4000, 5000)],  # provider 1
                    [(10000, 20000), (20000, 30000),
                     (40000, 50000)],  # provider 2
                ]),
            (self.usage_type_average, [(10, 20), (20, 30), (30, 40)]),
        ]

        def add_usage_price(usage_type,
                            prices_costs,
                            net_provider=None,
                            warehouse=None):
            for daterange, price_cost in zip(dates, prices_costs):
                start, end = daterange
                usage_price = models.UsagePrice(
                    type=usage_type,
                    start=start,
                    end=end,
                )
                if warehouse is not None:
                    usage_price.warehouse = warehouse
                if net_provider is not None:
                    usage_price.internet_provider = net_provider
                if usage_type.by_cost:
                    usage_price.cost = price_cost[0]
                    usage_price.forecast_cost = price_cost[1]
                else:
                    usage_price.price = price_cost[0]
                    usage_price.forecast_price = price_cost[1]
                usage_price.save()

        for ut, prices in ut_prices_costs:
            if ut.by_warehouse:
                for i, prices_wh in enumerate(prices):
                    warehouse = self.warehouses[i]
                    add_usage_price(ut, prices_wh, warehouse=warehouse)
            elif ut.by_internet_provider:
                for i, prices_ip in enumerate(prices):
                    net_provider = self.net_providers[i]
                    add_usage_price(ut, prices_ip, net_provider=net_provider)
            else:
                add_usage_price(ut, prices)
Пример #15
0
    def setUp(self):
        # usage types
        self.usage_type = models.UsageType(
            name='UsageType1',
            symbol='ut1',
            by_warehouse=False,
            by_cost=False,
            type='BU',
        )
        self.usage_type.save()
        self.usage_type_cost_wh = models.UsageType(
            name='UsageType2',
            symbol='ut2',
            by_warehouse=True,
            by_cost=True,
            type='BU',
        )
        self.usage_type_cost_wh.save()
        self.usage_type_cost_sum = models.UsageType(
            name='UsageType3',
            symbol='ut3',
            by_warehouse=False,
            by_cost=True,
            type='BU',
            by_internet_provider=True,
        )
        self.usage_type_cost_sum.save()
        self.usage_type_average = models.UsageType(
            name='UsageType4',
            symbol='ut4',
            by_warehouse=False,
            by_cost=False,
            type='BU',
            average=True,
        )
        self.usage_type_average.save()

        # warehouses
        self.warehouse1 = models.Warehouse(
            name='Warehouse1',
            show_in_report=True,
        )
        self.warehouse1.save()
        self.warehouse2 = models.Warehouse(
            name='Warehouse2',
            show_in_report=True,
        )
        self.warehouse2.save()
        self.warehouses = models.Warehouse.objects.all()

        # internet providers
        self.net_provider1 = models.InternetProvider(
            name='InternetProvider1',
        )
        self.net_provider1.save()
        self.net_provider2 = models.InternetProvider(
            name='InternetProvider2',
        )
        self.net_provider2.save()
        self.net_providers = models.InternetProvider.objects.all()

        # ventures
        self.venture1 = models.Venture(venture_id=1, name='V1', is_active=True)
        self.venture1.save()
        self.venture2 = models.Venture(venture_id=2, name='V2', is_active=True)
        self.venture2.save()
        self.venture3 = models.Venture(venture_id=3, name='V3', is_active=True)
        self.venture3.save()
        self.venture4 = models.Venture(venture_id=4, name='V4', is_active=True)
        self.venture4.save()
        self.ventures_subset = [self.venture1, self.venture2]
        self.ventures = models.Venture.objects.all()

        # daily usages of base type
        # ut1:
        #   venture1: 10
        #   venture2: 20
        # ut2:
        #   venture1: 20 (half in warehouse1, half in warehouse2)
        #   venture2: 40 (half in warehouse1, half in warehouse2)
        # ut3:
        #   venture1: 30
        #   venture2: 60
        # ut4:
        #   venture1: 40
        #   venture2: 80
        start = datetime.date(2013, 10, 8)
        end = datetime.date(2013, 10, 22)
        base_usage_types = models.UsageType.objects.filter(type='BU')
        self.ventures_devices = {}
        for k, venture in enumerate(self.ventures, start=1):
            device = utils.get_or_create_device()
            self.ventures_devices[venture] = device
            for i, ut in enumerate(base_usage_types, start=1):
                days = rrule.rrule(rrule.DAILY, dtstart=start, until=end)
                for j, day in enumerate(days, start=1):
                    daily_usage = models.DailyUsage(
                        date=day,
                        pricing_venture=venture,
                        pricing_device=device,
                        value=10 * i * k,
                        type=ut,
                    )
                    if ut.by_warehouse:
                        daily_usage.warehouse = (
                            self.warehouses[j % len(self.warehouses)]
                        )
                    daily_usage.save()

        # usage prices
        dates = [
            (datetime.date(2013, 10, 5), datetime.date(2013, 10, 12)),
            (datetime.date(2013, 10, 13), datetime.date(2013, 10, 17)),
            (datetime.date(2013, 10, 18), datetime.date(2013, 10, 25)),
        ]
        # (real cost/price, forecast cost/price)
        ut_prices_costs = [
            (self.usage_type, [(10, 50), (20, 60), (30, 70)]),
            (self.usage_type_cost_wh, [
                [(3600, 2400), (5400, 5400), (4800, 12000)],  # warehouse1
                [(3600, 5400), (3600, 1200), (7200, 3600)],  # warehouse2
            ]),
            (self.usage_type_cost_sum, [
                [(1000, 2000), (2000, 3000), (4000, 5000)],  # provider 1
                [(10000, 20000), (20000, 30000), (40000, 50000)],  # provider 2
            ]),
            (self.usage_type_average, [(10, 20), (20, 30), (30, 40)]),
        ]

        def add_usage_price(
            usage_type,
            prices_costs,
            net_provider=None,
            warehouse=None
        ):
            for daterange, price_cost in zip(dates, prices_costs):
                start, end = daterange
                usage_price = models.UsagePrice(
                    type=usage_type,
                    start=start,
                    end=end,
                )
                if warehouse is not None:
                    usage_price.warehouse = warehouse
                if net_provider is not None:
                    usage_price.internet_provider = net_provider
                if usage_type.by_cost:
                    usage_price.cost = price_cost[0]
                    usage_price.forecast_cost = price_cost[1]
                else:
                    usage_price.price = price_cost[0]
                    usage_price.forecast_price = price_cost[1]
                usage_price.save()

        for ut, prices in ut_prices_costs:
            if ut.by_warehouse:
                for i, prices_wh in enumerate(prices):
                    warehouse = self.warehouses[i]
                    add_usage_price(ut, prices_wh, warehouse=warehouse)
            elif ut.by_internet_provider:
                for i, prices_ip in enumerate(prices):
                    net_provider = self.net_providers[i]
                    add_usage_price(ut, prices_ip, net_provider=net_provider)
            else:
                add_usage_price(ut, prices)
Пример #16
0
 def setUp(self):
     self.device = get_or_create_device()
     self.venture = get_or_create_venture()