Esempio n. 1
0
 def post(self, request, format=None):
     toDelete = request.POST.get('toDelete', 'N')
     fromDelete = request.POST.get('fromDelete', 'N')
     message_id = request.POST.get('messageId', None)
     if message_id.isnumeric():
         try:
             message = Messages.objects.get(id=message_id)
             message.todelete = toDelete
             message.fromdelete = fromDelete
             message.save()
             return json_response(
                 {
                     'status': 'success',
                     'result': {
                         'id': message.id,
                         'message': message.message
                     }
                 },
                 status=200)
         except Messages.DoesNotExist:
             return json_response(
                 {
                     'status': 'error',
                     'msg': 'Invalid Message Id'
                 },
                 status=200)
     else:
         return json_response(
             {
                 'status': 'error',
                 'msg': 'Invalid Message Id'
             }, status=200)
Esempio n. 2
0
    def get(self, request, format=None):

        page = int(request.GET.get('page', 1))
        recordsPerPage = int(request.GET.get('recordsPerPage', 10))
        searchText = request.GET.get('searchText', None)
        profile_url = profileimg = settings.BASE_URL + settings.STATIC_URL + settings.MEDIA_URL
        field = []
        if searchText:
            userlist = Profiles.objects.filter(
                Q(firstname=searchText)
                | Q(lastname=searchText)).all().order_by(
                    'firstname').select_related('userid')
        else:
            userlist = Profiles.objects.all().order_by(
                'firstname').select_related('userid')

        if userlist:
            count = userlist.count()
            paginator = Paginator(userlist,
                                  recordsPerPage)  # Show 25 contacts per page
            try:
                userObj = paginator.page(page)
            except PageNotAnInteger:
                # If page is not an integer, deliver first page.
                userObj = paginator.page(1)
            except EmptyPage:
                # If page is out of range (e.g. 9999), deliver last page of results.
                userObj = paginator.page(paginator.num_pages)

            for profileObj in userObj:
                joinedOn = ''
                if profileObj.userid.createdate is not None:
                    joinedOn = profileObj.userid.createdate.strftime(
                        '%m/%d/%Y')

                field.append({
                    'userStatus': profileObj.userid.is_active,
                    'firstname': profileObj.firstname,
                    'lastname': profileObj.lastname,
                    'type': profileObj.userid.logintype,
                    'updatedate': joinedOn,
                    'profilephoto': profileObj.profilephoto,
                    'userid': profileObj.userid.id
                })

            #data = serializers.serialize('json', userObj, fields=('firstname','lastname','type','updatedate','profilephoto','userid'))
            return json_response(
                {
                    'status': 'success',
                    'data': json.dumps(field),
                    'profile_url': profile_url,
                    'total': count
                },
                status=200)
        else:
            return json_response({
                'status': 'error',
                'msg': 'No record found'
            },
                                 status=400)
Esempio n. 3
0
    def get(self, request, message_id, format=None):
        if message_id.isnumeric():
            try:
                message = Messages.objects.get(id=message_id)
                thumburl = settings.BASE_URL + settings.STATIC_URL + settings.MEDIA_URL + 'thumbs/'
                if message.toprofile.profilephoto:
                    to_small_thumb = thumburl + 'small_' + message.toprofile.profilephoto
                    to_medium_thumb = thumburl + 'medium_' + message.toprofile.profilephoto
                else:
                    to_small_thumb = ''
                    to_medium_thumb = ''

                if message.fromprofile.profilephoto:
                    from_small_thumb = thumburl + 'small_' + message.fromprofile.profilephoto
                    from_medium_thumb = thumburl + 'medium_' + message.fromprofile.profilephoto
                else:
                    from_small_thumb = ''
                    from_medium_thumb = ''

                if message.createdate:
                    createdate = getDate(message.createdate)
                else:
                    createdate = getDate(datetime.utcnow())
                return json_response(
                    {
                        'status': 'success',
                        'result': {
                            'id': message.id,
                            'toid': message.toprofile.id,
                            'to_firstname': message.toprofile.firstname,
                            'to_lastname': message.toprofile.lastname,
                            'to_companyname': message.toprofile.companyname,
                            'to_small_thumb': to_small_thumb,
                            'to_medium_thumb': to_medium_thumb,
                            'fromid': message.fromprofile.id,
                            'firstname': message.fromprofile.firstname,
                            'lastname': message.fromprofile.lastname,
                            'from_companyname':
                            message.fromprofile.companyname,
                            'from_small_thumb': from_small_thumb,
                            'from_medium_thumb': from_medium_thumb,
                            'message': message.message,
                            'createdate': createdate,
                            'message': message.message
                        }
                    },
                    status=200)
            except Messages.DoesNotExist:
                return json_response(
                    {
                        'status': 'error',
                        'msg': 'Invalid Message Id'
                    },
                    status=200)
        else:
            return json_response(
                {
                    'status': 'error',
                    'msg': 'Invalid Message Id'
                }, status=200)
Esempio n. 4
0
 def post(self, request, format=None):
     userid = request.POST.get('userId', None)
     referralcode = request.POST.get('referralCode', None)
     if userid:
         if len(referralcode) > 6 or len(referralcode) < 6:
             return json_response(
                 {
                     'status': 'error',
                     'msg': 'Referral code must be 6 character.'
                 },
                 status=200)
         else:
             try:
                 userprofile = Profiles.objects.get(userid=userid)
                 userprofile.referalcode = referralcode
                 userprofile.save()
                 return json_response(
                     {
                         'status': 'success',
                         'msg': 'Referral Code Updated successfully'
                     },
                     status=200)
             except Profiles.DoesNotExist:
                 return json_response(
                     {
                         'status': 'error',
                         'msg': 'Invalid User id'
                     },
                     status=200)
     else:
         return json_response({
             'status': 'error',
             'msg': 'Invalid User id'
         },
                              status=400)
Esempio n. 5
0
 def post(self, request, post_id, statusval, format=None):
     if post_id.isnumeric():
         post = Post.objects.get(id=post_id)
         post.poststatus = statusval
         post.save()
         return json_response({'msg': 'changes', 'status': statusval})
     else:
         return json_response({'failed'})
Esempio n. 6
0
 def post(self, request, user_id, statusval, format=None):
     if user_id.isnumeric():
         user = Users.objects.get(id=user_id)
         user.is_active = statusval
         user.save()
         return json_response({'msg': 'changes', 'status': statusval})
     else:
         return json_response({'failed'})
Esempio n. 7
0
 def post(self, request, profile_id, statusval, format=None):
     if profile_id.isnumeric():
         profile = Profiles.objects.get(id=profile_id)
         profile.iscelebrity = statusval
         profile.save()
         return json_response({'msg': 'changes', 'status': statusval})
     else:
         return json_response({'failed'})
