def get_pending_accoc_list(org_id, is_apply, mhluser=None, practice=None): providers = Provider.objects.all().values_list('user', flat=True) pend_assocs = Pending_Association.objects.filter(\ practice_location__pk=org_id).order_by('-resent_time') if is_apply: pend_assocs = pend_assocs.filter(~Q(to_user__in=providers)) else: pend_assocs = pend_assocs.filter(Q(to_user__in=providers)) return_set = [{ 'flag':0, 'pract_id':u.practice_location.id, 'req_name': get_fullname(u.from_user) if is_apply else get_fullname(u.to_user), 'pract_name':u.practice_location.practice_name, 'assoc_id':u.pk, 'invitation_time': str(convert_dt_to_utz( u.created_time, mhluser, practice)), 'resent_time':str(convert_dt_to_utz(u.resent_time , mhluser, practice)) if u.resent_time else None, 'delta_time': get_delta_time_string(u.resent_time, mhluser,\ practice) if u.resent_time else get_delta_time_string(u.created_time, mhluser, practice), 'flag':1 if is_apply else 0, } for u in pend_assocs] return return_set
def dashboard(request): context = get_context(request) user = request.session['MHL_Users']['MHLUser'] unanswered = Invitation.objects.filter(sender=request.user) result = [] for un in unanswered: obj = {} obj['recipient'] = un.recipient obj['requestTimestamp'] = time_format( user, convert_dt_to_utz(un.requestTimestamp, user, context['current_practice'])) obj['code'] = un.code obj['pk'] = un.pk result.append(obj) context['unanswered_invites'] = result answered = InvitationLog.objects.filter(sender=request.user).filter( createdUser__isnull=False) result = [] for an in answered: obj = {} obj['first_name'] = an.createdUser.first_name obj['last_name'] = an.createdUser.last_name obj['username'] = an.createdUser.username obj['email'] = an.createdUser.email obj['requestTimestamp'] = time_format( user, convert_dt_to_utz(an.requestTimestamp, user, context['current_practice'])) obj['responseTimestamp'] = time_format( user, convert_dt_to_utz(an.responseTimestamp, user, context['current_practice'])) result.append(obj) context['answered_invites'] = result cancelled = InvitationLog.objects.filter(sender=request.user).filter( createdUser__isnull=True) result = [] for ca in cancelled: obj = {} obj['recipient'] = ca.recipient obj['requestTimestamp'] = time_format( user, convert_dt_to_utz(ca.requestTimestamp, user, context['current_practice'])) obj['responseTimestamp'] = time_format( user, convert_dt_to_utz(ca.responseTimestamp, user, context['current_practice'])) result.append(obj) context['cancelled_invites'] = result return render_to_response('dashboard.html', context)
def dashboard(request): context = get_context(request) user = request.session['MHL_Users']['MHLUser'] unanswered = Invitation.objects.filter(sender=request.user) result = [] for un in unanswered: obj = {} obj['recipient'] = un.recipient obj['requestTimestamp'] = time_format(user, convert_dt_to_utz( un.requestTimestamp, user, context['current_practice'])) obj['code'] = un.code obj['pk'] = un.pk result.append(obj) context['unanswered_invites'] = result answered = InvitationLog.objects.filter(sender=request.user).filter(createdUser__isnull=False) result = [] for an in answered: obj = {} obj['first_name'] = an.createdUser.first_name obj['last_name'] = an.createdUser.last_name obj['username'] = an.createdUser.username obj['email'] = an.createdUser.email obj['requestTimestamp'] = time_format(user, convert_dt_to_utz( an.requestTimestamp, user, context['current_practice'])) obj['responseTimestamp'] = time_format(user, convert_dt_to_utz( an.responseTimestamp, user, context['current_practice'])) result.append(obj) context['answered_invites'] = result cancelled = InvitationLog.objects.filter(sender=request.user).filter(createdUser__isnull=True) result = [] for ca in cancelled: obj = {} obj['recipient'] = ca.recipient obj['requestTimestamp'] = time_format(user, convert_dt_to_utz( ca.requestTimestamp, user, context['current_practice'])) obj['responseTimestamp'] = time_format(user, convert_dt_to_utz( ca.responseTimestamp, user, context['current_practice'])) result.append(obj) context['cancelled_invites'] = result return render_to_response('dashboard.html', context)
def inviteHome(request): context = get_context(request) if (request.user.is_staff): invites = Invitation.objects.filter(sender=request.user, userType__in=(1, 2, 10)).all() context['user_is_staff'] = request.user.is_staff else: #context['outstandingInvites'] = Invitation.objects.filter(sender=request.user).all() #context['outstandingInvites'] = list(Invitation.objects.filter( # sender=request.session['MHL_UserIDs']['MHLUser'], assignPractice=None)) invites = Invitation.objects.filter( sender=request.session['MHL_UserIDs']['MHLUser'], userType__in=(1, 2, 10)) user = request.session['MHL_Users']['MHLUser'] practice = context['current_practice'] result = [] for invite in invites: obj = {} obj['recipient'] = invite.recipient invite_time = convert_dt_to_utz(invite.requestTimestamp, user, practice) obj['requestTimestamp'] = time_format(user, invite_time) obj['code'] = invite.code obj['sender'] = invite.sender obj['id'] = invite.id result.append(obj) context['outstandingInvites'] = result return render_to_response('Invites/inviteHome.html', context)
def broker_page(request): context = get_context(request) now = datetime.datetime.now() day_latest = int( time.mktime((now - datetime.timedelta(days=30)).timetuple())) str_count_latest = 'SELECT COUNT(*) FROM Messaging_message WHERE Messaging_message.'\ 'sender_id = MHLUsers_broker.user_id and send_timestamp > %d' % day_latest broker_list = Broker.objects.extra(select={ 'count_all': 'SELECT COUNT(*) FROM Messaging_message WHERE '\ 'Messaging_message.sender_id = MHLUsers_broker.user_id', 'count_latest': str_count_latest }) context['broker_list'] = broker_list user = request.session['MHL_Users']['MHLUser'] practice = context['current_practice'] invites = Invitation.objects.filter(sender=request.user, userType=300).all() result = [] for invite in invites: obj = {} invite_time = convert_dt_to_utz(invite.requestTimestamp, user, practice) obj['requestTimestamp'] = time_format(user, invite_time) obj['recipient'] = invite.recipient obj['code'] = invite.code obj['id'] = invite.id result.append(obj) context['invitation_list'] = result return render_to_response('broker_list.html', context)
def broker_page(request): context = get_context(request) now = datetime.datetime.now() day_latest = int(time.mktime((now - datetime.timedelta(days=30)).timetuple())) str_count_latest = 'SELECT COUNT(*) FROM Messaging_message WHERE Messaging_message.'\ 'sender_id = MHLUsers_broker.user_id and send_timestamp > %d' % day_latest broker_list = Broker.objects.extra(select={ 'count_all': 'SELECT COUNT(*) FROM Messaging_message WHERE '\ 'Messaging_message.sender_id = MHLUsers_broker.user_id', 'count_latest': str_count_latest }) context['broker_list'] = broker_list user = request.session['MHL_Users']['MHLUser'] practice = context['current_practice'] invites = Invitation.objects.filter(sender=request.user, userType=300).all() result = [] for invite in invites: obj = {} invite_time = convert_dt_to_utz(invite.requestTimestamp, user, practice) obj['requestTimestamp'] = time_format(user, invite_time) obj['recipient'] = invite.recipient obj['code'] = invite.code obj['id'] = invite.id result.append(obj) context['invitation_list'] = result return render_to_response('broker_list.html', context)
def get_followups(user, index=0, itemsPerPage=10, mhluser=None, practice=None): followups = FollowUps.objects.filter(user=user).exclude( deleted=True)[itemsPerPage * index:itemsPerPage * (index + 1)] followup_count = len(FollowUps.objects.filter(user=user)) for f in followups: f.due_date = convert_dt_to_utz(f.due_date, mhluser, practice) return (followups, followup_count)
def test_convert_dt_to_utz(self): local_tz = 'America/New_York' practice = PracticeLocation() practice.time_zone = local_tz dt = datetime(2013, 01, 29) local_tz = timezone(local_tz) local_dt = timezone(settings.TIME_ZONE).localize(dt, is_dst=None) cmp_dt = local_dt.astimezone(local_tz).replace(tzinfo=None) self.assertEqual(cmp_dt, convert_dt_to_utz(dt, self.mhluser, practice))
def editFollowUp(request, followupID): followup = get_object_or_404(FollowUps, id=followupID) if (followup.user != request.user): return err403(request, err_msg=_("You don't seem to own this follow-up item.")) if (followup.deleted): raise Http404 # Get the context *after* the ownership check. After all, why do all that # work if we're just going to return HTTP403? context = get_context(request) user = request.session['MHL_Users']['MHLUser'] practice = context['current_practice'] if followup: followup.due_date = convert_dt_to_utz(followup.due_date, user, practice) if (request.method == "POST"): editfollowup_form = FollowUpForm(request.POST, instance=followup) if (editfollowup_form.is_valid()): followup_obj = editfollowup_form.save(commit=False) if (followup_obj.done and not followup_obj.completion_date): followup_obj.completion_date = datetime.datetime.today() elif (not followup_obj.done): followup_obj.completion_date = None followup_obj.due_date = convert_dt_to_stz(followup_obj.due_date, user, practice) followup_obj.save() return HttpResponseRedirect( reverse('MHLogin.MHLogin_Main.views.main')) else: # if not (editfollowup_form.is_valid()): context['form_id'] = followupID context['editfollowup_form'] = editfollowup_form else: # if (request.method != "POST"): context['form_id'] = followupID context['editfollowup_form'] = FollowUpForm(instance=followup) return render_to_response('FollowUp/editfollowup.html', context)
def inviteHome(request): context = get_context(request) invites = Invitation.objects.filter(sender=request.user) user = request.session['MHL_Users']['MHLUser'] practice = context['current_practice'] result = [] for invite in invites: obj = {} obj['recipient'] = invite.recipient invite_time = convert_dt_to_utz(invite.requestTimestamp, user, practice) obj['requestTimestamp'] = time_format(user, invite_time) obj['get_userType_display'] = invite.get_userType_display obj['typeVerified'] = invite.typeVerified obj['first_name'] = invite.sender.first_name obj['last_name'] = invite.sender.last_name obj['code'] = invite.code obj['testFlag'] = invite.testFlag obj['id'] = invite.id result.append(obj) context['outstandingInvites'] = result return render_to_response('inviteHome.html', context)
def get_delta_time_string(dt, mhluser, practice): if not isinstance(dt, datetime.datetime): return '' ts = convert_dt_to_utz(dt, mhluser, practice) delta_milseconds = time.time()-time.mktime(ts.timetuple()) if delta_milseconds < 0: return '' delta_val = delta_milseconds/(60*60*24*30*12) if int(delta_val) > 1: return _("several years ago") if int(delta_val) == 1: return _("1 year ago") delta_val = delta_val*12*30/7 if int(delta_val) > 0: return '%d week(s) ago' % int(delta_val) delta_val = delta_val*7 if int(delta_val) > 0: return '%d day(s) ago' % int(delta_val) delta_val = delta_val*24 if int(delta_val) > 0: return '%d hour(s) ago' % int(delta_val) delta_val = delta_val*60 if int(delta_val) > 0: return '%d minute(s) ago' % int(delta_val) delta_val = delta_val*60 if int(delta_val) > 0: return '%d second(s) ago' % int(delta_val) return _("1 second ago")
def get_delta_time_string(dt, mhluser, practice): if not isinstance(dt, datetime.datetime): return '' ts = convert_dt_to_utz(dt, mhluser, practice) delta_milseconds = time.time() - time.mktime(ts.timetuple()) if delta_milseconds < 0: return '' delta_val = delta_milseconds / (60 * 60 * 24 * 30 * 12) if int(delta_val) > 1: return _("several years ago") if int(delta_val) == 1: return _("1 year ago") delta_val = delta_val * 12 * 30 / 7 if int(delta_val) > 0: return '%d week(s) ago' % int(delta_val) delta_val = delta_val * 7 if int(delta_val) > 0: return '%d day(s) ago' % int(delta_val) delta_val = delta_val * 24 if int(delta_val) > 0: return '%d hour(s) ago' % int(delta_val) delta_val = delta_val * 60 if int(delta_val) > 0: return '%d minute(s) ago' % int(delta_val) delta_val = delta_val * 60 if int(delta_val) > 0: return '%d second(s) ago' % int(delta_val) return _("1 second ago")
def editFollowUp(request, followupID): followup = get_object_or_404(FollowUps, id=followupID) if (followup.user != request.user): return err403(request, err_msg=_("You don't seem to own this follow-up item.")) if (followup.deleted): raise Http404 # Get the context *after* the ownership check. After all, why do all that # work if we're just going to return HTTP403? context = get_context(request) user = request.session['MHL_Users']['MHLUser'] practice = context['current_practice'] if followup: followup.due_date = convert_dt_to_utz(followup.due_date, user, practice) if (request.method == "POST"): editfollowup_form = FollowUpForm(request.POST, instance=followup) if (editfollowup_form.is_valid()): followup_obj = editfollowup_form.save(commit=False) if (followup_obj.done and not followup_obj.completion_date): followup_obj.completion_date = datetime.datetime.today() elif (not followup_obj.done): followup_obj.completion_date = None followup_obj.due_date =convert_dt_to_stz(followup_obj.due_date, user, practice) followup_obj.save() return HttpResponseRedirect(reverse('MHLogin.MHLogin_Main.views.main')) else: # if not (editfollowup_form.is_valid()): context['form_id'] = followupID context['editfollowup_form'] = editfollowup_form else: # if (request.method != "POST"): context['form_id'] = followupID context['editfollowup_form'] = FollowUpForm(instance=followup) return render_to_response('FollowUp/editfollowup.html', context)
def get_followups(user, index=0, itemsPerPage=10, mhluser=None, practice=None): followups = FollowUps.objects.filter(user=user).exclude(deleted=True)[itemsPerPage * index:itemsPerPage * (index + 1)] followup_count = len(FollowUps.objects.filter(user=user)) for f in followups: f.due_date = convert_dt_to_utz(f.due_date, mhluser, practice) return (followups, followup_count)