Exemple #1
0
    def form_valid(self, form):
        user = form.save(commit=False)
        if form.cleaned_data.get("password"):
            user.set_password(form.cleaned_data.get("password"))
        user.save()

        current_site = self.request.get_host()
        protocol = self.request.scheme
        send_email_to_new_user.delay(user.email,
                                     self.request.user.email,
                                     domain=current_site,
                                     protocol=protocol)
        # mail_subject = 'Created account in CRM'
        # message = render_to_string('new_user.html', {
        #     'user': user,
        #     'created_by': self.request.user

        # })
        # email = EmailMessage(mail_subject, message, to=[user.email])
        # email.content_subtype = "html"
        # email.send()

        if self.request.is_ajax():
            data = {
                'success_url': reverse_lazy('common:users_list'),
                'error': False
            }
            return JsonResponse(data)
        return super(CreateUserView, self).form_valid(form)
    def post(self, request, format=None):

        params = request.query_params if len(
            request.data) == 0 else request.data
        if params.get("is_filter"):
            context = {}
            queryset = User.objects.filter(company=self.request.company)
            if params.get("username"):
                queryset = queryset.filter(
                    username__icontains=params.get("username"))
            if params.get("email"):
                queryset = queryset.filter(
                    email__icontains=params.get("email"))
            if params.get("role"):
                queryset = queryset.filter(role=params.get("role"))
            if params.get("status"):
                queryset = queryset.filter(is_active=params.get("status"))
            active_users = queryset.filter(is_active=True)
            inactive_users = queryset.filter(is_active=False)
            context["active_users"] = UserSerializer(active_users,
                                                     many=True).data
            context["inactive_users"] = UserSerializer(inactive_users,
                                                       many=True).data
            return Response(context)
        else:
            user_serializer = CreateUserSerializer(data=params,
                                                   request_user=request.user)
            if user_serializer.is_valid():
                user = user_serializer.save()
                if params.get("password"):
                    user.set_password(params.get("password"))
                user.company = self.request.company
                user.save()
                if params.getlist("teams"):
                    for team in params.getlist("teams"):
                        Teams.objects.filter(id=team).first().users.add(user)

                current_site = request.get_host()
                protocol = request.scheme
                send_email_to_new_user.delay(
                    user.email,
                    self.request.user.email,
                    domain=current_site,
                    protocol=protocol,
                )
                return Response(
                    {
                        "error": False,
                        "message": "User Created Successfully"
                    },
                    status=status.HTTP_201_CREATED,
                )
            return Response(
                {
                    "error": True,
                    "errors": user_serializer.errors
                },
                status=status.HTTP_400_BAD_REQUEST,
            )
Exemple #3
0
    def post(self, request, format=None):
        if self.request.profile.role != "ADMIN" and not self.request.user.is_superuser:
            return Response(
                {
                    "error": True,
                    "errors": "Permission Denied"
                },
                status=status.HTTP_403_FORBIDDEN,
            )
        else:
            params = request.query_params if len(
                request.data) == 0 else request.data
            if params:
                user_serializer = CreateUserSerializer(data=params,
                                                       org=request.org)
                address_serializer = BillingAddressSerializer(data=params)
                profile_serializer = CreateProfileSerializer(data=params)
                data = {}
                if not user_serializer.is_valid():
                    data["user_errors"] = dict(user_serializer.errors)
                if not profile_serializer.is_valid():
                    data['profile_errors'] = profile_serializer.errors
                if not address_serializer.is_valid():
                    data["address_errors"] = (address_serializer.errors, )
                if data:
                    return Response(
                        {
                            "error": True,
                            "errors": data
                        },
                        status=status.HTTP_400_BAD_REQUEST,
                    )
                if user_serializer.is_valid():
                    address_obj = address_serializer.save()
                    user = user_serializer.save(is_active=False, )
                    user.username = user.first_name
                    user.save()
                    if params.get("password"):
                        user.set_password(params.get("password"))
                        user.save()
                    profile = Profile.objects.create(
                        user=user,
                        date_of_joining=timezone.now(),
                        role=params.get('role'),
                        address=address_obj,
                        org=request.org,
                    )

                    send_email_to_new_user.delay(
                        profile.id,
                        request.org.id,
                    )
                    return Response(
                        {
                            "error": False,
                            "message": "User Created Successfully"
                        },
                        status=status.HTTP_201_CREATED,
                    )