Esempio n. 8
0
    def post(self, request, format=None):
        email = request.POST.get('email', None)
        templatePath = os.path.join(settings.BASE_DIR, 'templates/admin/email')

        if email is not None:
            try:
                user = Users.objects.get(email=request.POST['email'])
            except Users.DoesNotExist:
                user = None

            if user is not None:
                newpassword = ssoTokenGenerator(8)
                if user.id:
                    user.password = newpassword
                    user.save()
                    subject = "Forget Password"
                    #message="Forget Password Notification mail"
                    #message+="<br> New password: " + newpassword
                    message = render_to_string(
                        templatePath + '/forget_password.html', {
                            'userid': user.id,
                            'email': user.email,
                            'newpassword': newpassword
                        })
                    sendStatus = sendmail(subject, message,
                                          request.POST['email'])
                    return json_response({
                        'status':
                        'success',
                        'data': {
                            'newpassword': user.password,
                            'email': user.email,
                            'id': user.id,
                            'sendStatus': sendStatus,
                        },
                        'msg':
                        'An email has been sent on your email address with new password.'
                    })
                else:
                    return json_response(
                        {
                            'status': 'error',
                            'msg': 'Invalid User'
                        },
                        status=status.HTTP_400_BAD_REQUEST)
            else:
                return json_response(
                    {
                        'status': 'error',
                        'msg': 'Invalid Email'
                    },
                    status=status.HTTP_400_BAD_REQUEST)
        else:
            return json_response({
                'status': 'error',
                'msg': 'Invalid Data'
            },
                                 status=400)
Esempio n. 9
0
    def get(self, request, user_id, format=None):
        if user_id.isnumeric():
            followType = request.GET.get('followType', 'by')
            try:
                profile = Profiles.objects.get(userid=user_id)
                if followType == 'to':
                    followers = Followings.objects.filter(
                        followingprofileid=profile)  # get followers list
                else:
                    followers = Followings.objects.filter(
                        profileid=profile)  # get following list
                field = []
                if followers:
                    for fobj in followers:
                        if followType == 'to':
                            userId = fobj.profileid.userid.id
                            profileId = fobj.profileid.id
                            firstName = fobj.profileid.firstname
                            lastName = fobj.profileid.lastname
                            companyname = fobj.profileid.companyname
                        else:
                            userId = fobj.followingprofileid.userid.id
                            profileId = fobj.followingprofileid.id
                            firstName = fobj.followingprofileid.firstname
                            lastName = fobj.followingprofileid.lastname
                            companyname = fobj.followingprofileid.companyname

                        field.append({
                            'id': fobj.id,
                            'userid': userId,
                            'profileid': profileId,
                            'firstname': firstName,
                            'lastname': lastName,
                            'companyname': companyname,
                        })
                return json_response(
                    {
                        'status': 'success',
                        'result': json.dumps(field),
                        'total': len(followers),
                        'followType': followType
                    },
                    status=200)
            except Users.DoesNotExist:
                return json_response({
                    'status': 'error',
                    'msg': 'Invalid User'
                },
                                     status=200)
        else:
            return json_response({
                'status': 'error',
                'msg': 'Invalid User Id'
            },
                                 status=200)
Esempio n. 10
0
    def post(self, request, format=None):
        email = request.POST.get('email', None)
        oldpassword = request.POST.get('oldpassword', None)
        newpassword = request.POST.get('newpassword', None)
        templatePath = os.path.join(settings.BASE_DIR, 'templates/admin/email')

        if email is not None and oldpassword is not None:
            try:
                user = Users.objects.get(email=request.POST['email'],
                                         password=request.POST['oldpassword'])
            except Users.DoesNotExist:
                user = None

            if user is not None:
                if user.id:
                    user.password = newpassword
                    user.save()
                    subject = "Password Changed"
                    #message="Password Changed Notification mail"
                    message = render_to_string(
                        templatePath + '/change_password.html', {
                            'userid': user.id,
                            'email': user.email
                        })
                    sendStatus = sendmail(subject, message,
                                          request.POST['email'])
                    return json_response({
                        'status': 'success',
                        'msg': 'User password changed successfully.',
                        'sendStatus': sendStatus,
                    })
                else:
                    return json_response(
                        {
                            'status': 'error',
                            'msg': 'Invalid User'
                        },
                        status=status.HTTP_400_BAD_REQUEST)
            else:
                return json_response(
                    {
                        'status': 'error',
                        'msg': 'Old password is incorrect'
                    },
                    status=status.HTTP_400_BAD_REQUEST)
        else:
            return json_response({
                'status': 'error',
                'msg': 'Invalid Data'
            },
                                 status=400)
Esempio n. 11
0
 def post(self, request, format=None):
     userId = request.POST.get('userId', None)
     message = request.POST.get('message', None)
     templatePath = os.path.join(settings.BASE_DIR, 'templates/admin/email')
     baseUrl = settings.BASE_URL + settings.STATIC_URL
     subject = 'Message from benefit'
     if userId.isnumeric():
         try:
             profile = Profiles.objects.get(userid=userId)
             contactMessage = render_to_string(
                 templatePath + '/contact.html', {
                     'profileid': profile.id,
                     'userid': profile.userid.id,
                     'firstname': profile.firstname,
                     'lastname': profile.lastname,
                     'baseUrl': baseUrl,
                     'message': message
                 })
             toEmailId = settings.EMAIL_HOST_USER
             fromId = profile.userid.email
             sendStatus = sendmail(subject, contactMessage, toEmailId,
                                   fromId)
             if sendStatus == 'success':
                 return json_response(
                     {
                         'status': 'success',
                         'msg': 'Send successfully',
                         'sendStatus': sendStatus
                     },
                     status=200)
             else:
                 return json_response(
                     {
                         'status': 'success',
                         'msg': 'Mail send failed',
                         'sendmail': sendStatus
                     },
                     status=200)
         except Profiles.DoesNotExist:
             return json_response(
                 {
                     'status': 'error',
                     'msg': 'Invalid User id'
                 }, status=200)
     else:
         return json_response({
             'status': 'error',
             'msg': 'Invalid User id'
         },
                              status=400)
Esempio n. 12
0
 def post(self, request, format=None):
     profileId = request.POST.get('profileId', None)
     if profileId.isnumeric():
         try:
             profile = Profiles.objects.get(userid=profileId)
             subject = "User Report"
             admin_email_id = settings.EMAIL_HOST_USER
             fromId = profile.userid.email
             templatePath = os.path.join(settings.BASE_DIR,
                                         'templates/admin/email')
             message = render_to_string(
                 templatePath + '/userreport.html', {
                     'profile_id': profile.id,
                     'user_id': profile.userid.id,
                     'firstname': profile.firstname,
                     'lastname': profile.firstname,
                     'email': profile.userid.email
                 })
             sendStatus = sendmail(subject, message, admin_email_id, fromId)
             if sendStatus == 'success':
                 return json_response(
                     {
                         'status': 'success',
                         'msg': 'Mail sent successfully',
                         'sendmail': sendStatus
                     },
                     status=200)
             else:
                 return json_response(
                     {
                         'status': 'success',
                         'msg': 'Mail sent failed',
                         'sendmail': sendStatus
                     },
                     status=200)
         except Profiles.DoesNotExist:
             return json_response(
                 {
                     'status': 'success',
                     'msg': 'Invalid User'
                 }, status=200)
     else:
         return json_response({
             'status': 'error',
             'msg': 'Invalid User Id'
         },
                              status=200)
