Add CRUD for Drug
This commit is contained in:
52
core/views/drugs.py
Normal file
52
core/views/drugs.py
Normal file
@@ -0,0 +1,52 @@
|
||||
from django.contrib.auth.mixins import LoginRequiredMixin
|
||||
from django.shortcuts import render
|
||||
from rest_framework.views import APIView
|
||||
|
||||
from core.forms import DrugForm
|
||||
from core.models import Drug
|
||||
from mxs.restrictions import StaffMemberRequiredMixin
|
||||
from mxs.views import ObjectCreate, ObjectDelete, ObjectList, ObjectUpdate
|
||||
|
||||
|
||||
class DrugList(LoginRequiredMixin, StaffMemberRequiredMixin, ObjectList):
|
||||
list_template = "partials/drug-list.html"
|
||||
model = Drug
|
||||
page_title = "Global list of drugs"
|
||||
|
||||
list_url_name = "drugs"
|
||||
list_url_args = ["type"]
|
||||
|
||||
submit_url_name = "drug_create"
|
||||
delete_all_url_name = "drug_clear"
|
||||
|
||||
|
||||
class DrugCreate(LoginRequiredMixin, StaffMemberRequiredMixin, ObjectCreate):
|
||||
model = Drug
|
||||
form_class = DrugForm
|
||||
|
||||
submit_url_name = "drug_create"
|
||||
|
||||
|
||||
class DrugUpdate(LoginRequiredMixin, StaffMemberRequiredMixin, ObjectUpdate):
|
||||
model = Drug
|
||||
form_class = DrugForm
|
||||
|
||||
submit_url_name = "drug_update"
|
||||
|
||||
|
||||
class DrugDelete(LoginRequiredMixin, StaffMemberRequiredMixin, ObjectDelete):
|
||||
model = Drug
|
||||
|
||||
|
||||
class DrugClear(LoginRequiredMixin, StaffMemberRequiredMixin, APIView):
|
||||
def delete(self, request):
|
||||
template_name = "mixins/partials/notify.html"
|
||||
drugs_all = Drug.objects.all()
|
||||
drugs_all.delete()
|
||||
context = {
|
||||
"message": "Deleted all drugs",
|
||||
"class": "success",
|
||||
}
|
||||
response = render(request, template_name, context)
|
||||
response["HX-Trigger"] = "drugEvent"
|
||||
return response
|
||||
Reference in New Issue
Block a user