diff --git a/companies/models.py b/companies/models.py index 122fc89..3d0efdd 100644 --- a/companies/models.py +++ b/companies/models.py @@ -1,12 +1,15 @@ # from django.db import models from django.contrib.gis.db import models - +from django.contrib.postgres.fields import JSONField +from django.contrib.auth import get_user_model from tagulous.models import TagField -# from core.models import TreeTag - +from history.models import HistorySync # Create your models here. +# User = get_user_model() + + class Company(models.Model): WOO_COMMERCE = 'WOO_COMMERCE' @@ -42,14 +45,13 @@ class Company(models.Model): sync = models.BooleanField('Sincronizar tienda', default=False, null=True, blank=True) is_validated = models.BooleanField('Validado', default=False, null=True, blank=True) is_active = models.BooleanField('Activado', default=False, null=True, blank=True) + credentials = JSONField(null=True) # internal created = models.DateTimeField('date of creation', auto_now_add=True) updated = models.DateTimeField('date last update', auto_now=True) creator = models.ForeignKey('core.CustomUser', on_delete=models.DO_NOTHING, null=True, related_name='creator') - - # def __str__(self): - # return self.company_name + # history = models.ForeignKey(HistorySync, null=True, on_delete=models.DO_NOTHING, related_name='company') class Meta: verbose_name = "Compañía" diff --git a/companies/views.py b/companies/views.py index a2114ae..4196a7e 100644 --- a/companies/views.py +++ b/companies/views.py @@ -35,8 +35,7 @@ class CompanyViewSet(viewsets.ModelViewSet): Send email to company.creator """ try: - queryset = self.get_custom_queryset(request) - instance = queryset.filter(pk=kwargs['pk']).first() + instance = self.queryset.filter(pk=kwargs['pk']).first() if instance: # IP stuff client_ip, is_routable = get_client_ip(request) @@ -121,6 +120,20 @@ class CompanyViewSet(viewsets.ModelViewSet): except Exception as e: return Response({"errors":{"details": str(e),}}, status=500) + @action(detail=True, methods=['POST', ]) + def import_products(self, request, **kwargs): + instance = self.queryset.filter(pk=kwargs['pk']).first() + # check if it's a shop + if instance.shop is not True: + return Response('This company is not s shop') + # check what platform + platform = instance.platform + # check required credentials + + # execute import + + return Response() + @api_view(['GET',]) @permission_classes([IsAuthenticated,])