Esempio n. 13
0
 def post(self, request, format=None):
     blockBy = request.POST.get('blockBy', None)
     blockTo = request.POST.get('blockTo', None)
     if blockBy.isnumeric() and blockTo.isnumeric():
         try:
             blockto = Profiles.objects.get(userid=blockTo)
             blockby = Profiles.objects.get(userid=blockBy)
             try:
                 block = Userblock.objects.get(
                     profileid=blockby, blockedprofileid=blockto).delete()
                 return json_response(
                     {
                         'status': 'success',
                         'result': 'Now you are unblock this person.',
                         'blockby': blockby.id,
                         'blockto': blockto.id,
                         'isBlock': False
                     },
                     status=200)
             except Userblock.DoesNotExist:
                 block = Userblock.objects.create(
                     profileid=blockby,
                     blockedprofileid=blockto,
                     createdate=settings.CURRENTDATE)
                 return json_response(
                     {
                         'status': 'success',
                         'result': 'Successfully blocked.',
                         'blockby': blockby.id,
                         'blockto': blockto.id,
                         'isBlock': True
                     },
                     status=200)
         except Profiles.DoesNotExist:
             return json_response(
                 {
                     'status': 'success',
                     'msg': 'Invalid User'
                 }, status=200)
     else:
         return json_response({
             'status': 'error',
             'msg': 'Invalid User Id'
         },
                              status=200)
Esempio n. 14
0
 def get(self, request, user_id, format=None):
     if user_id.isnumeric():
         try:
             Profile = Profiles.objects.get(userid=user_id)
             blockedUsers = Userblock.objects.filter(profileid=Profile)
             if len(blockedUsers) > 0:
                 profile = Profiles.objects.filter(
                     ~Q(userid__logintype='T')
                 ).exclude(
                     pk__in=[p.blockedprofileid.id for p in blockedUsers])
             else:
                 profile = Profiles.objects.filter(
                     ~Q(userid__logintype='T')
                 )  #profile = Profiles.objects.filter(userid__is_active=1)
             field = []
             if profile:
                 for uobj in profile:
                     field.append({
                         'profileid': uobj.id,
                         'userid': uobj.userid.id,
                         'status': uobj.userid.is_active,
                         'firstname': uobj.firstname,
                         'lastname': uobj.lastname,
                         'companyname': uobj.companyname,
                     })
             return json_response(
                 {
                     'status': 'success',
                     'result': json.dumps(field)
                 },
                 status=200)
         except Users.DoesNotExist:
             return json_response({
                 'status': 'error',
                 'msg': 'Invalid User'
             },
                                  status=200)
     else:
         return json_response({
             'status': 'error',
             'msg': 'Invalid User Id'
         },
                              status=200)
    def post(self, request, format=None):
        userId = request.POST.get('userId', None)
        pushId = request.POST.get('pushId', None)
        markType = request.POST.get('markType', None)

        if (userId and userId is not None) and (
                pushId and pushId is not None) and (markType == "push"
                                                    or markType == "post"):
            try:
                Profile = Profiles.objects.get(userid=userId)
                try:
                    if (markType == "push"):
                        Pushnotification.objects.filter(
                            id=pushId,
                            receiverprofileid=Profile).update(is_push_read=1)
                    else:
                        Pushnotification.objects.filter(
                            id=pushId,
                            receiverprofileid=Profile).update(is_post_read=1)

                    return json_response({
                        'status':
                        'success',
                        'msg':
                        'PushNotification Marked as Read'
                    })
                except Pushnotification.DoesNotExist:
                    return json_response({
                        'status': 'error',
                        'msg': 'Invalid notification.'
                    })
            except Profiles.DoesNotExist:
                return json_response({
                    'status': 'error',
                    'msg': 'Invalid user.'
                })
        else:
            return json_response({
                'status': 'error',
                'msg': 'Invalid Data'
            },
                                 status=status.HTTP_400_BAD_REQUEST)
Esempio n. 16
0
    def post(self, request, format=None):
        verificationCode = request.POST.get('verificationCode', None)

        if verificationCode is not None:
            try:
                user = Users.objects.get(hash=request.POST['verificationCode'])
            except Users.DoesNotExist:
                user = None

            if user is not None:
                if user.id:
                    user.is_active = 1
                    user.save()
                    return json_response({
                        'status': 'success',
                        'data': {
                            'token': user.ssotoken,
                            'email': user.email,
                            'id': user.id
                        },
                        'msg': 'Email verify successfully.'
                    })
                else:
                    return json_response(
                        {
                            'status': 'error',
                            'msg': 'Invalid User'
                        },
                        status=status.HTTP_400_BAD_REQUEST)
            else:
                return json_response(
                    {
                        'status': 'error',
                        'msg': 'Invalid Email/Verification Code'
                    },
                    status=status.HTTP_400_BAD_REQUEST)
        else:
            return json_response({
                'status': 'error',
                'msg': 'Invalid Data'
            },
                                 status=400)
Esempio n. 17
0
    def post(self, request, format=None):
        userId = request.POST['userId']
        user = Users.objects.filter(id=userId)
        millis = int(round(time.time() * 1000))
        if user.exists():
            try:
                user = Profiles.objects.get(userid=user)

                # Profile Banner Image Create
                bannerImage = request.POST.get('bannerImage', None)
                filename = ''
                if bannerImage in [None, '']:
                    filename = ''
                else:
                    filename = "banner_%s.png" % str(userId).replace('.', '_')
                    upload_image_profile(filename, bannerImage,
                                         settings.BANNER_URL)
                    make_thumbnil_profile(filename, userId, 'banner',
                                          settings.BANNER_URL)

                user.banner = filename + '?%s' % (millis)
                user.updatedate = settings.CURRENTDATE
                user.save()
                return json_response(
                    {
                        'status': 'success',
                        'msg': 'User Profile Updated successfully.'
                    },
                    status=200)
            except Profiles.DoesNotExist:
                return json_response(
                    {
                        'status': 'error',
                        'msg': 'Invalid User Id'
                    }, status=400)
        else:
            return json_response({
                'status': 'error',
                'msg': 'Invalid User Id'
            },
                                 status=400)
Esempio n. 18
0
 def post(self, request, format=None):
     auth_header = request.POST.get('X-AUTHTOKEN', None)
     apiKey_header = request.POST.get('X-APIKEY', None)
     try:
         #user = Users.objects.get(ssotoken=request.token)
         user = Users.objects.get(ssotoken=auth_header)
         user.ssotoken = ''
         user.deviceid = ''
         user.save()
     except Users.DoesNotExist:
         pass
     return json_response({'status': 'success', 'msg': 'User logout'})
