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)
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)
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)
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)
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'})
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'})
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'})
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)
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)
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)
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)
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)
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)
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)
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)
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)
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'})
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)