Exemple #4
0
    def post(self, request, format=None):
        params = request.query_params if len(
            request.data) == 0 else request.data

        form = RegisterOrganizationSerializer(data=params)
        if form.is_valid():
            org_name = params.get('org_name')
            email = params.get('email')
            first_name = params.get('first_name')
            password = params.get('password')
            user, created = User.objects.get_or_create(email=email)
            user.first_name = first_name
            user.set_password(password)
            user.save()
            org = Org.objects.create(name=org_name)
            user.set_password(password)
            user.save()
            profile = Profile.objects.create(user=user,
                                             org=org,
                                             date_of_joining=timezone.now())
            if created:
                user.is_active = False
                user.save()
                send_email_to_new_user.delay(
                    profile.id,
                    org.id,
                )
                return Response(
                    {
                        "error": False,
                        "message": "User created Successfully."
                    },
                    status=status.HTTP_200_OK,
                )
            return Response(
                {
                    "error": False,
                    "message": "Please login to check the account"
                },
                status=status.HTTP_200_OK,
            )
        return Response({
            'error': True,
            'errors': form.errors
        },
                        status=status.HTTP_400_BAD_REQUEST)
Exemple #5
0
 def post(self, request, format=None):
     params = request.query_params if len(
         request.data) == 0 else request.data
     user_serializer = RegisterUserSerializer(
         data=params,
         request_user=request.user,
     )
     errors = {}
     if not user_serializer.is_valid():
         errors.update(user_serializer.errors)
     if errors:
         return Response(
             {
                 "error": True,
                 "errors": errors
             },
             status=status.HTTP_400_BAD_REQUEST,
         )
     if user_serializer.is_valid():
         user = user_serializer.save(
             role="ADMIN",
             is_superuser=False,
             has_marketing_access=True,
             has_sales_access=True,
             is_admin=True,
         )
         if params.get("password"):
             user.set_password(params.get("password"))
         user.save()
         protocol = request.scheme
         send_email_to_new_user.delay(
             user.email,
             user.email,
             domain=settings.Domain,
             protocol=protocol,
         )
         return Response(
             {
                 "error": False,
                 "message": "User created Successfully."
             },
             status=status.HTTP_200_OK,
         )
Exemple #6
0
    def post(self, request, format=None):
        if self.request.user.role != "ADMIN" and not self.request.user.is_superuser:
            return Response({
                "error": True,
                "Message": "Permission Denied"
            },
                            status=status.HTTP_403_FORBIDDEN)
        else:
            params = request.query_params if len(
                request.data) == 0 else request.data
            if params:
                user_serializer = CreateUserSerializer(
                    data=params, request_user=request.user)
                if user_serializer.is_valid():
                    user = user_serializer.save()
                    if params.get("password"):
                        user.set_password(params.get("password"))
                    user.company = self.request.company
                    user.save()

                    current_site = request.get_host()
                    protocol = request.scheme
                    send_email_to_new_user.delay(
                        user.email,
                        self.request.user.email,
                        domain=current_site,
                        protocol=protocol,
                    )
                    return Response(
                        {
                            "error": False,
                            "message": "User Created Successfully"
                        },
                        status=status.HTTP_201_CREATED,
                    )
                return Response(
                    {
                        "error": True,
                        "errors": user_serializer.errors
                    },
                    status=status.HTTP_400_BAD_REQUEST,
                )
Exemple #7
0
    def form_valid(self, form):
        user = form.save(commit=False)
        if form.cleaned_data.get("password"):
            user.set_password(form.cleaned_data.get("password"))
        user.save()

        if self.request.POST.getlist('teams'):
            for team in self.request.POST.getlist('teams'):
                Teams.objects.filter(id=team).first().users.add(user)

        current_site = self.request.get_host()
        protocol = self.request.scheme
        send_email_to_new_user.delay(user.email, self.request.user.email,
                                     domain=current_site, protocol=protocol)


        if self.request.is_ajax():
            data = {'success_url': reverse_lazy(
                'common:users_list'), 'error': False}
            return JsonResponse(data)
        return super(CreateUserView, self).form_valid(form)