Esempio n. 19
0
 def get(self, request, user_id, format=None):
     if user_id.isnumeric():
         try:
             profile = Profiles.objects.get(userid=user_id)
             followers = Followings.objects.filter(profileid=profile)
             field = []
             if followers:
                 for fobj in followers:
                     field.append({
                         'id':
                         fobj.id,
                         'userid':
                         fobj.followingprofileid.userid.id,
                         'profileid':
                         fobj.followingprofileid.id,
                         'firstname':
                         fobj.followingprofileid.firstname,
                         'lastname':
                         fobj.followingprofileid.lastname,
                     })
             return json_response(
                 {
                     'status': 'success',
                     'result': json.dumps(field)
                 },
                 status=200)
         except Users.DoesNotExist:
             return json_response({
                 'status': 'error',
                 'msg': 'Invalid User'
             },
                                  status=200)
     else:
         return json_response({
             'status': 'error',
             'msg': 'Invalid User Id'
         },
                              status=200)
Esempio n. 20
0
 def get(self, request, format=None, **kwargs):
     user = Users.objects.get(id=kwargs['user_id'])
     if user:
         if user.is_active == 1:
             userstatus = 0
             result = "Deactiavte"
         else:
             userstatus = 1
             result = "Actiavte"
         user.is_active = userstatus
         user.save()
         return json_response(
             {
                 'status': 'success',
                 'msg': 'Status Changed successfully',
                 'userstatus': result
             },
             status=200)
     else:
         return json_response({
             'status': 'error',
             'msg': 'Invalid Data'
         },
                              status=400)
    def get(self, request, format=None):
        deviceId = request.POST.get('deviceId', None)
        deviceType = request.POST.get('deviceType', None)

        apns = APNs(use_sandbox=False,
                    cert_file='cert/PushCert.pem',
                    key_file='cert/PushKey.pem')
        # Send a notification
        token_hex = 'ed11f65b41ecbca11f36106e5e01abe9b1d8acf821a6a8dc6fc9fcbe0d5902c0'
        payload = Payload(alert="New PUSH World!", sound="default", badge=500)
        status = apns.gateway_server.send_notification(token_hex, payload)

        return json_response({
            'status': 'success',
            'msg': 'PushNotification Test'
        })
    def post(self, request, format=None):
        userId = request.POST.get('userId', None)

        if userId and userId is not None:
            try:
                Profile = Profiles.objects.get(userid=userId)
                try:
                    #cursor = connection.cursor()
                    #cursor.execute("SELECT COUNT(id) from  pushnotification where ReceiverProfileId='"+ userId +"' AND isPushRead = '0' ")
                    #cursorResult = cursor.fetchone()
                    pushNotificationCount = Pushnotification.objects.filter(
                        receiverprofileid=Profile, is_push_read=0)
                    if len(pushNotificationCount) > 0:
                        return json_response({
                            'status':
                            'success',
                            'msg':
                            'PushNotification Count',
                            'count':
                            len(pushNotificationCount)
                        })
                    else:
                        return json_response({
                            'status': 'success',
                            'msg': 'PushNotification Count Exc',
                            'count': 0
                        })
                    return json_response({
                        'status': 'success',
                        'msg': 'PushNotification Count',
                        'count': cursorResult[0]
                    })
                except Pushnotification.DoesNotExist:
                    return json_response({
                        'status': 'success',
                        'msg': 'PushNotification Count Exc',
                        'count': 1110
                    })
            except Profiles.DoesNotExist:
                return json_response(
                    {
                        'status': 'error',
                        'msg': 'Invalid User Id'
                    },
                    status=status.HTTP_400_BAD_REQUEST)
        else:
            return json_response({
                'status': 'error',
                'msg': 'Invalid Data'
            },
                                 status=status.HTTP_400_BAD_REQUEST)
Esempio n. 23
0
    def post(self, request, format=None):
        user_id = Users.objects.filter(id=request.POST['userid'])
        bio = request.POST.get('Bio', None)

        categoryString = request.POST.get('category', None)
        if categoryString:
            category = categoryString.split(',')
        else:
            category = []

        if user_id.exists():
            try:
                user = Profiles.objects.get(userid=request.POST['userid'])
            except Profiles.DoesNotExist:
                user = None

            if user is not None:
                if user.userid:
                    user.bio = bio
                    user.updatedate = settings.CURRENTDATE
                    user.save()
                    Profilecategory.objects.filter(profileid=user).delete()
                    # Update profilecategory table
                    for pkid in category:
                        cId = int(pkid)
                        try:
                            catid = Category.objects.get(id=cId)
                            Profilecategory.objects.create(
                                categoryid=catid,
                                profileid=user,
                                createdate=settings.CURRENTDATE)
                        except Category.DoesNotExist:
                            pass

                    return json_response({
                        'status':
                        'success',
                        'msg':
                        'User Profile Updated successfully.',
                    })
                else:
                    return json_response(
                        {
                            'status': 'error',
                            'msg': 'Invalid User'
                        },
                        status=status.HTTP_400_BAD_REQUEST)
            else:
                user_id1 = Users.objects.get(id=request.POST['userid'])
                user = Profiles.objects.create(
                    userid=user_id1,
                    firstname=request.POST.get('FirstName', None),
                    lastname=request.POST.get('LastName', None),
                    gender=request.POST.get('Gender', None),
                    profilephoto=request.FILES.get('ProfilePhoto', None),
                    age=request.POST.get('Age', None),
                    location=request.POST.get('Location', None),
                    updatedate=settings.CURRENTDATE)
                return json_response({
                    'status': 'success',
                    'msg': 'User Profile Updated successfully'
                })
        else:
            return json_response({
                'status': 'error',
                'msg': 'Invalid Data'
            },
                                 status=400)
