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

finish implementing AO requirements - separate approvals, autofill dates +...

finish implementing AO requirements - separate approvals, autofill dates + notices, ares error handling
parent 9337f084
No related branches found
No related tags found
No related merge requests found
......@@ -130,9 +130,14 @@ class ContractAdmin(MarkdownxGuardedModelAdmin):
]
if request.user.is_superuser or request.user.has_perm("approve", self):
fieldsets[0][1]["fields"].insert(
fieldsets[0][1]["fields"].index("primary_contract"),
"approval_state",
fieldsets.insert(
0,
(
"Schválení",
{
"fields": ["approval_state"]
}
),
)
return fieldsets
......@@ -141,6 +146,19 @@ class ContractAdmin(MarkdownxGuardedModelAdmin):
if obj.created_by is None:
obj.created_by = request.user
if obj.valid_start_date is None:
last_signature_date = None
for signature_set in (
obj.contractee_signatures.all(),
obj.signee_signatures.all()
):
for signature in signature_set:
if last_signature_date is None or last_signature_date < signature.date:
last_signature_date = signature.date
obj.valid_start_date = last_signature_date
super().save_model(request, obj, form, change)
......
......@@ -330,7 +330,7 @@ class Contract(models.Model):
verbose_name="Stav schválení",
help_text=(
"Může měnit jen schvalovatel. Pokud je smlouva "
"veřejná, se stavem \"Přijatá\" se vypustí ven."
"veřejná, se stavem \"Schválená\" se vypustí ven."
),
)
......@@ -493,7 +493,18 @@ class Contract(models.Model):
).all()
def __str__(self) -> str:
return self.name
result = ""
if self.public_state == Contract.PublicStates.YES:
result += "SCHVÁLENÁ - "
elif self.public_state == Contract.PublicStates.NO:
result += "NESCHVÁLENÁ - "
else:
result += "KE ZPRACOVÁNÍ - "
result += self.name
return result
class ContractFile(NameStrMixin, models.Model):
......
import $ from "jquery";
import alertify from "alertifyjs";
import "alertifyjs/build/css/alertify.min.css";
$(window).ready(
() => {
let startDateWarningDismissed = false;
let endDateWarningDismissed = false;
$(".field-publishing_rejection_comment").
css(
"display",
......@@ -24,5 +30,42 @@ $(window).ready(
);
}
);
$(
"#contract_form .submit-row input[name=\"_save\"],"
+ "#contract_form .submit-row input[name=\"_addanother\"],"
+ "#contract_form .submit-row input[name=\"_continue\"]"
).on(
"click",
event => {
if (!startDateWarningDismissed && $("#id_valid_start_date").val() === "") {
event.preventDefault();
alertify.alert(
"Začátek platnosti není zadán",
`Začátek platnosti nebyl uveden. Pokud ho necháš tak, jak je,
bude automaticky vyplněn podle posledního data
podpisu smluvních stran. Pokud podpisy neexistují,
pole zůstane prázdné.`,
() => {
startDateWarningDismissed = true;
}
);
}
if (!endDateWarningDismissed && $("#id_valid_end_date").val() === "") {
event.preventDefault();
alertify.alert(
"Konec platnosti není zadán",
`Konec platnosti nebyl uveden. Pokud ho necháš tak, jak je,
smlouva bude evidována jako na dobu neurčitou.`,
() => {
endDateWarningDismissed = true;
}
);
}
}
)
}
);
import $ from "jquery";
import alertify from "alertifyjs";
import "alertifyjs/build/css/alertify.min.css";
const fieldDepartmentValues = new Set([
"legal_entity",
......@@ -105,6 +107,19 @@ $(window).ready(
"text/xml"
);
const errors = formattedAresData.getElementsByTagName("are:Error");
if (errors.length !== 0) {
alertify.error("Chyba při načítní dat z ARES. Je IČO zadáno správně?");
console.warn(
"Error(s) loading ARES data: ",
errors
);
return;
}
let streetResult = "";
const streetElements = formattedAresData.getElementsByTagName("dtt:Nazev_ulice");
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment