Ejemplo n.º 1
0
    def create(self, data):
        pilgrim = self.get_pilgrim(data)
        size = Cell.SIZE_SMALL if data.get('bag_count') else Cell.SIZE_LARGE
        free_cell = ReceptionHelper().assign_cell(size)
        if not free_cell:
            raise ValidationError(
                {
                    api_settings.NON_FIELD_ERRORS_KEY:
                    [_("All spaces are busy")]
                },
                code='no_space')
        delivery_data = {
            'pilgrim': pilgrim,
            'taker': self.context['request'].user
        }
        delivery = Delivery.objects.create(**delivery_data)
        pack_data = sub_dict(data,
                             ['bag_count', 'suitcase_count', 'pram_count'])
        pack_data['delivery'] = delivery
        pack_data['cell'] = free_cell
        pack = Pack.objects.create(**pack_data)
        rh = ReceptionHelper()
        rh.print(pack)

        return data
Ejemplo n.º 2
0
 def test_report(self):
     rh = ReceptionHelper()
     result = rh.report()
     expected_dict = {
         'in_house': {
             3: 1,
             6: 0,
             24: 0,
             48: 0
         },
         'distribution': {
             'total': 1,
             None: 1
         }
     }
     self.assertDictEqual(expected_dict, result)
Ejemplo n.º 3
0
 def test_export(self):
     path = ReceptionHelper().export_data()
     logger.info(path)
Ejemplo n.º 4
0
 def test_print(self):
     rh = ReceptionHelper()
     t = timezone.now()
     rh.print(self.pack)
     print((timezone.now() - t))
Ejemplo n.º 5
0
 def test_assign_large(self):
     cell = ReceptionHelper().assign_cell(Cell.SIZE_LARGE)
     code = (cell.row.cabinet.code, cell.row.code, cell.code)
     self.assertEqual(code, (2, 2, 2))
Ejemplo n.º 6
0
 def test_assign_small(self):
     cell = ReceptionHelper().assign_cell(Cell.SIZE_SMALL)
     code = (cell.row.cabinet.code, cell.row.code, cell.code)
     self.assertEqual(code, (2, 2, 3))
Ejemplo n.º 7
0
 def export_store(self, *args, **kwargs):
     path = ReceptionHelper().export_data(
         exit_type=Delivery.DELIVERED_TO_STORE)
     return Response({'url': os.path.join(settings.EXPORT_URL, path)})
Ejemplo n.º 8
0
 def export(self, *args, **kwargs):
     path = ReceptionHelper().export_data()
     return Response({'url': os.path.join(settings.EXPORT_URL, path)})
Ejemplo n.º 9
0
 def start(self, request, *args, **kwargs):
     result = ReceptionHelper().admin_report()
     return Response(result, status=status.HTTP_200_OK)
Ejemplo n.º 10
0
 def reprint(self, request, hash_id):
     pack = Pack.objects.get(delivery__taker=request.user,
                             delivery__hash_id=hash_id)
     rh = ReceptionHelper()
     rh.print(pack)
     return Response({}, status.HTTP_200_OK)