Esempio n. 24
0
    def post(self, request, format=None):
        user_id = Users.objects.filter(id=request.POST['userid'])
        #user_id = request.POST.get('userid', None)
        firstname = request.POST.get('FirstName', None)
        millis = int(round(time.time() * 1000))

        if user_id.exists():
            try:
                user = Profiles.objects.get(userid=request.POST['userid'])
            except Profiles.DoesNotExist:
                user = None

            if user is not None:
                if user.userid:
                    if firstname:
                        user.firstname = request.POST.get('FirstName', None)
                        user.lastname = request.POST.get('LastName', None)
                        user.gender = request.POST.get('Gender', None)

                        # Profile Image Create
                        profileImage = request.POST.get('profileImage', None)
                        filename = ''
                        if profileImage in [None, '']:
                            filename = ''
                        else:
                            filename = "profile_%s.png" % str(
                                request.POST['userid']).replace('.', '_')
                            """
                            binary_data = decode_base64(profileImage)
                            fd = open(settings.MEDIA_ROOT + settings.MEDIA_URL + filename, 'wb')
                            fd.write(binary_data)
                            fd.close()                        
                            # Profile Image Thumb
                            #thumbname = "uploaded_image_%s_thumb.png" % str(request.POST['userid']).replace('.','_')
                            """
                            upload_image_profile(filename, profileImage,
                                                 settings.MEDIA_URL)
                            make_thumbnil_profile(filename,
                                                  request.POST['userid'],
                                                  'profile',
                                                  settings.MEDIA_URL)
                            user.profilephoto = filename + '?%s' % (millis)

                        user.age = request.POST.get('Age', None)
                        user.website = request.POST.get('Website', None)
                        user.location = request.POST.get('Location', None)
                        user.updatedate = settings.CURRENTDATE
                        user.save()

                        return json_response({
                            'status':
                            'success',
                            'msg':
                            'User Profile Updated successfully.',
                        })
                    else:
                        return json_response(
                            {
                                'status': 'error',
                                'msg': 'Fullname is required.'
                            },
                            status=status.HTTP_400_BAD_REQUEST)
                else:
                    return json_response(
                        {
                            'status': 'error',
                            'msg': 'Invalid User'
                        },
                        status=status.HTTP_400_BAD_REQUEST)
            else:
                user_id1 = Users.objects.get(id=request.POST['userid'])
                user = Profiles.objects.create(
                    userid=user_id1,
                    firstname=request.POST.get('FirstName', None),
                    lastname=request.POST.get('LastName', None),
                    gender=request.POST.get('Gender', None),
                    profilephoto=request.FILES.get('ProfilePhoto', None),
                    age=request.POST.get('Age', None),
                    location=request.POST.get('Location', None),
                    updatedate=settings.CURRENTDATE)
                return json_response({
                    'status': 'success',
                    'msg': 'User Profile Updated successfully'
                })
        else:
            return json_response({
                'status': 'error',
                'msg': 'Invalid Data'
            },
                                 status=400)
Esempio n. 25
0
    def post(self, request, format=None):
        email = request.POST.get('email', None)
        password = request.POST.get('password', None)
        loginType = request.POST.get('loginType', 'B')
        deviceId = request.POST.get('deviceId', None)
        deviceToken = request.POST.get('deviceToken', None)

        if email is not None and password is not None:
            if deviceId:
                try:
                    user = Users.objects.filter(deviceid=deviceId)
                    if len(user) > 0:
                        user.deviceid = ''
                        user.save()
                    else:
                        pass
                except Users.DoesNotExist:
                    pass
            else:
                pass

            try:
                user = Users.objects.get(email=request.POST['email'],
                                         password=request.POST['password'],
                                         is_active=1)
            except Users.DoesNotExist:
                user = None

            if user is not None:
                if user.id:
                    try:
                        profile = Profiles.objects.get(userid=user)
                        firstname = profile.firstname
                        lastname = profile.lastname
                    except Profiles.DoesNotEsixt:
                        firstname = lastname = ''
                    user.ssotoken = ssoTokenGenerator(32)
                    user.deviceid = deviceId
                    user.lastlogindate = settings.CURRENTDATE
                    if user.isfirsttimelogin == 0:
                        user.isfirsttimelogin = 1
                    else:
                        if user.isfirsttimelogin == 1:
                            user.isfirsttimelogin = 2
                    user.save()
                    return json_response({
                        'status': 'success',
                        'data': {
                            'token': user.ssotoken,
                            'email': user.email,
                            'firstname': firstname,
                            'lastname': lastname,
                            'id': user.id,
                            'loginType': loginType,
                            'userReferalCode': user.usercode,
                            'isFirstTimeLogin': user.isfirsttimelogin
                        },
                        'msg': 'User logged in successfully'
                    })
                else:
                    return json_response(
                        {
                            'status': 'error',
                            'msg': 'Invalid User'
                        },
                        status=status.HTTP_400_BAD_REQUEST)
            else:
                return json_response(
                    {
                        'status': 'error',
                        'msg':
                        'Invalid Username/Password Or Inactivate account'
                    },
                    status=status.HTTP_400_BAD_REQUEST)
        else:
            return json_response({
                'status': 'error',
                'msg': 'Invalid Data'
            },
                                 status=400)
Esempio n. 26
0
    def post(self, request, format=None):
        firstName = request.POST.get('firstName', None)
        lastName = request.POST.get('lastName', None)
        email = request.POST.get('email', None)
        gender = request.POST.get('gender', None)
        clientId = request.POST.get('clientId', None)
        profiletype = request.POST.get('profileType', 'B')
        deviceId = request.POST.get('deviceId', None)
        deviceToken = request.POST.get('deviceToken', None)

        if clientId is not None:
            token = ssoTokenGenerator(32)
            hashkey = ssoTokenGenerator(6)
            usercode = ssoTokenGenerator(6)
            referCode = ssoTokenGenerator(6)
            try:
                authid = userSocailProfile.objects.get(profileid=clientId)
                try:
                    user = Users.objects.get(id=authid.userid.id)
                    isFirstTimeLogin = user.isfirsttimelogin
                    user.ssotoken = token
                    user.save()
                    return json_response(
                        {
                            'status': 'success',
                            'data': {
                                'email': user.email,
                                'token': user.ssotoken,
                                'id': user.id,
                                'referCode': referCode,
                                'loginType': profiletype,
                                'isFirstTimeLogin': 2
                            },
                            'msg': 'User already exists'
                        },
                        status=200)
                except Users.DoesNotExist:
                    return json_response(
                        {
                            'status': 'error',
                            'msg': 'Invalid User id'
                        },
                        status=status.HTTP_400_BAD_REQUEST)
            except userSocailProfile.DoesNotExist:
                try:
                    userid = Users.objects.get(email=email)
                    return json_response({
                        'status': 'success',
                        'data': {
                            'email': userid.email,
                            'token': token,
                            'id': userid.id,
                            'referCode': referCode,
                            'loginType': profiletype,
                            'isFirstTimeLogin': 2
                        },
                        'msg': 'User sign up successfully'
                    })
                except Users.DoesNotExist:
                    user = Users.objects.create(
                        email=email,
                        ssotoken=token,
                        hash=hashkey,
                        logintype=profiletype,
                        deviceid=deviceId,
                        devicetoken=deviceToken,
                        is_active=1,
                        notification=1,
                        usercode=usercode,
                        isfirsttimelogin=1,
                        createdate=settings.CURRENTDATE,
                        lastlogindate=settings.CURRENTDATE)
                    try:
                        userid = Users.objects.get(email=email)
                        user = userSocailProfile.objects.create(
                            userid=userid,
                            profiletype=profiletype,
                            profileid=clientId)
                        userp = Profiles.objects.create(
                            userid=userid,
                            firstname=firstName,
                            gender=gender,
                            referalcode=referCode,
                            updatedate=settings.CURRENTDATE)
                        return json_response({
                            'status': 'success',
                            'data': {
                                'email': userid.email,
                                'token': token,
                                'id': userid.id,
                                'referCode': referCode,
                                'loginType': profiletype,
                                'isFirstTimeLogin': 1
                            },
                            'msg': 'User sign up successfully'
                        })
                    except Users.DoesNotExist:
                        return json_response(
                            {
                                'status': 'error',
                                'msg': 'Invalid userid'
                            },
                            status=status.HTTP_400_BAD_REQUEST)
        else:
            return json_response({
                'status': 'error',
                'msg': 'Invalid Data'
            },
                                 status=status.HTTP_400_BAD_REQUEST)
