feat: Added meal food and ingredient record through dataset
This commit is contained in:
@@ -16,7 +16,7 @@ from django.urls import reverse_lazy
|
||||
from django.views import generic
|
||||
from django_datatables_view.base_datatable_view import BaseDatatableView
|
||||
|
||||
from module_activity.models import (ChronicCondition, Intolerance,
|
||||
from module_activity.models import (Bowel, ChronicCondition, Intolerance, MealRecord, MealSymptomRecord, Medication,
|
||||
PastTreatment, PrincipalHealthData,
|
||||
Symptoms)
|
||||
from module_iam import iam_constant
|
||||
@@ -58,6 +58,7 @@ class AdminLoginView(generic.View):
|
||||
return render(request, self.template_name, context=context)
|
||||
|
||||
login(request, user)
|
||||
messages.success(request, constants.LOGIN_SUCCESS)
|
||||
logging.info(f"User {user.email} logged in.")
|
||||
|
||||
return redirect(self.success_url)
|
||||
@@ -85,6 +86,7 @@ class UserDashView(LoginRequiredMixin, generic.TemplateView):
|
||||
model = IAmPrincipal
|
||||
context_objext_name = "obj"
|
||||
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
context = super().get_context_data(**kwargs)
|
||||
context["page_name"] = self.page_name
|
||||
@@ -163,7 +165,7 @@ class UserListJson(BaseDatatableView):
|
||||
qs = super().filter_queryset(qs) # Call the built-in filtering first
|
||||
|
||||
for column in self.columns:
|
||||
print(f" columen index pattern {self.request.GET.get(f'columns[{self.columns.index(column)+1}][search][value]', None)}")
|
||||
print(f" columen index pattern {self.request.GET.get(f'columns[{self.columns.index(column)+2}][search][value]', None)}")
|
||||
search_value = self.request.GET.get(f'columns[{self.columns.index(column)+1}][search][value]', None)
|
||||
if search_value:
|
||||
column_data = self.request.GET.get(f'columns[{self.columns.index(column)+1}][data]')
|
||||
@@ -177,7 +179,7 @@ class UserListJson(BaseDatatableView):
|
||||
def ordering(self, qs):
|
||||
order = self.request.GET.get('order[0][dir]', None)
|
||||
if order:
|
||||
column_index = int(self.request.GET.get('order[0][column]', None)) - 1
|
||||
column_index = int(self.request.GET.get('order[0][column]', None)) - 2
|
||||
order_column = self.order_columns[column_index]
|
||||
|
||||
if order == "asc":
|
||||
@@ -220,6 +222,30 @@ class UserRecordView(LoginRequiredMixin, generic.View):
|
||||
model = IAmPrincipal
|
||||
template_name = "module_auth/user_view.html"
|
||||
|
||||
def get_recent_meal(self, id):
|
||||
recent_meal_records = MealRecord.objects.filter(
|
||||
principal=id
|
||||
).order_by('-id')[:5]
|
||||
return recent_meal_records
|
||||
|
||||
def get_recent_medication(self, id):
|
||||
recent_medication_records = Medication.objects.filter(
|
||||
principal=id
|
||||
).order_by('-id')[:5]
|
||||
return recent_medication_records
|
||||
|
||||
def get_recent_bowel(self, id):
|
||||
recent_bowel_records = Bowel.objects.filter(
|
||||
principal=id
|
||||
).order_by('-id')[:5]
|
||||
return recent_bowel_records
|
||||
|
||||
def get_recent_meal_symptom(self, id):
|
||||
recent_meal_symptom_records = MealSymptomRecord.objects.filter(
|
||||
principal=id
|
||||
).order_by('-id')[:5]
|
||||
|
||||
|
||||
def get(self, request, id):
|
||||
# Retrieve the IAmPrincipal instance
|
||||
principal_instance = get_object_or_404(IAmPrincipal, id=id)
|
||||
@@ -260,8 +286,17 @@ class UserRecordView(LoginRequiredMixin, generic.View):
|
||||
for data in obj.chronic_data:
|
||||
print(f"data is {data.name, data.duration}")
|
||||
|
||||
context = {
|
||||
'page_name': self.page_name,
|
||||
'obj': obj,
|
||||
"recent_meal": self.get_recent_meal(id),
|
||||
"recent_medication": self.get_recent_medication(id),
|
||||
"recent_bowel": self.get_recent_bowel(id),
|
||||
"recent_meal_symptom": self.get_recent_meal_symptom(id),
|
||||
}
|
||||
|
||||
# Render the template with the principal instance and related data
|
||||
return render(request, self.template_name, {'obj': obj, 'page_name': self.page_name})
|
||||
return render(request, self.template_name, context=context)
|
||||
|
||||
|
||||
class UserArchiveList(LoginRequiredMixin, generic.TemplateView):
|
||||
|
||||
Reference in New Issue
Block a user