def do_login(request, user): # _track_user_login(user, request) try: django_login(request, user, backend="django.contrib.auth.backends.ModelBackend") request.session.set_expiry(604800) request.user = user user_extra_data = userdetails(user.id) response = JsonResponse( { "success": True, "redirect_url": request.POST.get("redirect_url", ""), "status": 200, "email": user.email, "phone": user_extra_data.phone, } ) logs.info(u"phone--> %s", user_extra_data.phone) return set_logged_in_cookies(request, response, user) logs.debug("Setting user session to never expire") except Exception as exc: # pylint: disable=broad-except AUDIT_LOG.critical( "Login failed - Could not create session. Is memcached running?" ) logs.critical("Login failed - Could not create session. Is memcached running?") logs.exception(exc)
def do_login(request, user): # _track_user_login(user, request) try: django_login(request, user,backend='django.contrib.auth.backends.ModelBackend') request.session.set_expiry(604800) request.user = user user_extra_data = userdetails(user.id) if not user.extrafields.rpincode: response = JsonResponse(status=200, data={ "status":200, "message": "profile", "userid":user.id, "number":user.extrafields.rcountry_code }) else: response = JsonResponse({ 'success': True, 'redirect_url': request.POST.get('redirect_url',''), 'status': 200, 'email':user.email, 'phone': user_extra_data.phone, }) logs.info(u'phone--> %s', set_logged_in_cookies(request, response, user)) loggedin = set_logged_in_cookies(request, response, user) return loggedin logs.debug("Setting user session to never expire") except Exception as exc: # pylint: disable=broad-except # AUDIT_LOG.critical("Login failed - Could not create session. Is memcached running?") logs.critical("Login failed - Could not create session. Is memcached running?") logs.exception(exc)
def docvid_login(request, user,courseid): # _track_user_login(user, request) try: if not request.user.is_authenticated: request.session.set_expiry(604800) django_login(request, user, backend='django.contrib.auth.backends.ModelBackend') else: logout(request) request.session.set_expiry(604800) django_login(request, user, backend='django.contrib.auth.backends.ModelBackend') #request.session.set_expiry(604800) request.user = user #logs.info('userid--> %s',request.user) user_extra_data = userdetails(user.id) displayname = getuserfullprofile(user.id) course_id = request.data.get('course_id','') course_id = course_id.replace(' ','+') #logs.info('course_id %s',course_id) course_key = None if course_id: course_key = CourseKey.from_string(course_id) if not CourseEnrollment.is_enrolled(user, course_key) : user_course_enrollment = CourseEnrollment.enroll(user=user, course_key=course_key,mode='honor') # else: # query = course_id.replace('+','%2B') # query = query.replace(':','%3A') # now_asia = courseid.start.astimezone(timezone('Asia/Kolkata')) # docvidya_course_detail = requests.get('https://drlprdoce-drreddys.cec.ocp.oraclecloud.com//content/published/api/v1.1/items?fields=slug&orderBy=updateddate:desc&limit=1&q=((type eq "DocV-Courses") and (fields.course_id eq "' + query + '"))&channelToken=cf84462f73e542e7a8d270dfd2580730') # response = json.loads(docvidya_course_detail.text.encode('utf8')) # courseurl = request.session['drl_http_referer']+'/docv-courses-detail/'+response['items'][0]['slug'] # courseurl = courseurl.replace('https://','') # #logs.info("docvidya_course_detail--> %s",response['items'][0]['slug']) # enrolldata = CourseEnrollment.objects.get(user=user,course_id=course_key) # course_image_url = courseid.course_image_url.replace('+','%2B') # logs.info("starttime-->%s",now_asia.strftime("%H:%M")) # logs.info("api-details--> https://s394336720.t.eloqua.com/e/f2?elqFormName=CourseEvents&elqSiteID=394336720&emailAddress="+user.email+"&CourseId="+courseid.display_number_with_default+"&CourseName="+courseid.display_name+"&BannerURL=https://learn.docmode.org"+str(course_image_url)+"&Status=Enrolled&FullName="+displayname.name+"&DisplayDate="+str(courseid.start.date())+"&courseURL="+courseurl+"&EnrollmentID="+str(enrolldata.id)+"&Key=62f74068-90d2-4fd2-bd76-d657fbbbca14&Date="+str(datetime.today())) # syncmail = requests.post("https://s394336720.t.eloqua.com/e/f2?elqFormName=CourseEvents&elqSiteID=394336720&emailAddress="+user.email+"&CourseId="+courseid.display_number_with_default+"&CourseName="+courseid.display_name+"&BannerURL=https://learn.docmode.org"+str(course_image_url)+"&Status=Enrolled&FullName="+displayname.name+"&DisplayDate="+str(courseid.start.date())+"&courseURL="+courseurl+"&EnrollmentID="+str(enrolldata.id)+"&Key=62f74068-90d2-4fd2-bd76-d657fbbbca14&Date="+str(datetime.today())) # logs.info("syncmail--> %s",syncmail.__dict__) redirect_url = 'https://docvidya.learn.docmode.org/courses/'+course_id+'/courseware' response = JsonResponse({ 'success': True, 'redirect_url':redirect_url, 'status': 200, 'email':user.email }) #logs.info(u'response2--> %s', response) return set_logged_in_cookies(request, response, user) except Exception as exc: # pylint: disable=broad-except # AUDIT_LOG.critical("Login failed - Could not create session. Is memcached running?") logs.critical("Login failed - Could not create session. Is memcached running?") logs.exception(exc)
def docvid_login(request, user, courseid): # _track_user_login(user, request) try: request.session.set_expiry(604800) django_login(request, user, backend="django.contrib.auth.backends.ModelBackend") # request.session.set_expiry(604800) request.user = user user_extra_data = userdetails(user.id) course_id = request.data.get("course_id", "") course_id = course_id.replace(" ", "+") logs.info("course_id %s", course_id) course_key = None if course_id: course_key = CourseKey.from_string(course_id) try: check_enrollment = CourseEnrollment.objects.get( user=request.user, course_id=course_key) except: try: course_mode = CourseMode.objects.get(course_id=course_key) CourseEnrollment.enroll(user, course_key, mode=course_mode.mode) except: CourseEnrollment.enroll(user, course_key, mode="audit") redirect_url = ("https://docvidya.learn.docmode.org/courses/" + course_id + "/courseware") # redirect_url = "https://develop.docmode.org/login?next=/oauth2/authorize/confirm" # datags = JsonResponse({ # 'success': True, # 'redirect_url':redirect_url, # 'status': 200, # 'email':user.email # }) # cookie = set_logged_in_cookies(request, datags, user) # cookie = cookie.cookies # logs.info(u'cookie--> %s', cookie) response = JsonResponse({ "success": True, "redirect_url": redirect_url, "status": 200, "email": user.email, }) logs.info(u"phone--> %s", user_extra_data.phone) return set_logged_in_cookies(request, response, user) # logs.info(u'loggedin--> %s', loggedin.__dict__) # return loggedin logs.debug("Setting user session to never expire") except Exception as exc: # pylint: disable=broad-except # AUDIT_LOG.critical("Login failed - Could not create session. Is memcached running?") logs.critical( "Login failed - Could not create session. Is memcached running?") logs.exception(exc)
def vkonnect__login(request, user, courseid): # _track_user_login(user, request) logs.info('userid--> %s', request.user) try: logs.info('userid--> %s', request.user) if not request.user.is_authenticated: request.session.set_expiry(604800) django_login(request, user, backend='django.contrib.auth.backends.ModelBackend') else: logs.info('userid--> %s', request.user) logout(request) request.session.set_expiry(604800) django_login(request, user, backend='django.contrib.auth.backends.ModelBackend') #request.session.set_expiry(604800) request.user = user logs.info('userid--> %s', request.user) user_extra_data = userdetails(user.id) course_id = request.data.get('course_id', '') course_id = course_id.replace(' ', '+') logs.info('course_id %s', course_id) course_key = None if course_id: course_key = CourseKey.from_string(course_id) if not CourseEnrollment.is_enrolled(user, course_key): logs.info("course enrollment function will be call") CourseEnrollment.enroll(user=user, course_key=course_key, mode='honor') redirect_url = 'https://vkonnecthealth.koa.docmode.org/courses/' + course_id + '/courseware' response = JsonResponse({ 'success': True, 'redirect_url': redirect_url, 'status': 200, 'email': user.email }) #logs.info(u'response2--> %s', response) return set_logged_in_cookies(request, response, user) except Exception as exc: # pylint: disable=broad-except # AUDIT_logs.critical("Login failed - Could not create session. Is memcached running?") logs.critical( "Login failed - Could not create session. Is memcached running?") logs.exception(exc)
def create_tracking_context(user): """ Assembles attributes from user and request objects to be sent along in E-Commerce API calls for tracking purposes. """ context_tracker = tracker.get_tracker().resolve_context() # Updated by Mahendra from lms.djangoapps.reg_form.views import userdetails ucountry = userdetails(user.id) usercountry = ucountry.rcountry return { 'lms_user_id': user.id, 'lms_ip': context_tracker.get('ip'), 'lms_client_id': context_tracker.get('client_id'), 'lms_user_country': usercountry, }
def docvid_auth(request, user, courseid): # _track_user_login(user, request) try: # request.session.set_expiry(604800) # django_login(request, user, backend='django.contrib.auth.backends.ModelBackend') # request.session.set_expiry(604800) request.user = user user_extra_data = userdetails(user.id) course_id = request.data.get("course_id", "") course_id = course_id.replace(" ", "+") logs.info("course_id %s", course_id) course_key = None if course_id: course_key = CourseKey.from_string(course_id) try: check_enrollment = CourseEnrollment.objects.get( user=request.user, course_id=course_key) except: try: course_mode = CourseMode.objects.get(course_id=course_key) CourseEnrollment.enroll(user, course_key, mode=course_mode.mode) except: CourseEnrollment.enroll(user, course_key, mode="audit") redirect_url = ("https://docvidya.learn.docmode.org/courses/" + course_id + "/courseware") logs.debug("Setting user session to never expire") return Response({ "success": True, "redirect_url": redirect_url, "status": 200, "email": user.email, }) # return response logs.debug("Setting user session to never expire") except Exception as exc: # pylint: disable=broad-except # AUDIT_LOG.critical("Login failed - Could not create session. Is memcached running?") logs.critical( "Login failed - Could not create session. Is memcached running?") logs.exception(exc)
def canopi_user_dashboard(request): user = request.user user_profile = getuserfullprofile(request.user.id) user_extra_data = userdetails(request.user.id) wallet_user = docmode_canopi_users.objects.filter(user_id=user.id) if not wallet_user: return redirect("/wallet_user_registration") authtoken = docmode_canopi_auth.objects.all().last() log.info('datetime-->%s,%s', authtoken.validity, authtoken) if authtoken.validity < datetime.datetime.now(UTC): auth = requests.request( "GET", "https://koa.docmode.org/api/v1/docmode/canopi_auth/") authtoken = docmode_canopi_auth.objects.all().last() log.info('auth-->%s', auth.json()) wallet_user = docmode_canopi_users.objects.get(user_id=user.id) log.info("wallet_user-->%s", wallet_user.entityid) url = "https://ppi-test.canopi.in/canopi-payments/ppi/v1/cards/balance/" + wallet_user.entityid headers = { "Content-Type": "application/json", "Authorization": "Bearer " + str(authtoken) } log.info("headers-->%s", headers) response = requests.request("GET", url, headers=headers) log.info("response-->%s", response.json()) context = { "errors": "welcome", "csrf": csrf(request)["csrf_token"], "profile": user_profile, "extra_data": user_extra_data, "response": response.json() } return render_to_response("canopi_wallet/user_wallet_dashboard.html", context)
def vkonnect_auth(request, user, courseid): # _track_user_login(user, request) try: #request.session.set_expiry(604800) #django_login(request, user, backend='django.contrib.auth.backends.ModelBackend') #request.session.set_expiry(604800) request.user = user user_extra_data = userdetails(user.id) user_ext = user_extra_data user_detail = getuserfullprofile(user.id) course_id = request.data.get('course_id', '') course_id = course_id.replace(' ', '+') #logs.info('course_id %s',course_id) course_key = None if course_id: course_key = CourseKey.from_string(course_id) if not CourseEnrollment.is_enrolled(user, course_key): #logs.info("course enrollment function will be call") CourseEnrollment.enroll(user=user, course_key=course_key, mode='honor') redirect_url = 'https://vkonnecthealth.koa.docmode.org/courses/' + course_id + '/courseware' logs.debug("Setting user session to never expire") return Response({ 'success': True, 'redirect_url': redirect_url, 'status': 200, 'email': user.email, 'email_valid': 1 }) return response logs.debug("Setting user session to never expire") except Exception as exc: # pylint: disable=broad-except # AUDIT_logs.critical("Login failed - Could not create session. Is memcached running?") logs.critical( "Login failed - Could not create session. Is memcached running?") logs.exception(exc)
def _rows_for_users(self, context, users): """ Returns a list of rows for the given users for this report. """ with modulestore().bulk_operations(context.course_id): bulk_context = _CourseGradeBulkContext(context, users) success_rows, error_rows = [], [] for user, course_grade, error in CourseGradeFactory().iter( users, course=context.course, collected_block_structure=context.course_structure, course_key=context.course_id, ): #Added by Mahendra user_fullname = getuserfullprofile(user.id) user_extra_info = userdetails(user.id) if not course_grade: # An empty gradeset means we failed to grade a student. error_rows.append( [user.id, user.username, text_type(error)]) else: #Updated by Mahendra success_rows.append( [ user.id, user.email, user_fullname.name, user.username, user_extra_info.rstate, user_extra_info.rcity ] + self._user_grades(course_grade, context) + self._user_cohort_group_names(user, context) + self._user_experiment_group_names(user, context) + self._user_team_names(user, bulk_context.teams) + self._user_verification_mode( user, context, bulk_context.enrollments) + self._user_certificate_info( user, context, course_grade, bulk_context.certs) + [_user_enrollment_status(user, context.course_id)]) return success_rows, error_rows
def cme_export_csv(request, course_id, datatype): import csv from django.utils.encoding import smart_str from opaque_keys.edx.locations import SlashSeparatedCourseKey cid = CourseKey.from_string(course_id) response = HttpResponse(content_type="text/csv") response["Content-Disposition"] = "attachment; filename=users.csv" writer = csv.writer(response, csv.excel) response.write(u"\ufeff".encode( "utf8")) # BOM (optional...Excel needs it to open UTF-8 file properly) course_id = str(cid) course_number = course_id.split("+") user = request.user course_details = CourseOverview.objects.get(id=cid) course_exinfo = course_extrainfo.objects.get(course_id=cid) webinar_time = int(course_exinfo.total_webinar_hours) if user.is_staff: if datatype == "enrolled": writer.writerow([ smart_str(u"Userid"), smart_str(u"Firstname"), smart_str(u"Last Name"), smart_str(u"Emailid"), smart_str(u"ISD"), smart_str(u"Mobile number"), smart_str(u"Country"), smart_str(u"City"), smart_str(u"Place of work"), smart_str(u"Profession"), smart_str(u"Enrolled date"), ]) response["Content-Disposition"] = ("attachment; filename=" + str(course_number[1]) + "_enrolledusers.csv") crows = CourseEnrollment.objects.filter(course_id=cid) for row in crows: logs.info("id--> %s", row.user_id) try: assoc_user = User.objects.get(id=row.user_id) user_detail = getuserfullprofile(row.user_id) user_ext = userdetails(assoc_user.id) if (user_ext.user_extra_data != "" and "{" in user_ext.user_extra_data): extd = ast.literal_eval(user_ext.user_extra_data) else: extd = {} ext = json.dumps(extd) ext = eval(ext) name = user_detail.name.split(" ") fname = name[0] if len(name) > 1: lname = name[1] else: lname = "NA" if ext.get("isdcode"): isdcode = ext["isdcode"] elif ext.get("country_code"): isdcode = ext.get("country_code") else: isdcode = "NA" if ext.get("placeofwork"): placeofwork = ext["placeofwork"] elif ext.get("place_of_work"): placeofwork = ext.get("place_of_work") else: placeofwork = "NA" profession = ext.get("profession") if profession: profession = ext["profession"] else: profession = "NA" writer.writerow([ smart_str(row.user_id), smart_str(fname), smart_str(lname), smart_str(assoc_user.email), smart_str(isdcode), smart_str(user_ext.phone), smart_str(user_ext.rcountry), smart_str(user_ext.rcity), smart_str(placeofwork), smart_str(profession), smart_str(row.created) ]) except ObjectDoesNotExist: usernotfound = 0 elif datatype == "viewers": writer.writerow([ smart_str(u"Userid"), smart_str(u"Firstname"), smart_str(u"Last Name"), smart_str(u"Emailid"), smart_str(u"ISD"), smart_str(u"Mobile number"), smart_str(u"Country"), smart_str(u"City"), smart_str(u"Place of work"), smart_str(u"Profession"), smart_str(u"Start date"), smart_str(u"Start time"), smart_str(u"End date"), smart_str(u"End time"), smart_str(u"Duration"), ]) response["Content-Disposition"] = ("attachment; filename=" + str(course_number[1]) + "_viewers.csv") # vrows = ( # StudentModule.objects.filter( # course_id=cid, module_type="course" # ) # .values("student_id", "created", "state") # .annotate(dcount=Count("student_id")) # ) # vrows = StudentModule.objects.filter(course_id=cid,module_type='sequential').values('student_id','created','state').distinct() vrows = (user_session_tracking.objects.filter( course_id=cid, pagein__gte=course_details.start).values( "user_id", "course_id").distinct()[300:450]) count = 0 for vrow in vrows: count = count + 1 logs.info("id--> %s,%s", vrow["user_id"], count) userlogin = user_session_tracking.objects.filter( course_id=vrow["course_id"], user_id=vrow["user_id"], pagein__gte=course_details.start).first() userlogout = user_session_tracking.objects.filter( course_id=vrow["course_id"], user_id=vrow["user_id"]).last() assoc_user = User.objects.get(id=vrow["user_id"]) user_ext = userdetails(assoc_user.id) intime = userlogin.pagein.astimezone(timezone("Asia/Kolkata")) if userlogout.track_updated == 0: new_out_time = userlogout.pageout + datetime.timedelta( hours=webinar_time) outime = new_out_time.astimezone(timezone("Asia/Kolkata")) total_time = str(new_out_time - userlogin.pagein) else: outime = userlogout.pageout.astimezone( timezone("Asia/Kolkata")) total_time = str(userlogout.pageout - userlogin.pagein) user_detail = getuserfullprofile(assoc_user.id) extd = ast.literal_eval(user_ext.user_extra_data) ext = json.dumps(extd) ext = eval(ext) if (user_ext.user_extra_data != "" and "{" in user_ext.user_extra_data): extd = ast.literal_eval(user_ext.user_extra_data) else: extd = {} ext = json.dumps(extd) ext = eval(ext) name = user_detail.name.split(" ") fname = name[0] if len(name) > 1: lname = name[1] else: lname = "NA" if ext.get("isdcode"): isdcode = ext["isdcode"] elif ext.get("country_code"): isdcode = ext.get("country_code") else: isdcode = "NA" if ext.get("placeofwork"): placeofwork = ext["placeofwork"] elif ext.get("place_of_work"): placeofwork = ext.get("place_of_work") else: placeofwork = "NA" profession = ext.get("profession") if profession: profession = ext["profession"] else: profession = "NA" writer.writerow([ smart_str(vrow["user_id"]), smart_str(fname), smart_str(lname), smart_str(assoc_user.email), smart_str(isdcode), smart_str(user_ext.phone), smart_str(user_ext.rcountry), smart_str(user_ext.rcity), smart_str(placeofwork), smart_str(profession), smart_str(intime.strftime("%b %d, %Y ")), smart_str(intime.strftime("%H:%M")), smart_str(outime.strftime("%b %d, %Y ")), smart_str(outime.strftime("%H:%M")), smart_str(total_time), ]) return response
def get(self, request, **kwargs): from lms.djangoapps.webform.views import webformdetails if "course_id" in request.GET: course_id = request.GET.get("course_id") # logging.info(course_id) else: message = _("course_id paramater missing") result = {} result["Data"] = {} result["Status"] = "false" result["Message"] = message return JsonResponse(result, status=404) userstate = "" if "user" in request.GET: user_name = request.GET.get("user") try: user = User.objects.get(username=user_name) try: userid = userdetails(user) userstate = userid.rcity except userdetails.DoesNotExist: pass except User.DoesNotExist: result = {} message = _("User not found for username %s" % (user_name)) result["Data"] = {} result["Status"] = "false" result["Message"] = message return JsonResponse(result, status=404) else: result = {} message = _("user Parameter Missing") result["Data"] = {} result["Status"] = "false" result["Message"] = message return JsonResponse(result, status=400) qnadetails = webformdetails(course_id) result = {} if qnadetails and qnadetails.feedback_form_link: if qnadetails.feedback_form_link == "NULL": feedback_url = "" else: feedback_url = qnadetails.feedback_form_link else: feedback_url = "" if qnadetails: data = {} if userstate: data = { "city": userstate, "show_webinar": "true", "feedback_url": feedback_url, } message = "" result["Data"] = data result["Status"] = "true" result["Message"] = message return JsonResponse(result, status=200, safe=False) else: message = {"error": _("Course not found in webinar")} data = {} if userstate: data = { "city": userstate, "show_webinar": "false", "feedback_url": feedback_url, } message = "" result["Data"] = data result["Status"] = "true" result["Message"] = message return JsonResponse(result, status=200)
def docvid_auth(request, user,courseid): # _track_user_login(user, request) try: #request.session.set_expiry(604800) #django_login(request, user, backend='django.contrib.auth.backends.ModelBackend') #request.session.set_expiry(604800) request.user = user user_extra_data = userdetails(user.id) displayname = getuserfullprofile(user.id) course_id = request.data.get('course_id','') course_id = course_id.replace(' ','+') #logs.info('course_id %s',courseid) course_key = None if course_id: course_key = CourseKey.from_string(course_id) if not CourseEnrollment.is_enrolled(user, course_key) : #logs.info("course enrollment function will be call") #CourseEnrollment.enroll(user=user, course_key=course_key,mode='honor') user_course_enrollment = CourseEnrollment.enroll(user=user, course_key=course_key,mode='honor') if user_course_enrollment: #logs.info("course enrollment function will be call") query = course_id.replace('+','%2B') query = query.replace(':','%3A') now_asia = courseid.start.astimezone(timezone('Asia/Kolkata')) now_asia = now_asia.strftime("%I:%M %p") docvidya_course_detail = requests.get('https://drlprdoce-drreddys.cec.ocp.oraclecloud.com//content/published/api/v1.1/items?fields=slug&orderBy=updateddate:desc&limit=1&q=((type eq "DocV-Courses") and (fields.course_id eq "' + query + '"))&channelToken=cf84462f73e542e7a8d270dfd2580730') response = json.loads(docvidya_course_detail.text.encode('utf8')) courseurl = 'www.docvidya.com/docv-courses-detail/'+response['items'][0]['slug'] courseurl = courseurl.replace('https://','') #logs.info("docvidya_course_detail--> %s",response['items'][0]['slug']) enrolldata = CourseEnrollment.objects.get(user=user,course_id=course_key) course_image_url = courseid.course_image_url.replace('+','%2B') if '&' in courseid.display_name: course_name = courseid.display_name.replace('&','and') else: course_name = courseid.display_name course_exinfo = course_extrainfo.objects.get(course_id=course_id) #logs.info("course_exinfo--> %s",course_exinfo.__dict__) if course_exinfo.credit_point > 0: points = course_exinfo.credit_point else: points = 0 #logs.info("points-->%s",points) #logs.info("api-details--> https://s394336720.t.eloqua.com/e/f2?elqFormName=CourseEvents&elqSiteID=394336720&emailAddress="+user.email+"&CourseId="+courseid.display_number_with_default+"&CourseName="+courseid.display_name+"&BannerURL=https://learn.docmode.org"+str(course_image_url)+"&Status=Enrolled&FullName="+displayname.name+"&DisplayDate="+str(courseid.start.date())+' '+str(now_asia.strftime("%H:%M"))+"&courseURL="+courseurl+"&EnrollmentID="+str(enrolldata.id)+"&points="+str(points)+"&Key=62f74068-90d2-4fd2-bd76-d657fbbbca14&Date="+str(datetime.today())) syncmail = requests.post("https://s394336720.t.eloqua.com/e/f2?elqFormName=CourseEvents&elqSiteID=394336720&emailAddress="+user.email+"&CourseId="+courseid.display_number_with_default+"&CourseName="+course_name+"&BannerURL=https://learn.docmode.org"+str(course_image_url)+"&Status=Enrolled&FullName="+displayname.name+"&DisplayDate="+str(courseid.start.date())+'&DisplayTime='+str(now_asia)+"&courseURL="+courseurl+"&EnrollmentID="+str(enrolldata.id)+"&points="+str(points)+"&Key=62f74068-90d2-4fd2-bd76-d657fbbbca14&CourseDate="+str(courseid.start.strftime("%Y-%m-%dT%H:%M:%SZ"))) #logs.info("syncmail--> %s",syncmail.__dict__) redirect_url = 'https://docvidya.learn.docmode.org/courses/'+course_id+'/courseware' #logs.debug("Setting user session to never expire") return Response({ 'success': True, 'redirect_url':redirect_url, 'status': 200, 'email':user.email }) #return response #logs.debug("Setting user session to never expire") except Exception as exc: # pylint: disable=broad-except # AUDIT_LOG.critical("Login failed - Could not create session. Is memcached running?") logs.critical("Login failed - Could not create session. Is memcached running?") logs.exception(exc)
def cme_world_auth(request, user, courseid): # _track_user_login(user, request) try: #request.session.set_expiry(604800) #django_login(request, user, backend='django.contrib.auth.backends.ModelBackend') #request.session.set_expiry(604800) request.user = user user_extra_data = userdetails(user.id) user_ext = user_extra_data user_detail = getuserfullprofile(user.id) course_id = request.data.get('course_id', '') course_id = course_id.replace(' ', '+') #logs.info('course_id %s',course_id) course_key = None if course_id: course_key = CourseKey.from_string(course_id) if not CourseEnrollment.is_enrolled(user, course_key): #logs.info("course enrollment function will be call") CourseEnrollment.enroll(user=user, course_key=course_key, mode='honor') redirect_url = 'https://shalina.learn.docmode.org/courses/' + course_id + '/courseware' logs.debug("Setting user session to never expire") missing_data = 0 if (user_ext.user_extra_data != "" and "{" in user_ext.user_extra_data): extd = ast.literal_eval(user_ext.user_extra_data) else: extd = {} ext = json.dumps(extd) ext = eval(ext) name = user_detail.name.split(" ") fname = name[0] if len(name) > 1: lname = name[1] else: missing_data = 1 lname = "NA" if ext.get("isdcode"): isdcode = ext["isdcode"] elif ext.get("country_code"): isdcode = ext.get("country_code") else: isdcode = "NA" if ext.get("placeofwork"): placeofwork = ext["placeofwork"] elif ext.get("place_of_work"): placeofwork = ext.get("place_of_work") else: placeofwork = "NA" missing_data = 1 profession = ext.get("profession") if profession: profession = ext["profession"] else: profession = "NA" missing_data = 1 othercountry = ext.get("othercountry") if othercountry: othercountry = ext["othercountry"] else: missing_data = 1 othercountry = "NA" otherisd = ext.get("otherisd") if otherisd: otherisd = ext["otherisd"] else: missing_data = 1 otherisd = "NA" logs.info('before if-----> ') if missing_data == 1: logs.info('after if-----> ') return Response({ 'success': True, 'fname': fname, 'lname': lname, 'email': user.email, 'isdcode': isdcode, 'phone': user_ext.phone, 'country': user_ext.rcountry, 'city': user_ext.rcity, 'placeofwork': placeofwork, 'profession': profession, 'othercountry': othercountry, 'otherisd': otherisd, 'status': 303 }) else: logs.info('after else-----> ') return Response({ 'success': True, 'redirect_url': redirect_url, 'status': 200, 'email': user.email, 'email_valid': 1 }) #return response logs.debug("Setting user session to never expire") except Exception as exc: # pylint: disable=broad-except # AUDIT_logs.critical("Login failed - Could not create session. Is memcached running?") logs.critical( "Login failed - Could not create session. Is memcached running?") logs.exception(exc)
def export_course_viewver_report(self,course_id,filename,admin_user_id,datatype,report_obj_id): import time time.sleep(5) course_report_obj = CourseReportLink.objects.get(id=report_obj_id) course_report_obj.status = "inprogress" course_report_obj.save() course_key = CourseKey.from_string(course_id) course_enrollment_user_ids = CourseEnrollment.objects.filter(course_id=course_key,is_active=True).values('user_id') workbook = xlsxwriter.Workbook(settings.MEDIA_ROOT + filename) worksheet = workbook.add_worksheet() import csv from django.utils.encoding import smart_str from opaque_keys.edx.locations import SlashSeparatedCourseKey cid = CourseKey.from_string(course_id) def getspecialization(userId): from lms.djangoapps.specialization.views import specializationName speczname = "" try: getDetails = extrafields.objects.get(user_id=userId) specname = specializationName(getDetails.specialization_id) if specname != " ": speczname = specname else: speczname = "N/A" except ObjectDoesNotExist: speczname = "N/A" return speczname def getusertype(userId): u_type = "" try: getDetails = extrafields.objects.get(user_id=userId) utype = getDetails.user_type if utype == "dr": u_type = "Doctor" elif utype == "hc": u_type == "Healthcare Specialists" elif utype == "ms": u_type = "Medical Student" elif utype == "u": u_type = "User" except ObjectDoesNotExist: u_type = "N/A" return u_type def getViewerName(userId): vName = "" try: getDetails = UserProfile.objects.get(user_id=userId) vName = getDetails.name except ObjectDoesNotExist: getDetails = None return vName def getemail(userId): vEmail = "" try: getDetails = User.objects.get(id=userId) vEmail = getDetails.email except ObjectDoesNotExist: getDetails = None return vEmail course_id = str(cid) course_number = course_id.split("+") user = User.objects.get(id=admin_user_id) course_details = CourseOverview.objects.get(id=cid) course_exinfo = course_extrainfo.objects.get(course_id=cid) row = 0 col = 0 if user.is_staff: if "synapse" in course_id: column_list = ["Userid","Name","Emailid","Mobile","Type","MCI","Specialization","Country","State","City","Pincode","Date","Video Watch time","Is Active","iadvl"] for column in column_list: worksheet.write(0, col, column) col += 1 elif 'SLNA' in course_id and datatype=='enrolled': column_list = ["Userid","First name","Lastname","Emailid","ISD","Mobile Number","Country","City","Place of work","Profession","Enrolled date"] for column in column_list: worksheet.write(0, col, column) col += 1 elif (str(course_details.start) > "2021-03-01 15:00:00" and datatype == "viewers" ): if 'SLNA' in course_id : column_list = ["Userid","First name","Lastname","Emailid","ISD","Mobile Number","Country","City","Place of work","Profession","Start date","Start Time","End date","End time","Duration"] else: column_list = ["Name","Emailid","Mobile","Type","MCI","Specialization","Country","State","City","Pincode","pagein","pageout","Total session time","Is Active","Registered Medical Council","User Ip"] for column in column_list: worksheet.write(0, col, column) col += 1 else: column_list = ["Userid","Name","Emailid","Mobile","Type","MCI","Specialization","Country","State","City","Pincode","Date","Video Watch time","Is Active","Registered Medical Council"] for column in column_list: worksheet.write(0, col, column) col += 1 row +=1 if datatype == "enrolled": crows = CourseEnrollment.objects.filter(course_id=cid) if "synapse" in course_id: for rows in crows: col = 0 try: assoc_user = User.objects.get(id=rows.user_id) user_ext = userdetails(assoc_user.id) worksheet.write(row, col, rows.user_id) col +=1 worksheet.write(row, col,getViewerName(rows.user_id)) col +=1 worksheet.write(row, col,assoc_user.email) col +=1 worksheet.write(row, col,user_ext.phone) col +=1 worksheet.write(row, col,user_ext.user_type) col +=1 worksheet.write(row, col,user_ext.reg_num) col +=1 worksheet.write(row, col,getspecialization(rows.user_id)) col +=1 worksheet.write(row, col,user_ext.rcountry) col +=1 worksheet.write(row, col,user_ext.rstate) col +=1 worksheet.write(row, col,user_ext.rcity) col +=1 worksheet.write(row, col,user_ext.rpincode) col +=1 worksheet.write(row, col,str(rows.created)) col +=1 worksheet.write(row, col,"N/A") col +=1 worksheet.write(row, col,assoc_user.is_active) col +=1 worksheet.write(row, col,user_ext.user_extra_data) col +=1 except ObjectDoesNotExist: usernotfound = 0 row +=1 elif "SLNA" in course_id: for rows in crows: try: assoc_user = User.objects.get(id=rows.user_id) user_detail = getuserfullprofile(rows.user_id) user_ext = userdetails(assoc_user.id) if ( user_ext.user_extra_data != "" and "{" in user_ext.user_extra_data ): extd = ast.literal_eval(user_ext.user_extra_data) else: extd = {} ext = json.dumps(extd) ext = eval(ext) name = user_detail.name.split(" ") fname = name[0] if len(name) > 1: lname = name[1] else: lname = "NA" if ext.get("isdcode"): isdcode = ext["isdcode"] elif ext.get("country_code"): isdcode = ext.get("country_code") else: isdcode = "NA" if ext.get("placeofwork"): placeofwork = ext["placeofwork"] elif ext.get("place_of_work"): placeofwork = ext.get("place_of_work") else: placeofwork = "NA" profession = ext.get("profession") if profession: profession = ext["profession"] else: profession = "NA" col = 0 worksheet.write(row, col, rows.user_id) col +=1 worksheet.write(row, col, fname) col +=1 worksheet.write(row, col, lname) col +=1 worksheet.write(row, col, assoc_user.email) col +=1 worksheet.write(row, col, isdcode) col +=1 worksheet.write(row, col, user_ext.phone) col +=1 worksheet.write(row, col, user_ext.rcountry) col +=1 worksheet.write(row, col, user_ext.rcity) col +=1 worksheet.write(row, col, placeofwork) col +=1 worksheet.write(row, col, profession) col +=1 worksheet.write(row, col, str(rows.created)) col +=1 except ObjectDoesNotExist: usernotfound = 0 row +=1 else: for rows in crows: col = 0 try: assoc_user = User.objects.get(id=rows.user_id) user_ext = userdetails(assoc_user.id) worksheet.write(row, col,rows.user_id), col +=1 worksheet.write(row, col,getViewerName(rows.user_id)) col +=1 worksheet.write(row, col,getemail(rows.user_id)) col +=1 worksheet.write(row, col,user_ext.phone) col +=1 worksheet.write(row, col,getusertype(rows.user_id)) col +=1 worksheet.write(row, col,user_ext.reg_num) col +=1 worksheet.write(row, col,getspecialization(rows.user_id)) col +=1 worksheet.write(row, col,user_ext.rcountry) col +=1 worksheet.write(row, col,user_ext.rstate) col +=1 worksheet.write(row, col,user_ext.rcity) col +=1 worksheet.write(row, col,user_ext.rpincode) col +=1 worksheet.write(row, col,str(rows.created)) col +=1 worksheet.write(row, col,"N/A") col +=1 worksheet.write(row, col,assoc_user.is_active) col +=1 worksheet.write(row, col,user_ext.user_registered_medical_council) except ObjectDoesNotExist: usernotfound = 0 row +=1 elif datatype == "viewers": if (str(course_details.start) > "2021-03-01 15:00:00" ): if "SLNA" in course_id: webinar_time = int(course_exinfo.total_webinar_hours) vrows = ( user_session_tracking.objects.filter(course_id=cid,pagein__gte=course_details.start) .values("user_id", "course_id") .distinct() ) for vrow in vrows: userlogin = user_session_tracking.objects.filter( course_id=vrow["course_id"], user_id=vrow["user_id"],pagein__gte=course_details.start ).first() userlogout = user_session_tracking.objects.filter( course_id=vrow["course_id"], user_id=vrow["user_id"] ).last() assoc_user = User.objects.get(id=vrow["user_id"]) user_ext = userdetails(assoc_user.id) intime = userlogin.pagein.astimezone(timezone("Asia/Kolkata")) if userlogout.track_updated == 0: new_out_time = userlogout.pageout + datetime.timedelta( hours=webinar_time ) outime = new_out_time.astimezone(timezone("Asia/Kolkata")) total_time = str(new_out_time - userlogin.pagein) else: outime = userlogout.pageout.astimezone(timezone("Asia/Kolkata")) total_time = str(userlogout.pageout - userlogin.pagein) user_detail = getuserfullprofile(assoc_user.id) if '{' in user_ext.user_extra_data: extd = ast.literal_eval(user_ext.user_extra_data) ext = json.dumps(extd) ext = eval(ext) if ( user_ext.user_extra_data != "" and "{" in user_ext.user_extra_data ): extd = ast.literal_eval(user_ext.user_extra_data) else: extd = {} ext = json.dumps(extd) ext = eval(ext) else: ext = {} name = user_detail.name.split(" ") fname = name[0] if len(name) > 1: lname = name[1] else: lname = "NA" if ext.get("isdcode"): isdcode = ext["isdcode"] elif ext.get("country_code"): isdcode = ext.get("country_code") else: isdcode = "NA" if ext.get("placeofwork"): placeofwork = ext["placeofwork"] elif ext.get("place_of_work"): placeofwork = ext.get("place_of_work") else: placeofwork = "NA" profession = ext.get("profession") if profession: profession = ext["profession"] else: profession = "NA" col = 0 worksheet.write(row, col,vrow["user_id"]) col +=1 worksheet.write(row, col,fname) col +=1 worksheet.write(row, col,lname) col +=1 worksheet.write(row, col,assoc_user.email) col +=1 worksheet.write(row, col,isdcode) col +=1 worksheet.write(row, col,user_ext.phone) col +=1 worksheet.write(row, col,user_ext.rcountry) col +=1 worksheet.write(row, col,user_ext.rcity) col +=1 worksheet.write(row, col,placeofwork) col +=1 worksheet.write(row, col,profession) col +=1 worksheet.write(row, col,intime.strftime("%b %d, %Y ")) col +=1 worksheet.write(row, col,intime.strftime("%H:%M")) col +=1 worksheet.write(row, col,outime.strftime("%b %d, %Y ")) col +=1 worksheet.write(row, col,outime.strftime("%H:%M")) col +=1 worksheet.write(row, col,total_time) row +=1 else: webinar_time = int(course_exinfo.total_webinar_hours) course_start = course_details.start + datetime.timedelta( hours=webinar_time ) vrows = ( user_session_tracking.objects.filter(course_id=cid,pagein__gte=course_details.start) .values("user_id", "course_id") .distinct() ) for vrow in vrows: user_exist = User.objects.filter(id=vrow["user_id"]) if user_exist: userlogin = user_session_tracking.objects.filter( course_id=vrow["course_id"], user_id=vrow["user_id"],pagein__gte=course_details.start ).first() userlogout = user_session_tracking.objects.filter( course_id=vrow["course_id"], user_id=vrow["user_id"] ).last() assoc_user = User.objects.get(id=vrow["user_id"]) user_ext = userdetails(assoc_user.id) datetimeFormat = "%Y-%m-%d %H:%M:%S" intime = userlogin.pagein.astimezone(timezone("Asia/Kolkata")) if userlogout.track_updated == 0: new_out_time = userlogout.pageout + datetime.timedelta( hours=webinar_time ) outime = new_out_time.astimezone(timezone("Asia/Kolkata")) total_time = str(new_out_time - userlogin.pagein) else: outime = userlogout.pageout.astimezone(timezone("Asia/Kolkata")) total_time = str(userlogout.pageout - userlogin.pagein) col = 0 worksheet.write(row, col,getViewerName(vrow["user_id"])) col +=1 worksheet.write(row, col,getemail(vrow["user_id"])) col +=1 worksheet.write(row, col,user_ext.phone) col +=1 worksheet.write(row, col,getusertype(vrow["user_id"])) col +=1 worksheet.write(row, col,user_ext.reg_num) col +=1 worksheet.write(row, col,getspecialization(vrow["user_id"])) col +=1 worksheet.write(row, col,user_ext.rcountry) col +=1 worksheet.write(row, col,user_ext.rstate) col +=1 worksheet.write(row, col,user_ext.rcity) col +=1 worksheet.write(row, col,user_ext.rpincode) col +=1 worksheet.write(row, col,intime.strftime("%b %d, %Y %H:%M")) col +=1 worksheet.write(row, col,outime.strftime("%b %d, %Y %H:%M")) col +=1 worksheet.write(row, col,total_time.split(".")[0]) col +=1 worksheet.write(row, col,assoc_user.is_active) col +=1 worksheet.write(row, col,userlogout.user_ip) row +=1 else: vrows = ( StudentModule.objects.filter(course_id=cid, module_type="course") .values("student_id", "created", "state") .annotate(dcount=Count("student_id"))[:7000] ) # vrows = StudentModule.objects.filter(course_id=cid,module_type='sequential').values('student_id','created','state').distinct() for vrow in vrows: col = 0 # log.info(u'vrow-> %s',vrow['student_id']) assoc_user = User.objects.get(id=vrow["student_id"]) user_ext = userdetails(assoc_user.id) worksheet.write(row, col,vrow["student_id"]) col +=1 worksheet.write(row, col,getViewerName(vrow["student_id"])) col +=1 worksheet.write(row, col,getemail(vrow["student_id"])) col +=1 worksheet.write(row, col,user_ext.phone) col +=1 worksheet.write(row, col,getusertype(vrow["student_id"])) col +=1 worksheet.write(row, col,user_ext.reg_num) col +=1 worksheet.write(row, col,getspecialization(vrow["student_id"])) col +=1 worksheet.write(row, col,user_ext.rcountry) col +=1 worksheet.write(row, col,user_ext.rstate) col +=1 worksheet.write(row, col,user_ext.rcity) col +=1 worksheet.write(row, col,user_ext.rpincode) col +=1 worksheet.write(row, col,str(vrow["created"])) col +=1 worksheet.write(row, col,vrow["state"]) col +=1 worksheet.write(row, col,assoc_user.is_active) col +=1 worksheet.write(row, col,user_ext.user_extra_data) row +=1 else: if "synapse" in course_id: column_list = ["Name","Type","MCI","Specialization","State","City","Pincode","Date","Video Watch time","Is Active","IADVL"] for column in column_list: worksheet.write(0, col, column) col += 1 else: column_list = ["Name","Type","MCI","Specialization","State","City","Pincode","Date","Video Watch time","Is Active"] for column in column_list: worksheet.write(0, col, column) col += 1 row +=1 if datatype == "enrolled": crows = CourseEnrollment.objects.filter(course_id=cid) if "synapse" in course_id: for rows in crows: col = 0 assoc_user = User.objects.get(id=rows.user_id) user_ext = userdetails(assoc_user.id) worksheet.write(row, col,getViewerName(rows.user_id)) col +=1 worksheet.write(row, col,getusertype(rows.user_id)) col +=1 worksheet.write(row, col,user_ext.reg_num) col +=1 worksheet.write(row, col,getspecialization(rows.user_id)) col +=1 worksheet.write(row, col,user_ext.rstate) col +=1 worksheet.write(row, col,user_ext.rcity) col +=1 worksheet.write(row, col,user_ext.rpincode) col +=1 worksheet.write(row, col,str(rows.created)) col +=1 worksheet.write(row, col,"N/A") col +=1 worksheet.write(row, col,assoc_user.is_active) col +=1 worksheet.write(row, col,user_ext.user_extra_data) row +=1 else: for rows in crows: col = 0 assoc_user = User.objects.get(id=rows.user_id) user_ext = userdetails(assoc_user.id) worksheet.write(row, col,getViewerName(rows.user_id)) col +=1 worksheet.write(row, col,getusertype(rows.user_id)) col +=1 worksheet.write(row, col,user_ext.reg_num) col +=1 worksheet.write(row, col,getspecialization(rows.user_id)) col +=1 worksheet.write(row, col,user_ext.rstate) col +=1 worksheet.write(row, col,user_ext.rcity) col +=1 worksheet.write(row, col,user_ext.rpincode) col +=1 worksheet.write(row, col,str(rows.created)) col +=1 worksheet.write(row, col,"N/A") col +=1 worksheet.write(row, col,assoc_user.is_active) row +=1 elif datatype == "viewers": vrows = StudentModule.objects.filter(course_id=cid, module_type="course")[ :7000 ] for vrow in vrows: col = 0 assoc_user = User.objects.get(id=vrow.student_id) user_ext = userdetails(assoc_user.id) worksheet.write(row, col,getViewerName(vrow.student_id)) col +=1 worksheet.write(row, col,getusertype(vrow.student_id)) col +=1 worksheet.write(row, col,user_ext.reg_num) col +=1 worksheet.write(row, col,getspecialization(vrow.student_id)) col +=1 worksheet.write(row, col,user_ext.rstate) col +=1 worksheet.write(row, col,user_ext.rcity) col +=1 worksheet.write(row, col,user_ext.rpincode) col +=1 worksheet.write(row, col,str(vrow.created)) col +=1 worksheet.write(row, col,vrow.state) col +=1 worksheet.write(row, col,assoc_user.is_active) row +=1 workbook.close() with open(settings.MEDIA_ROOT +filename, 'rb') as model_excel: access_file = model_excel bucket_name = BUCKET_NAME +'/'+ 'course_access_report/' conn = boto.connect_s3(AWS_ACCESS_KEY_ID,AWS_SECRET_ACCESS_KEY) bucket = conn.get_bucket(BUCKET_NAME) imagedate = datetime.date.today() imagedate = imagedate.strftime('%d_%m_%Y') fs = FileSystemStorage() filenames = fs.save(workbook.filename, access_file) uploaded_file_url = fs.url(filenames) k = Key(bucket) course_overview = CourseOverview.objects.get(id=course_key) course_name = course_overview.display_name k.key =filename k.set_contents_from_filename(workbook.filename) k.make_public() imageurl = 'https://s3-ap-southeast-1.amazonaws.com/docmode-org-uploads/'+filename course_report_obj.status = "success" course_report_obj.file_path = imageurl course_report_obj.save() course_access_obj = CourseViewersReportLink(course_id=course_id,file_path=imageurl,file_name=filename) course_access_obj.save()
def canopi_user_registration(request): user = request.user user_profile = getuserfullprofile(request.user.id) user_extra_data = userdetails(request.user.id) log.info("userid-->%s", user.id) wallet_user = docmode_canopi_users.objects.filter(user_id=user.id) if wallet_user: return redirect("/wallet_dashboard") else: if request.is_ajax(): if request.method == "POST": if not 'check_phone_registered' in request.POST: authtoken = docmode_canopi_auth.objects.all().last() log.info('datetime-->%s,%s', authtoken.validity, authtoken) if authtoken.validity < datetime.datetime.now(UTC): auth = requests.request( "GET", "https://koa.docmode.org/api/v1/docmode/canopi_auth/" ) authtoken = docmode_canopi_auth.objects.all().last() log.info('auth-->%s', auth.json()) kitno = kitno_assgined_user.objects.filter( email="").first() log.info("kitno-->%s", kitno.kit_number) data = request.POST.dict() dob = data.get("dob").replace("/", "-") log.info("dob%s", dob) user_data = { "countryofIssue": "IND", "cardType": "V", "kitNo": kitno.kit_number, "title": data.get("title"), "firstName": data.get("fname"), "lastName": data.get("lname"), "gender": data.get("gender"), "specialDate": dob, "contactNo": data.get("phone"), "emailAddress": data.get("emailid"), "address": data.get("address1"), "address2": data.get("address2"), "city": data.get("city"), "state": data.get("state"), "country": data.get("country"), "pincode": data.get("pincode"), "idType": "PAN", "idNumber": data.get("aadhar"), "idExpiry": "2030-01-01", "kycStatus": "MIN_KYC", "countryCode": "+91", "otp": data.get("otp"), "addressDto": { "contactNo1": data.get("phone"), "contactNo2": "N/A", "emailAddress1": data.get("emailid"), "emailAddress2": "N/A", "notification": "1010", "address": [{ "title": "PERMANENT", "address1": data.get("address1"), "address2": data.get("address2"), "address3": "N/A", "city": data.get("city"), "state": data.get("state"), "country": data.get("country"), "pinCode": data.get("pincode") }] } } log.info("data--->%s", user_data) url = "https://ppi-test.canopi.in/canopi-payments/ppi/v1/customers/register" headers = { "Content-Type": "application/json", "Authorization": "Bearer " + str(authtoken) } response = requests.request("POST", url, json=user_data, headers=headers) response = response.json() log.info('response-->%s', response) if 'result' in response: if response['result'] is not None: log.info('response-->%s', response) docmode_canopi, created = docmode_canopi_users.objects.get_or_create( entityid=response["result"]["entityId"]) docmode_canopi.businessid = response["result"][ "sorCustomerId"] docmode_canopi.businesstype = "Customer" docmode_canopi.kitno = response["result"]["kitNo"] docmode_canopi.cardtype = "V" docmode_canopi.title = "Mr." docmode_canopi.idtype = "PAN" docmode_canopi.idnumber = data.get("aadhar") docmode_canopi.idexpiry = "N/A" docmode_canopi.countryofissue = "IND" docmode_canopi.programtype = "customer" docmode_canopi.country_code = "+91" docmode_canopi.otp = data.get("otp") docmode_canopi.user_id = request.user.id docmode_canopi.kycexpiry_date = response["result"][ "kycExpiryDate"] docmode_canopi.kyc_status = "MIN_KYC" docmode_canopi.address1 = data.get("address1") docmode_canopi.address2 = data.get("address2") docmode_canopi.address_title = "PERMANENT" docmode_canopi.contact1 = data.get("phone") docmode_canopi.email1 = user.email docmode_canopi.save() if docmode_canopi: log.info('docmode_canopi-->%s', docmode_canopi) kituserno = kitno_assgined_user.objects.get( kit_number=kitno.kit_number) log.info('kituserno-->%s', kitno.id) kituser = kitno_assgined_user.objects.get( id=kitno.id) kituser.email = data.get("emailid") kituser.save() log.info('kituser-->%s', kituser) return JsonResponse(response, status=200, safe=False) else: return JsonResponse(response, status=400) else: return JsonResponse(response, status=400) else: log.info('data--->%s', request.POST.dict()) data = request.POST.dict() phone_exist = docmode_canopi_users.objects.filter( contact1=data.get('phone')) if phone_exist: response = { "status": 200, "Msg": "This phone number is already registered!" } else: response = { "status": 400, "Msg": "This phone number is not registered!" } return JsonResponse(response, status=200, safe=False) #messages.success(request, "Kol registration successful.") context = { "errors": "welcome", "csrf": csrf(request)["csrf_token"], "profile": user_profile, "extra_data": user_extra_data } return render_to_response("canopi_wallet/user_registration.html", context)