Esempio n. 27
0
    def get(self, request, user_id, format=None):
        feedType = request.GET.get('feedType', 'A')
        page = int(request.GET.get('page', 1))
        recordsPerPage = int(request.GET.get('recordsPerPage', 10))
        searchText = request.GET.get('searchText', None)
        watcherId = request.GET.get('watcherId', None)
        isFollow = isFavorite = isSaveForLater = False
        field = []
        if user_id.isnumeric():
            try:
                user = Profiles.objects.get(userid=user_id)
                if searchText:
                    if feedType != 'A':
                        if feedType == 'P':
                            productList = Products.objects.filter(
                                profileid=user,
                                title__icontains=searchText).order_by(
                                    '-createdate')
                            postList = ''
                        else:
                            postList = Post.objects.filter(
                                profileid=user,
                                type=feedType,
                                title__icontains=searchText).order_by(
                                    '-createdate')
                            productList = ''
                    else:
                        postList = Post.objects.filter(
                            profileid=user,
                            title__icontains=searchText).order_by(
                                '-createdate')
                        productList = Products.objects.filter(
                            profileid=user,
                            title__icontains=searchText).order_by(
                                '-createdate')
                else:
                    if feedType != 'A':
                        if feedType == 'P':
                            productList = Products.objects.filter(
                                profileid=user).order_by('-createdate')
                            postList = ''
                        else:
                            postList = Post.objects.filter(
                                profileid=user,
                                type=feedType).order_by('-createdate')
                            productList = ''
                    else:
                        postList = Post.objects.filter(
                            profileid=user.id).order_by('-createdate')
                        productList = Products.objects.filter(
                            profileid=user.id).order_by('-createdate')

                result_list = sorted(chain(productList, postList),
                                     key=attrgetter('createdate'),
                                     reverse=True)
                #result_list = list(chain(productList, postList))

                #Total followers
                totalFollowers = Followings.objects.filter(
                    followingprofileid=user)

                # Total Text Post
                totalText = Post.objects.filter(profileid=user, type='T')

                # Total Video Post
                totalVideo = Post.objects.filter(profileid=user, type='V')

                # total Document
                totalDocument = Post.objects.filter(profileid=user, type='D')

                # Total Image Post
                totalImage = Post.objects.filter(profileid=user, type='I')

                #Total Product
                totalProduct = Products.objects.filter(profileid=user)

                #Total All Post
                totalAllPost = Post.objects.filter(profileid=user.id)

                if len(result_list) > 0:
                    count = len(result_list)
                    paginator = Paginator(result_list, recordsPerPage)
                    try:
                        postObj = paginator.page(page)
                    except PageNotAnInteger:
                        postObj = paginator.page(1)
                    except EmptyPage:
                        postObj = paginator.page(paginator.num_pages)

                    for pObj in postObj:
                        if hasattr(pObj, 'thumbnailurl'):
                            mainUrl = settings.BASE_URL + settings.STATIC_URL + settings.POST_MEDIA_URL
                            thumburl = mainUrl + 'thumbs/'
                            if pObj.thumbnailurl and pObj.type == 'I':
                                small_thumb = thumburl + 'small_' + pObj.thumbnailurl
                                medium_thumb = thumburl + 'medium_' + pObj.thumbnailurl
                                original_img = mainUrl + pObj.thumbnailurl
                            elif pObj.thumbnailurl and pObj.type == 'V':
                                small_thumb = pObj.thumbnailurl
                                medium_thumb = pObj.thumbnailurl
                                original_img = pObj.thumbnailurl
                            elif pObj.thumbnailurl and pObj.type == 'D':
                                small_thumb = mainUrl + pObj.thumbnailurl
                                medium_thumb = mainUrl + pObj.thumbnailurl
                                original_img = mainUrl + pObj.thumbnailurl
                            else:
                                original_img = small_thumb = medium_thumb = ''

                            tableName = 'Post'
                        else:
                            pimageUrl = settings.BASE_URL + settings.STATIC_URL + settings.PRODUCT_MEDIA_URL
                            pthumburl = pimageUrl + 'thumbs/'
                            if pObj.imageurl:
                                small_thumb = pthumburl + 'small_' + pObj.imageurl
                                medium_thumb = pthumburl + 'medium_' + pObj.imageurl
                                original_img = pimageUrl + pObj.imageurl
                            else:
                                original_img = small_thumb = medium_thumb = ''

                            tableName = 'Products'

                        if hasattr(pObj, 'scope'):
                            scopeVal = pObj.scope
                        else:
                            scopeVal = 0

                        if hasattr(pObj, 'type'):
                            typeVal = pObj.type
                        else:
                            typeVal = 'P'

                        if hasattr(pObj, 'posturl'):
                            postUrl = pObj.posturl
                        else:
                            postUrl = ''

                        if hasattr(pObj, 'length'):
                            vimeoId = pObj.length
                        else:
                            vimeoId = ''

                        if pObj.createdate:
                            createdate = getDate(pObj.createdate)
                        else:
                            createdate = getDate(settings.CURRENTDATE)

                        if pObj.profileid.lastname:
                            postedBy = pObj.profileid.firstname + " " + pObj.profileid.lastname
                        else:
                            postedBy = pObj.profileid.firstname

                        # CategoryList
                        cat_list = []
                        categorylist = Postcategory.objects.filter(
                            postid=pObj.id)
                        for catObj in categorylist:
                            cat_list.append(catObj.categoryid.id)
                        cat_id_in = ','.join(map(str, cat_list))

                        # Tags removed from benefit
                        """
                        # TagList
                        tag_list = []
                        tagList = Imagetag.objects.filter(postid=pObj.id)
                        for tagObj in tagList:
                            tag_list.append(tagObj.tagtext)                    
                        tag_id_in = ','.join(map(str, tag_list))
                        """
                        tag_id_in = ''

                        # Total Likes
                        totalLikes = Postlikes.objects.filter(postid=pObj.id)

                        # Total Comments
                        totalComment = Comments.objects.filter(postid=pObj.id)

                        if watcherId:
                            watcherid = Profiles.objects.get(userid=watcherId)
                            myFavorite = Favorites.objects.filter(
                                postid=pObj.id, profileid=watcherid, type='F')
                            mySaveForLater = Favorites.objects.filter(
                                postid=pObj.id, profileid=watcherid, type='B')
                            if myFavorite:
                                isFavorite = 1
                            else:
                                isFavorite = 0

                            if mySaveForLater:
                                isSaveForLater = 1
                            else:
                                isSaveForLater = 0

                        field.append({
                            'id': pObj.id,
                            'title': pObj.title,
                            'description': pObj.description,
                            'scope': scopeVal,
                            'type': typeVal,
                            'posturl': postUrl,
                            'vimeoId': vimeoId,
                            'profileid': pObj.profileid.id,
                            'userid': pObj.profileid.userid.id,
                            'categoryid': cat_id_in,
                            'tagList': tag_id_in,
                            'createdate': createdate,
                            'small_thumb': small_thumb,
                            'medium_thumb': medium_thumb,
                            'original_img': original_img,
                            'totalComment': len(totalComment),
                            'totalLikes': len(totalLikes),
                            'isFavorite': isFavorite,
                            'isSaveForLater': isSaveForLater,
                            'tableName': tableName,
                        })
                    return json_response(
                        {
                            'status': 'success',
                            'result': json.dumps(field),
                            'totalpost': len(totalAllPost),
                            'totalfollowers': len(totalFollowers),
                            'totalText': len(totalText),
                            'totalVideo': len(totalVideo),
                            'totalImage': len(totalImage),
                            'totalDocument': len(totalDocument),
                            'totalrows': len(result_list),
                            'totalProduct': len(totalProduct)
                        },
                        status=200)
                else:
                    return json_response(
                        {
                            'status': 'success',
                            'result': 'Record not found',
                            'msg': 'No records found',
                            'isFollow': isFollow,
                            'totalpost': len(totalAllPost),
                            'totalfollowers': len(totalFollowers),
                            'totalText': len(totalText),
                            'totalVideo': len(totalVideo),
                            'totalImage': len(totalImage),
                            'totalDocument': len(totalDocument),
                            'totalrows': 0,
                            'totalProduct': len(totalProduct)
                        },
                        status=200)
            except Profiles.DoesNotExist:
                return json_response(
                    {
                        'status': 'error',
                        'msg': 'Invalid User Id'
                    }, status=200)
        else:
            return json_response({
                'status': 'error',
                'msg': 'Invalid User Id'
            },
                                 status=200)
Esempio n. 28
0
    def post(self, request, format=None):
        email = request.POST.get('email', None)
        password = request.POST.get('password', None)
        fullName = request.POST.get('fullName', None)
        referalCode = request.POST.get('referalCode', None)
        loginType = request.POST.get('loginType', 'B')
        deviceId = request.POST.get('deviceId', None)
        deviceToken = request.POST.get('deviceToken', None)
        templatePath = os.path.join(settings.BASE_DIR, 'templates/admin/email')

        if email is not None and password is not None and fullName is not None:
            token = ssoTokenGenerator(32)
            hashkey = ssoTokenGenerator(6)
            usercode = ssoTokenGenerator(6)
            try:
                user = Users.objects.get(email=request.POST['email'])
                return json_response(
                    {
                        'status': 'error',
                        'msg': 'User already exists'
                    },
                    status=status.HTTP_400_BAD_REQUEST)
            except Users.DoesNotExist:
                #referCode=fullName.replace(' ','')+ssoTokenGenerator(4)
                referCode = ssoTokenGenerator(6)
                subject = "User Registration Activation Email"
                #message="Email Verification Code: "+hashkey
                message = render_to_string(
                    templatePath + '/email_verification.html', {
                        'hashkey': hashkey,
                        'email': email
                    })
                if referalCode:
                    try:
                        usercode = Profiles.objects.get(
                            referalcode=referalCode)
                        user = Users.objects.create(
                            email=request.POST['email'],
                            password=request.POST['password'],
                            ssotoken=token,
                            hash=hashkey,
                            logintype=loginType,
                            deviceid=deviceId,
                            devicetoken=deviceToken,
                            is_active=1,
                            notification=1,
                            usercode=usercode,
                            isfirsttimelogin=0,
                            createdate=settings.CURRENTDATE)
                        try:
                            userid = Users.objects.get(
                                email=request.POST['email'])
                            userp = Profiles.objects.create(
                                userid=userid,
                                firstname=fullName,
                                referalcode=referCode,
                                updatedate=settings.CURRENTDATE)
                            try:
                                userprofile = Profiles.objects.get(
                                    userid=userid.id)
                                follower = Followings.objects.create(
                                    profileid=userprofile,
                                    followingprofileid=usercode,
                                    createdate=settings.CURRENTDATE)
                            except Profiles.DoesNotExist:
                                return json_response(
                                    {
                                        'status': 'error',
                                        'msg': 'Invalid user id'
                                    },
                                    status=status.HTTP_400_BAD_REQUEST)
                            sendStatus = sendmail(subject, message,
                                                  request.POST['email'])
                            return json_response({
                                'status':
                                'success',
                                'data': {
                                    'token': token,
                                    'email': user.email,
                                    'id': userid.id,
                                    'referCode': referCode,
                                    'loginType': loginType
                                },
                                'msg':
                                'User sign up successfully.'
                            })
                        except Users.DoesNotExist:
                            return json_response(
                                {
                                    'status': 'error',
                                    'msg': 'Invalid email id'
                                },
                                status=status.HTTP_400_BAD_REQUEST)
                    except Profiles.DoesNotExist:
                        return json_response({
                            'status': 'error',
                            'msg': 'Invalid referral code'
                        })
                else:
                    user = Users.objects.create(
                        email=request.POST['email'],
                        password=request.POST['password'],
                        ssotoken=token,
                        hash=hashkey,
                        logintype=loginType,
                        deviceid=deviceId,
                        devicetoken=deviceToken,
                        is_active=1,
                        notification=1,
                        usercode=usercode,
                        isfirsttimelogin=0,
                        createdate=settings.CURRENTDATE)
                    try:
                        userid = Users.objects.get(email=request.POST['email'])
                        userp = Profiles.objects.create(
                            userid=userid,
                            firstname=fullName,
                            referalcode=referCode,
                            updatedate=settings.CURRENTDATE)
                        sendStatus = sendmail(subject, message,
                                              request.POST['email'])
                        return json_response({
                            'status':
                            'success',
                            'data': {
                                'token': token,
                                'email': user.email,
                                'id': userid.id,
                                'referCode': referCode,
                                'loginType': loginType
                            },
                            'msg':
                            'User sign up successfully.'
                        })
                    except Users.DoesNotExist:
                        return json_response(
                            {
                                'status': 'error',
                                'msg': 'Invalid userid'
                            },
                            status=status.HTTP_400_BAD_REQUEST)
        else:
            return json_response({
                'status': 'error',
                'msg': 'Invalid Data'
            },
                                 status=status.HTTP_400_BAD_REQUEST)
Esempio n. 29
0
    def get(self, request, user_id, format=None):

        userid = user_id
        if userid:
            try:
                user = Profiles.objects.get(userid=userid)
                userid = Users.objects.get(id=userid)
                category = Category.objects.all()
                catdata = serializers.serialize('json', category)
                profilecategory = Profilecategory.objects.select_related(
                    'profileid').filter(profileid=user.id)
                profilecatdata = serializers.serialize('json',
                                                       profilecategory,
                                                       fields=('categoryid'))
                profileimg = mediumthumbimg = smallthumbimg = ''
                if user.profilephoto:
                    profileimg = settings.BASE_URL + settings.STATIC_URL + settings.MEDIA_URL + user.profilephoto
                    mediumthumbimg = settings.BASE_URL + settings.STATIC_URL + settings.MEDIA_URL + 'thumbs/medium_' + user.profilephoto
                    smallthumbimg = settings.BASE_URL + settings.STATIC_URL + settings.MEDIA_URL + 'thumbs/small_' + user.profilephoto

                bannerimg = medium_banner_thumbimg = small_banner_thumbimg = ''
                if user.banner:
                    bannerimg = settings.BASE_URL + settings.STATIC_URL + settings.BANNER_URL + user.banner
                    medium_banner_thumbimg = settings.BASE_URL + settings.STATIC_URL + settings.BANNER_URL + 'thumbs/medium_' + user.banner
                    small_banner_thumbimg = settings.BASE_URL + settings.STATIC_URL + settings.BANNER_URL + 'thumbs/small_' + user.banner

                totalMyFollowers = Followings.objects.filter(profileid=user)

                totalFollowing = Followings.objects.filter(
                    followingprofileid=user)

                #Total Text Post
                totalText = Post.objects.filter(profileid=user.id, type='T')

                #Total Video Post
                totalVideo = Post.objects.filter(profileid=user.id, type='V')

                #Total Image Post
                totalImage = Post.objects.filter(profileid=user.id, type='I')

                #Total All Post
                totalAllPost = Post.objects.filter(profileid=user.id)

                #Total All Products
                totalProducts = Products.objects.filter(profileid=user.id)

                return json_response(
                    {
                        'status': 'success',
                        'data': {
                            'userid': userid.id,
                            'profileid': user.id,
                            'email': userid.email,
                            'firstname': user.firstname,
                            'lastname': user.lastname,
                            'gender': user.gender,
                            'age': user.age,
                            'location': user.location,
                            'about': user.bio,
                            'image': profileimg,
                            'mediumthumb': mediumthumbimg,
                            'smallthumb': smallthumbimg,
                            'referalcode': user.referalcode,
                            'bannerimg': bannerimg,
                            'medium_banner_thumbimg': medium_banner_thumbimg,
                            'small_banner_thumbimg': small_banner_thumbimg,
                            'website': user.website,
                            'totalMyFollowers': len(totalMyFollowers),
                            'totalFollowing': len(totalFollowing),
                            'totalText': len(totalText),
                            'totalVideo': len(totalVideo),
                            'totalImage': len(totalImage),
                            'totalAllPost': len(totalAllPost),
                            'totalProducts': len(totalProducts)
                        },
                        'categorylist': catdata,
                        'profilecategory': profilecatdata
                    },
                    status=200)
            except Profiles.DoesNotExist:
                return json_response(
                    {
                        'status': 'error',
                        'msg': 'Invalid User Id'
                    }, status=200)
        else:
            return json_response({
                'status': 'error',
                'msg': 'Invalid Data'
            },
                                 status=400)
Esempio n. 30
0
    def post(self, request, format=None):
        userId = request.POST.get('userId', None)
        productId = request.POST.get('productId', None)
        price = request.POST.get('price', None)
        shipping = request.POST.get('shipping', None)
        tax = request.POST.get('tax', None)
        transactionId = request.POST.get('transactionId', None)
        paymentStatus = request.POST.get('paymentStatus', None)
        platform = request.POST.get('platform', None)
        environment = request.POST.get('environment', None)
        paypalSdkVersion = request.POST.get('paypalSdkVersion', None)
        intent = request.POST.get('intent', None)
        paymentTime = request.POST.get('paymentTime', None)
        subject = 'Product Purchase'
        templatePath = os.path.join(settings.BASE_DIR, 'templates/admin/email')

        if userId.isnumeric() and productId.isnumeric():
            if price:
                isPrice = chekPrice(price)
                if isPrice == False:
                    return json_response(
                        {
                            'status': 'success',
                            'msg':
                            'Invalid Price,It should be number or decimal.'
                        },
                        status=200)
            else:
                price = 0.00

            if tax:
                isTax = chekPrice(tax)
                if isTax == False:
                    return json_response(
                        {
                            'status': 'success',
                            'msg':
                            'Invalid Tax,It should be number or decimal.'
                        },
                        status=200)
            else:
                tax = 0.00
            try:
                profile = Profiles.objects.get(userid=userId)
                try:
                    product = Products.objects.get(id=productId)
                    try:
                        purchaseprd = Purchaseproduct.objects.get(
                            transactionid=transactionId)
                        return json_response(
                            {
                                'error': 'error',
                                'msg': 'transactionId already exist'
                            },
                            status=200)
                    except Purchaseproduct.DoesNotExist:
                        post = Purchaseproduct.objects.create(
                            profileid=profile,
                            productid=product,
                            price=price,
                            shipping=shipping,
                            tax=tax,
                            transactionid=transactionId,
                            paymentstatus=paymentStatus,
                            platform=platform,
                            environment=environment,
                            paypalsdkversion=paypalSdkVersion,
                            intent=intent,
                            paymenttime=paymentTime,
                            createdate=settings.CURRENTDATE)

                        # send notification to seller about product purchase
                        sellerMessage = render_to_string(
                            templatePath + '/product_seller_notification.html',
                            {
                                'profileid': profile.id,
                                'userid': profile.userid.id,
                                'firstname': profile.firstname,
                                'lastname': profile.lastname
                            })
                        toProductOwner = product.profileid.userid.email
                        sendStatus = sendmail(subject, message, toProductOwner)

                        # send notification to buyer about product purchase
                        buyerMessage = render_to_string(
                            templatePath + '/product_buyer_notification.html',
                            {
                                'profileid': profile.id,
                                'userid': profile.userid.id,
                                'firstname': profile.firstname,
                                'lastname': profile.lastname
                            })
                        toProductBuyer = profile.userid.email
                        sendStatus = sendmail(subject, message, toProductBuyer)

                        return json_response(
                            {
                                'status': 'success',
                                'msg': 'Payment detail added successfully'
                            },
                            status=200)
                except Products.DoesNotExist:
                    return json_response(
                        {
                            'error': 'error',
                            'msg': 'Invalid product id'
                        },
                        status=200)
            except Profiles.DoesNotExist:
                return json_response(
                    {
                        'error': 'error',
                        'msg': 'Invalid user id'
                    }, status=200)
        else:
            return json_response(
                {
                    'status': 'error',
                    'msg': 'Invalid user id or product id'
                },
                status=400)