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

updated_on, fix default country

parent ee3c42a0
No related branches found
No related tags found
No related merge requests found
...@@ -5,18 +5,26 @@ from django.contrib import admin ...@@ -5,18 +5,26 @@ from django.contrib import admin
from django.contrib.auth.models import Permission from django.contrib.auth.models import Permission
from django.utils.html import format_html from django.utils.html import format_html
from import_export import resources from import_export import resources
from nested_admin import (NestedModelAdmin, NestedStackedInline, from nested_admin import NestedModelAdmin, NestedStackedInline, NestedTabularInline
NestedTabularInline)
from rangefilter.filters import DateRangeFilter from rangefilter.filters import DateRangeFilter
from shared.admin import FieldsetInlineOrder, MarkdownxGuardedModelAdmin from shared.admin import FieldsetInlineOrder, MarkdownxGuardedModelAdmin
from .forms import ContractAdminForm, ContractFileAdminForm, SigneeAdminForm from .forms import ContractAdminForm, ContractFileAdminForm, SigneeAdminForm
from .models import (Contract, Contractee, ContracteeSignature, from .models import (
ContracteeSignatureRepresentative, ContractFile, Contract,
ContractFilingArea, ContractIntent, ContractIssue, Contractee,
ContractType, Signee, SigneeSignature, ContracteeSignature,
SigneeSignatureRepresentative) ContracteeSignatureRepresentative,
ContractFile,
ContractFilingArea,
ContractIntent,
ContractIssue,
ContractType,
Signee,
SigneeSignature,
SigneeSignatureRepresentative,
)
class ContractResource(resources.ModelResource): class ContractResource(resources.ModelResource):
...@@ -153,10 +161,16 @@ class ContractAdmin( ...@@ -153,10 +161,16 @@ class ContractAdmin(
): ):
form = ContractAdminForm form = ContractAdminForm
ordering = ("created_on", "name",) ordering = (
"created_on",
"name",
)
search_fields = ("name",) search_fields = ("name",)
readonly_fields = ("created_by", "created_on",) readonly_fields = (
"created_by",
"created_on",
)
autocomplete_fields = ( autocomplete_fields = (
"primary_contract", "primary_contract",
"types", "types",
......
# Generated by Django 4.1.4 on 2023-03-30 08:35 # Generated by Django 4.1.4 on 2023-03-30 08:35
import datetime import datetime
from django.db import migrations, models from django.db import migrations, models
class Migration(migrations.Migration): class Migration(migrations.Migration):
dependencies = [ dependencies = [
('contracts', '0018_contractee_created_by_signee_created_by'), ("contracts", "0018_contractee_created_by_signee_created_by"),
] ]
operations = [ operations = [
migrations.AddField( migrations.AddField(
model_name='contract', model_name="contract",
name='created_on', name="created_on",
field=models.DateTimeField(default=datetime.datetime.now, verbose_name='Čas vytvoření'), field=models.DateTimeField(
default=datetime.datetime.now, verbose_name="Čas vytvoření"
),
), ),
] ]
# Generated by Django 4.1.4 on 2023-03-30 08:36 # Generated by Django 4.1.4 on 2023-03-30 08:36
import contracts.models
from django.db import migrations, models from django.db import migrations, models
import contracts.models
class Migration(migrations.Migration):
class Migration(migrations.Migration):
dependencies = [ dependencies = [
('contracts', '0019_contract_created_on'), ("contracts", "0019_contract_created_on"),
] ]
operations = [ operations = [
migrations.AlterField( migrations.AlterField(
model_name='contract', model_name="contract",
name='created_on', name="created_on",
field=models.DateTimeField(default=contracts.models.get_created_on_timestamp, verbose_name='Čas vytvoření'), field=models.DateTimeField(
default=contracts.models.get_created_on_timestamp,
verbose_name="Čas vytvoření",
),
), ),
] ]
# Generated by Django 4.1.4 on 2023-03-30 09:42
from django.db import migrations, models
import contracts.models
class Migration(migrations.Migration):
dependencies = [
("contracts", "0020_alter_contract_created_on"),
]
operations = [
migrations.AddField(
model_name="contract",
name="updated_on",
field=models.DateTimeField(
default=contracts.models.get_current_utc_timestamp,
verbose_name="Čas poslední aktualizace",
),
),
migrations.AlterField(
model_name="contractee",
name="address_country",
field=models.CharField(
default="Česká Republika", max_length=256, verbose_name="Země"
),
),
migrations.AlterField(
model_name="signee",
name="address_country",
field=models.CharField(
default="Česká Republika", max_length=256, verbose_name="Země"
),
),
]
...@@ -318,10 +318,14 @@ class ContractFilingArea(ContractCountMixin, NameStrMixin, models.Model): ...@@ -318,10 +318,14 @@ class ContractFilingArea(ContractCountMixin, NameStrMixin, models.Model):
verbose_name_plural = "Spisovny" verbose_name_plural = "Spisovny"
def get_created_on_timestamp(): def get_current_utc_timestamp():
return datetime.datetime.now(datetime.timezone.utc) return datetime.datetime.now(datetime.timezone.utc)
# Pre-squash migration compatibility
get_created_on_timestamp = get_current_utc_timestamp
class Contract(NameStrMixin, models.Model): class Contract(NameStrMixin, models.Model):
# BEGIN Automatically set fields # BEGIN Automatically set fields
...@@ -338,9 +342,15 @@ class Contract(NameStrMixin, models.Model): ...@@ -338,9 +342,15 @@ class Contract(NameStrMixin, models.Model):
created_on = models.DateTimeField( created_on = models.DateTimeField(
blank=False, blank=False,
null=False, null=False,
default=get_created_on_timestamp, default=get_current_utc_timestamp,
verbose_name="Čas vytvoření", verbose_name="Čas vytvoření",
) )
updated_on = models.DateTimeField(
blank=False,
null=False,
default=get_current_utc_timestamp,
verbose_name="Čas poslední aktualizace",
)
public_status_set_by = models.ForeignKey( public_status_set_by = models.ForeignKey(
User, User,
...@@ -586,6 +596,11 @@ class Contract(NameStrMixin, models.Model): ...@@ -586,6 +596,11 @@ class Contract(NameStrMixin, models.Model):
} }
) )
def save(self, *args, **kwargs):
self.updated_on = get_current_utc_timestamp()
return super().save(*args, **kwargs)
class Meta: class Meta:
app_label = "contracts" app_label = "contracts"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment