Skip to content
Snippets Groups Projects
Commit b8659a4b authored by Tomáš Valenta's avatar Tomáš Valenta
Browse files

bigger summary field, fix select2 autocomplete, wip frontend categorization

parent 1494a197
Branches
No related tags found
No related merge requests found
......@@ -15,6 +15,13 @@ class ContractAdminForm(forms.ModelForm):
"shared/admin_contract_form.js",
)
class Meta:
widgets = {
"summary": forms.Textarea(attrs={
"rows": 2
}),
}
class SigneeAdminForm(forms.ModelForm):
class Media:
......@@ -46,7 +53,7 @@ for many_to_many_field in (
):
djhacker.formfield(
many_to_many_field,
forms.ModelChoiceField,
forms.ModelMultipleChoiceField,
widget=dal.autocomplete.ModelSelect2Multiple(
url="contracts:select2_djhacker_contract_autocomplete"
)
......
# Generated by Django 4.1.4 on 2023-02-24 07:34
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('contracts', '0004_alter_contract_approval_state'),
]
operations = [
migrations.AlterField(
model_name='contract',
name='summary',
field=models.TextField(blank=True, max_length=256, null=True, verbose_name='Sumarizace obsahu smlouvy'),
),
]
# Generated by Django 4.1.4 on 2023-02-24 08:13
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('contracts', '0005_alter_contract_summary'),
]
operations = [
migrations.AlterField(
model_name='contract',
name='approval_state',
field=models.CharField(blank=True, choices=[('no', 'Neschválená'), ('yes', 'Schválená')], help_text='Může měnit jen schvalovatel. Pokud je smlouva veřejná, se stavem "Přijatá" se vypustí ven.', max_length=7, null=True, verbose_name='Stav schválení'),
),
migrations.AlterField(
model_name='contract',
name='cost_amount',
field=models.PositiveIntegerField(blank=True, null=True, verbose_name='Náklady (Kč)'),
),
migrations.AlterField(
model_name='contract',
name='paper_form_state',
field=models.CharField(choices=[('sent', 'Odeslaný'), ('stored', 'Uložený'), ('to_shred', 'Ke skartaci'), ('shredded', 'Skartovaný'), ('lost', 'Ztracený')], max_length=8, verbose_name='Stav fyzického dokumentu'),
),
]
......@@ -317,8 +317,8 @@ class Contract(models.Model):
# BEGIN Approval fields
class ApprovalStates(models.TextChoices):
NO = "no", "Odmítnutá"
YES = "yes", "Přijatá"
NO = "no", "Neschválená"
YES = "yes", "Schválená"
approval_state = models.CharField(
max_length=7,
......@@ -351,7 +351,7 @@ class Contract(models.Model):
verbose_name="Typ",
)
summary = models.CharField(
summary = models.TextField(
max_length=256,
blank=True,
null=True,
......@@ -378,11 +378,11 @@ class Contract(models.Model):
NO = "no", "Neveřejná"
class PaperFormStates(models.TextChoices):
SENT = "sent", "Odeslaná"
STORED = "stored", "Uložená"
SENT = "sent", "Odeslaný"
STORED = "stored", "Uložený"
TO_SHRED = "to_shred", "Ke skartaci"
SHREDDED = "shredded", "Skartovaná"
LOST = "lost", "Ztracená"
SHREDDED = "shredded", "Skartovaný"
LOST = "lost", "Ztracený"
legal_state = models.CharField(
max_length=13,
......@@ -437,7 +437,7 @@ class Contract(models.Model):
YEAR = "year", "Rok"
TOTAL = "total", "Celkem"
cost_amount = models.IntegerField(
cost_amount = models.PositiveIntegerField(
blank=True,
null=True,
verbose_name="Náklady (Kč)"
......
......@@ -2,7 +2,12 @@
{% load subtract %}
{% block content %}
<h1 class="head-alt-lg mb-10">{{ title }}</h1>
<div class="prose max-w-none mb-10">
<p>
<strong>Magni cumque debitis illo molestiae vitae.</strong> Laudantium et nihil magni rem. Aliquid aperiam minima aspernatur repudiandae quidem. Voluptatem consequatur voluptas aperiam consequatur. Et et dolor libero ut in est voluptate. Libero <a href="#">beatae temporibus itaque</a> est.
Temporibus <i>voluptatum commodi delectus est</i>. Commodi et voluptatem dolor odit occaecati dolore aut. Qui dolor nihil excepturi id. Qui deleniti <i>cupiditate voluptatem aut</i> est dolores eum aliquid. Molestiae blanditiis reiciendis odio provident ipsam voluptas enim suscipit.
</p>
</div>
<table class="table table-auto w-full table--striped table--bordered">
<thead>
<tr>
......@@ -31,7 +36,7 @@
</ul>
</td>
<td>
<i class="{% if contract.legal_state == contract.PublicStates.YES.0 %}ico--checkmark{% else %}ico--cross{% endif %}"></i>
<i class="{% if contract.legal_state == contract.LegalStates.VALID %}ico--checkmark{% else %}ico--cross{% endif %}"></i>
</td>
<td class="whitespace-nowrap">{{ contract.valid_start_date }}</td>
<td class="whitespace-nowrap">{{ contract.valid_end_date }}</td>
......
......@@ -4,10 +4,13 @@
{% block content %}
<h1 class="head-alt-lg mb-10">{{ contract.name }}</h1>
<h2 class="text-xl font-bold mb-5"><i class="ico--info mr-3"></i>Základní informace</h2>
<table class="table table-auto w-full table--striped table--bordered mb-10">
<tbody>
<tr>
<td colspan="2" class="text-lg font-bold">
<i class="ico--info mr-3"></i>Základní informace
</td>
</tr>
{% if contract.id_number %}
<tr>
<td class="w-1/5 !p-2.5">Identifikační číslo</td>
......@@ -40,7 +43,7 @@
</tr>
{% endif %}
<tr>
<td class="w-1/5 !p-2.5">Souhrn obsahu</td>
<td class="w-1/5 !p-2.5">Souhrn</td>
<td class="w-4/5 !p-2.5">{{ contract.summary }}</td>
</tr>
<tr>
......@@ -127,7 +130,7 @@
<td class="w-1/5 !p-2.5">Náklady</td>
<td class="w-4/5 !p-2.5">
{{ contract.cost_amount }} Kč
{% if contract.cost_unit != contract.CostUnits.TOTAL.0 %}
{% if contract.cost_unit != contract.CostUnits.TOTAL %}
/ {{ contract.get_cost_unit_display }}
{% else %}
celkem
......@@ -238,12 +241,12 @@
<div class="mb-1">
{{ signature.signee.get_entity_type_display }}
{% if signature.signee.entity_type == signature.signee.EntityTypes.NATURAL_PERSON.0 %}
{% if signature.signee.entity_type == signature.signee.EntityTypes.NATURAL_PERSON %}
<span class="text-gray-300">(zobrazujeme pouze obec)</span>
{% elif %}
{% endif %}
</div>
{% if signature.signee.entity_type == signature.signee.EntityTypes.NATURAL_PERSON.0 %}
{% if signature.signee.entity_type == signature.signee.EntityTypes.NATURAL_PERSON %}
{{ signature.signee.address_street_with_number }}<br>
{{ signature.signee.address_zip }} {{ signature.signee.address_district }}<br>
{{ signature.signee.get_address_country_display }}<br>
......
......@@ -10,7 +10,7 @@ from .models import Contract
def index(request):
contracts = (
Contract.objects.filter(
is_approved=True,
approval_state=Contract.ApprovalStates.YES,
public_state=Contract.PublicStates.YES,
)
.order_by("valid_start_date")
......@@ -20,8 +20,6 @@ def index(request):
page = paginator.get_page(request.GET.get("page"))
print(request.user)
return render(
request,
"contracts/index.html",
......@@ -38,7 +36,7 @@ def index(request):
def view_contract(request, id: int):
contract = Contract.objects.filter(
is_approved=True,
approval_state=Contract.ApprovalStates.YES,
public_state=Contract.PublicStates.YES,
).get(id=id)
......
......@@ -12,6 +12,7 @@
"author": "Tomáš Valenta",
"license": "AGPL-3.0-or-later",
"dependencies": {
"@tailwindcss/typography": "^0.5.9",
"css-loader": "^6.7.3",
"jquery": "^3.6.3",
"style-loader": "^3.3.1",
......
......@@ -14,5 +14,7 @@ module.exports = {
},
},
},
plugins: [],
plugins: [
require('@tailwindcss/typography'),
],
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment