Show substances in a nicer way
This commit is contained in:
parent
4baffbe014
commit
0bb64fd144
|
@ -469,7 +469,7 @@ class Favourite(models.Model):
|
||||||
experiences = models.ManyToManyField(Experience, blank=True)
|
experiences = models.ManyToManyField(Experience, blank=True)
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return f"{self.name} ({self.common_name})"
|
return f"{self.name} [{self.nickname}] ({self.common_name})"
|
||||||
|
|
||||||
|
|
||||||
# class Perms(models.Model):
|
# class Perms(models.Model):
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
{% include 'mixins/partials/notify.html' %}
|
{% include 'mixins/partials/notify.html' %}
|
||||||
|
|
||||||
{% if object is not None %}
|
{% if object is not None %}
|
||||||
<h1 class="title">{{ object.name }} - {{ object.nickname }} - {{ object.common_name }}</h1>
|
<h1 class="title">{{ object }}</h1>
|
||||||
<p class="subtitle"><strong>{{ object.drug_class }}</strong></p>
|
<p class="subtitle"><strong>{{ object.drug_class }}</strong></p>
|
||||||
<div class="block">
|
<div class="block">
|
||||||
<a class="button is-info" href="#">Prices</a>
|
<a class="button is-info" href="#">Prices</a>
|
||||||
|
@ -16,29 +16,171 @@
|
||||||
<div class="cell">
|
<div class="cell">
|
||||||
<div class="box">
|
<div class="box">
|
||||||
<h2 class="subtitle">Dosage</h2>
|
<h2 class="subtitle">Dosage</h2>
|
||||||
<ul>
|
<table
|
||||||
{% for dose in object.dosages.all %}
|
class="table is-fullwidth is-hoverable"
|
||||||
<li>{{ dose }}</li>
|
hx-target="#{{ context_object_name }}-table"
|
||||||
|
id="{{ context_object_name }}-table"
|
||||||
|
hx-swap="outerHTML"
|
||||||
|
hx-trigger="{{ context_object_name_singular }}Event from:body"
|
||||||
|
hx-get="#">
|
||||||
|
<tbody>
|
||||||
|
{% for item in object.dosages.all %}
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<th>roa</th>
|
||||||
|
<td>
|
||||||
|
{{ item.roa }}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<th>unit</th>
|
||||||
|
<td>
|
||||||
|
{{ item.unit }}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<th>threshold</th>
|
||||||
|
<td>
|
||||||
|
{{ item.threshold_lower }} - {{ item.threshold_upper }}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<th>light</th>
|
||||||
|
<td>
|
||||||
|
{{ item.light_lower }} - {{ item.light_upper }}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<th>common</th>
|
||||||
|
<td>
|
||||||
|
{{ item.common_lower }} - {{ item.common_upper }}
|
||||||
|
</td>
|
||||||
|
<tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<th>strong</th>
|
||||||
|
<td>
|
||||||
|
{{ item.strong_lower }} - {{ item.strong_upper }}
|
||||||
|
</td>
|
||||||
|
<tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<th>heavy</th>
|
||||||
|
<td>
|
||||||
|
{{ item.heavy_lower }} - {{ item.heavy_upper }}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</ul>
|
</tbody>
|
||||||
|
|
||||||
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="box">
|
<div class="box">
|
||||||
<h2 class="subtitle">Timing</h2>
|
<h2 class="subtitle">Timing</h2>
|
||||||
<ul>
|
<table
|
||||||
{% for timing in object.timings.all %}
|
class="table is-fullwidth is-hoverable"
|
||||||
<li>{{ timing }}</li>
|
hx-target="#{{ context_object_name }}-table"
|
||||||
|
id="{{ context_object_name }}-table"
|
||||||
|
hx-swap="outerHTML"
|
||||||
|
hx-trigger="{{ context_object_name_singular }}Event from:body"
|
||||||
|
hx-get="#">
|
||||||
|
<tbody>
|
||||||
|
{% for item in object.timings.all %}
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<th>roa</th>
|
||||||
|
<td>
|
||||||
|
{{ item.roa }}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<th>unit</th>
|
||||||
|
<td>
|
||||||
|
{{ item.unit }}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<th>onset</th>
|
||||||
|
<td>
|
||||||
|
{{ item.onset_lower }} - {{ item.onset_upper }}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<th>comeup</th>
|
||||||
|
<td>
|
||||||
|
{{ item.comeup_lower }} - {{ item.comeup_upper }}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<th>peak</th>
|
||||||
|
<td>
|
||||||
|
{{ item.peak_lower }} - {{ item.peak_upper }}
|
||||||
|
</td>
|
||||||
|
<tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<th>offset</th>
|
||||||
|
<td>
|
||||||
|
{{ item.offset_lower }} - {{ item.offset_upper }}
|
||||||
|
</td>
|
||||||
|
<tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<th>total</th>
|
||||||
|
<td>
|
||||||
|
{{ item.total_lower }} - {{ item.total_upper }}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</ul>
|
</tbody>
|
||||||
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="box">
|
<div class="box">
|
||||||
<h2 class="subtitle">Links</h2>
|
<h2 class="subtitle">Links</h2>
|
||||||
<ul>
|
<table
|
||||||
{% for link in object.links.all %}
|
class="table is-fullwidth is-hoverable"
|
||||||
<li>{{ link }}</li>
|
hx-target="#{{ context_object_name }}-table"
|
||||||
|
id="{{ context_object_name }}-table"
|
||||||
|
hx-swap="outerHTML"
|
||||||
|
hx-trigger="{{ context_object_name_singular }}Event from:body"
|
||||||
|
hx-get="#">
|
||||||
|
<tbody>
|
||||||
|
{% for item in object.links.all %}
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<th>source</th>
|
||||||
|
<td>
|
||||||
|
{{ item.source }}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<th>url</th>
|
||||||
|
<td>
|
||||||
|
<a href="{{ item.url }}">{{ item.url }}</a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<th>author</th>
|
||||||
|
<td>
|
||||||
|
{{ item.author }}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</ul>
|
</tbody>
|
||||||
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
@ -54,11 +196,39 @@
|
||||||
|
|
||||||
<div class="box">
|
<div class="box">
|
||||||
<h2 class="subtitle">Effects</h2>
|
<h2 class="subtitle">Effects</h2>
|
||||||
<ul>
|
<table
|
||||||
{% for effect in object.effects.all %}
|
class="table is-fullwidth is-hoverable"
|
||||||
<li>{{ effect }}</li>
|
hx-target="#{{ context_object_name }}-table"
|
||||||
|
id="{{ context_object_name }}-table"
|
||||||
|
hx-swap="outerHTML"
|
||||||
|
hx-trigger="{{ context_object_name_singular }}Event from:body"
|
||||||
|
hx-get="#">
|
||||||
|
<tbody>
|
||||||
|
{% for item in object.effects.all %}
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<th>entry</th>
|
||||||
|
<td>
|
||||||
|
<a href="{{ item.entry.url }}">{{ item.entry.url }}</a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<th>SEI</th>
|
||||||
|
<td>
|
||||||
|
<div class="grid">
|
||||||
|
{% for effect in item.subjective_effects.all %}
|
||||||
|
<div class="cell box">
|
||||||
|
{{ effect }}
|
||||||
|
</div>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</ul>
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
{% endfor %}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -65,14 +65,9 @@ class DrugDetail(LoginRequiredMixin, StaffMemberRequiredMixin, ObjectRead):
|
||||||
detail_url_args = ["type", "pk"]
|
detail_url_args = ["type", "pk"]
|
||||||
|
|
||||||
def get_object(self, **kwargs):
|
def get_object(self, **kwargs):
|
||||||
print("GET")
|
|
||||||
pk = kwargs.get("pk")
|
pk = kwargs.get("pk")
|
||||||
info = Drug.objects.get(pk=pk)
|
info = Drug.objects.get(pk=pk)
|
||||||
|
return info
|
||||||
# self.extra_context = {}
|
|
||||||
print("info", info)
|
|
||||||
# return dictionary
|
|
||||||
return info.__dict__
|
|
||||||
|
|
||||||
|
|
||||||
class DrugClear(LoginRequiredMixin, StaffMemberRequiredMixin, APIView):
|
class DrugClear(LoginRequiredMixin, StaffMemberRequiredMixin, APIView):
|
||||||
|
|
|
@ -53,7 +53,7 @@ class FavouriteDetail(LoginRequiredMixin, ObjectRead):
|
||||||
def get_object(self, **kwargs):
|
def get_object(self, **kwargs):
|
||||||
pk = kwargs.get("pk")
|
pk = kwargs.get("pk")
|
||||||
info = Favourite.objects.get(pk=pk, user=self.request.user)
|
info = Favourite.objects.get(pk=pk, user=self.request.user)
|
||||||
return info.__dict__
|
return info
|
||||||
|
|
||||||
|
|
||||||
# class FavouriteClear(LoginRequiredMixin, APIView):
|
# class FavouriteClear(LoginRequiredMixin, APIView):
|
||||||
|
|
Loading…
Reference in New Issue