Contracts stage 3: prepaid hours - hours included each month, and blocks bought with a price, expiry, note and an optional draft invoice; a nightly draw of billable ticket time, oldest ticket first from the hours that run out first, with Draw now and Put back, and a ticket the hours run out on staying in Unbilled Time at the usual rate; Prepaid hours card, a low hours email to the owner, and hours left on the contracts list, client overview, ticket, Unbilled Time and the client portal; [Monthly Hours] placeholder; new functions/contract_hours.php; DB 3.4.4 adds monthly hours and the alert level to contracts and templates, plus contract_blocks and contract_block_uses

This commit is contained in:
johnnyq
2026-10-25 01:06:27 -04:00
parent d0620067a1
commit 0f9038b1ed
27 changed files with 1431 additions and 35 deletions

View File

@@ -8756,6 +8756,37 @@ a.itflow-portal-request:focus-visible {
margin-top: .2rem;
color: var(--bs-secondary-color);
}
/* Prepaid hours on a contract - what is left, and a bar of what was used (a <progress>, as the portal allows no inline styles) */
.itflow-contract-hours-left {
font-size: 2rem;
font-weight: 600;
line-height: 1.15;
font-variant-numeric: tabular-nums;
}
.itflow-hours-bar {
display: block;
width: 100%;
height: .6rem;
border: 0;
border-radius: 999px;
overflow: hidden;
background-color: var(--bs-secondary-bg);
color: var(--bs-primary);
appearance: none;
-webkit-appearance: none;
}
.itflow-hours-bar::-webkit-progress-bar {
background-color: var(--bs-secondary-bg);
border-radius: 999px;
}
.itflow-hours-bar::-webkit-progress-value {
background-color: var(--bs-primary);
border-radius: 999px;
}
.itflow-hours-bar::-moz-progress-bar {
background-color: var(--bs-primary);
border-radius: 999px;
}
@media (max-width: 575.98px) {
.itflow-contract-signatures {
grid-template-columns: minmax(0, 1fr);