def get_initial(self): user = self.request.user settings = user.settings return { 'username': user.username, 'first_name': user.first_name, 'last_name': user.last_name, 'email': user.email, 'time_zone': settings.time_zone, 'glucose_unit': settings.glucose_unit, 'default_category': settings.default_category, 'glucose_low': glucose_by_unit_setting(user, settings.glucose_low), 'glucose_high': glucose_by_unit_setting(user, settings.glucose_high), 'glucose_target_min': glucose_by_unit_setting(user, settings.glucose_target_min), 'glucose_target_max': glucose_by_unit_setting(user, settings.glucose_target_max), }
def render_column(self, row, column): user = self.request.user user_settings = user.settings low = user_settings.glucose_low high = user_settings.glucose_high target_min = user_settings.glucose_target_min target_max = user_settings.glucose_target_max if column == 'value': value_by_unit_setting = glucose_by_unit_setting(user, row.value) edit_url = reverse('glucose_update', args=(row.id,)) if row.value < low or row.value > high: return self.get_value_cell_style(edit_url, value_by_unit_setting, 'red') elif row.value >= target_min and row.value <= target_max: return self.get_value_cell_style(edit_url, value_by_unit_setting, 'green') else: return self.get_value_cell_style(edit_url, value_by_unit_setting) elif column == 'category': return '%s' % row.category.name elif column == 'record_date': return row.record_date.strftime('%m/%d/%Y') elif column == 'record_time': return row.record_time.strftime('%I:%M %p') elif column == 'actions': edit_link = """<a href="%s"> <img src="/static/images/icons/icon_changelink.gif"></a>""" % \ reverse('glucose_update', args=(row.id,)) delete_link = """<a href="%s"> <img src="/static/images/icons/icon_deletelink.gif"></a>""" % \ reverse('glucose_delete', args=(row.id,)) return '<center>%s %s</center>' % (edit_link, delete_link) else: return super(GlucoseListJson, self).render_column(row, column)
def get_object(self, queryset=None): obj = Glucose.objects.get(pk=self.kwargs['pk']) # Convert the value based on user's glucose unit setting. obj.value = glucose_by_unit_setting(self.request.user, obj.value) return obj
def get_object(self, queryset=None): try: obj = Glucose.objects.get(pk=self.kwargs['pk']) except Glucose.DoesNotExist: raise Http404 # Convert the value based on user's glucose unit setting. obj.value = glucose_by_unit_setting(self.request.user, obj.value) return obj
def get_initial(self): user = self.request.user settings = user.settings return { 'username': user.username, 'first_name': user.first_name, 'last_name': user.last_name, 'email': user.email, 'time_zone': settings.time_zone, 'glucose_unit': settings.glucose_unit, 'default_category': settings.default_category, 'glucose_low': glucose_by_unit_setting(user, settings.glucose_low), 'glucose_high': glucose_by_unit_setting(user, settings.glucose_high), 'glucose_target_min': glucose_by_unit_setting( user, settings.glucose_target_min), 'glucose_target_max': glucose_by_unit_setting( user, settings.glucose_target_max), }
def get_avg_by_day(cls, user, days): now = datetime.now(tz=user.settings.time_zone).date() glucose_averages = Glucose.objects.avg_by_day( (now - timedelta(days=days)), now, user) data = {'dates': [], 'values': []} for avg in glucose_averages: rounded_value = core_utils.round_value(avg['avg_value']) data['values'].append( core_utils.glucose_by_unit_setting(user, rounded_value)) data['dates'].append(avg['record_date'].strftime('%m/%d')) return data
def get_avg_by_category(cls, user, days): now = datetime.now(tz=user.settings.time_zone).date() glucose_averages = Color.objects.avg_by_category( (now - timedelta(days=days)), now, user) data = {'categories': [], 'values': []} for avg in glucose_averages: rounded_value = core_utils.round_value(avg['avg_value']) data['values'].append( core_utils.glucose_by_unit_setting(user, rounded_value)) data['categories'].append(avg['category__name']) return data
def get(self, request, *args, **kwargs): self.object = self.get_object() # If the record's user doesn't match the currently logged-in user, # deny viewing/updating of the object by showing the 403.html # forbidden page. This can occur when the user changes the id in # the URL field to a record that the user doesn't own. if self.object.user != request.user: raise PermissionDenied else: # Convert the value based on user's glucose unit setting. self.object.value = glucose_by_unit_setting( request.user, self.object.value) context = self.get_context_data(object=self.object) return self.render_to_response(context)
def get(self, request, *args, **kwargs): self.object = self.get_object() # If the record's user doesn't match the currently logged-in user, # deny viewing/updating of the object by showing the 403.html # forbidden page. This can occur when the user changes the id in # the URL field to a record that the user doesn't own. if self.object.user != request.user: raise PermissionDenied else: # Convert the value based on user's glucose unit setting. self.object.value = glucose_by_unit_setting(request.user, self.object.value) context = self.get_context_data(object=self.object) return self.render_to_response(context)
def render_column(self, row, column): user = self.request.user user_settings = user.settings low = user_settings.glucose_low high = user_settings.glucose_high target_min = user_settings.glucose_target_min target_max = user_settings.glucose_target_max if column == 'value': value_by_unit_setting = glucose_by_unit_setting(user, row.value) edit_url = reverse('glucose_update', args=(row.id, )) if row.value < low or row.value > high: return self.get_value_cell_style(edit_url, value_by_unit_setting, 'red') elif row.value >= target_min and row.value <= target_max: return self.get_value_cell_style(edit_url, value_by_unit_setting, 'green') else: return self.get_value_cell_style(edit_url, value_by_unit_setting) elif column == 'category': return '%s' % row.category.name elif column == 'record_date': return row.record_date.strftime('%m/%d/%Y') elif column == 'record_time': return row.record_time.strftime('%I:%M %p') elif column == 'tags': return ', '.join([t.name for t in row.tags.all()]) elif column == 'actions': edit_link = """<a href="%s"> <img src="/static/images/icons/icon_changelink.gif"></a>""" % \ reverse('glucose_update', args=(row.id,)) delete_link = """<a href="%s"> <img src="/static/images/icons/icon_deletelink.gif"></a>""" % \ reverse('glucose_delete', args=(row.id,)) return '<center>%s %s</center>' % (edit_link, delete_link) else: return super(GlucoseListJson, self).render_column(row, column)
def render_column(self, row, column): user = self.request.user user_settings = user.settings low = user_settings.glucose_low high = user_settings.glucose_high target_min = user_settings.glucose_target_min target_max = user_settings.glucose_target_max if column == 'value': value_by_unit_setting = glucose_by_unit_setting(user, row.value) edit_url = reverse('glucose_update', args=(row.id, )) text_class = 'text-primary' if row.value < low or row.value > high: text_class = 'text-danger' elif target_max >= row.value >= target_min: text_class = 'text-success' return '''<center><a class="%s" href="%s">%s</a></center>''' % \ (text_class, edit_url, value_by_unit_setting) elif column == 'category': return '%s' % row.category.name elif column == 'record_date': return row.record_date.strftime('%m/%d/%Y') elif column == 'record_time': return row.record_time.strftime('%I:%M %p') elif column == 'tags': return ', '.join([t.name for t in row.tags.all()]) elif column == 'actions': edit_url = reverse('glucose_update', args=(row.id, )) edit_link = '<a href="%s"><i class="fa fa-pencil text-warning">' \ '</i></a>' % edit_url delete_url = reverse('glucose_delete', args=(row.id, )) delete_link = '<a href="%s"><i class="fa fa-trash text-danger">' \ '</i></a>' % delete_url return '<center>%s  %s</center>' % (edit_link, delete_link) else: return super(GlucoseListJson, self).render_column(row, column)
def render_column(self, row, column): user = self.request.user user_settings = user.settings low = user_settings.glucose_low high = user_settings.glucose_high target_min = user_settings.glucose_target_min target_max = user_settings.glucose_target_max if column == 'value': value_by_unit_setting = glucose_by_unit_setting(user, row.value) edit_url = reverse('glucose_update', args=(row.id,)) text_class = 'text-primary' if row.value < low or row.value > high: text_class = 'text-danger' elif target_max >= row.value >= target_min: text_class = 'text-success' return '''<center><a class="%s" href="%s">%s</a></center>''' % \ (text_class, edit_url, value_by_unit_setting) elif column == 'category': return '%s' % row.category.name elif column == 'record_date': return row.record_date.strftime('%m/%d/%Y') elif column == 'record_time': return row.record_time.strftime('%I:%M %p') elif column == 'tags': return ', '.join([t.name for t in row.tags.all()]) elif column == 'actions': edit_url = reverse('glucose_update', args=(row.id,)) edit_link = '<a href="%s"><i class="fa fa-pencil text-warning">' \ '</i></a>' % edit_url delete_url = reverse('glucose_delete', args=(row.id,)) delete_link = '<a href="%s"><i class="fa fa-trash text-danger">' \ '</i></a>' % delete_url return '<center>%s  %s</center>' % (edit_link, delete_link) else: return super(GlucoseListJson, self).render_column(row, column)
def glucose_by_unit_setting(self, value): return core_utils.glucose_by_unit_setting(self.user, value)