Implement drug refresh and view
This commit is contained in:
@@ -1,9 +1,12 @@
|
||||
from django.contrib.auth.mixins import LoginRequiredMixin
|
||||
from django.shortcuts import render
|
||||
from django.urls import reverse
|
||||
from rest_framework.views import APIView
|
||||
|
||||
from core.clients.sources.psychwiki import PsychWikiClient
|
||||
from core.forms import DrugForm
|
||||
from core.models import Drug
|
||||
from core.views.helpers import synchronize_async_helper
|
||||
from mxs.restrictions import StaffMemberRequiredMixin
|
||||
from mxs.views import ObjectCreate, ObjectDelete, ObjectList, ObjectUpdate
|
||||
|
||||
@@ -19,6 +22,19 @@ class DrugList(LoginRequiredMixin, StaffMemberRequiredMixin, ObjectList):
|
||||
submit_url_name = "drug_create"
|
||||
delete_all_url_name = "drug_clear"
|
||||
|
||||
def get_context_data(self):
|
||||
context = super().get_context_data()
|
||||
self.extra_buttons = [
|
||||
{
|
||||
"url": reverse("drug_pull_merge"),
|
||||
"action": "refresh",
|
||||
"method": "post",
|
||||
"label": "Update database from sources",
|
||||
"icon": "fa-solid fa-refresh",
|
||||
},
|
||||
]
|
||||
return context
|
||||
|
||||
|
||||
class DrugCreate(LoginRequiredMixin, StaffMemberRequiredMixin, ObjectCreate):
|
||||
model = Drug
|
||||
@@ -50,3 +66,18 @@ class DrugClear(LoginRequiredMixin, StaffMemberRequiredMixin, APIView):
|
||||
response = render(request, template_name, context)
|
||||
response["HX-Trigger"] = "drugEvent"
|
||||
return response
|
||||
|
||||
|
||||
class DrugPullMerge(LoginRequiredMixin, StaffMemberRequiredMixin, APIView):
|
||||
def post(self, request):
|
||||
template_name = "mixins/partials/notify.html"
|
||||
# Do something
|
||||
run = synchronize_async_helper(PsychWikiClient())
|
||||
result = synchronize_async_helper(run.update_drugs())
|
||||
context = {
|
||||
"message": f"Drugs fetched: {result}",
|
||||
"class": "success",
|
||||
}
|
||||
response = render(request, template_name, context)
|
||||
response["HX-Trigger"] = "drugEvent"
|
||||
return response
|
||||
|
||||
Reference in New Issue
Block a user