Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2f04c82c89 | ||
|
|
00449916a3 | ||
|
|
41db6093e5 | ||
|
|
572dfc200c | ||
|
|
955a33609a | ||
|
|
9b96111916 | ||
|
|
f2fc5097f7 |
@@ -3,6 +3,34 @@
|
|||||||
One line per change, grouped by the release that shipped it. Newest
|
One line per change, grouped by the release that shipped it. Newest
|
||||||
first. Each release names the portal tag it is built against.
|
first. Each release names the portal tag it is built against.
|
||||||
|
|
||||||
|
## 0.5.8 (2026-09-30) - portal v0.5.8
|
||||||
|
|
||||||
|
- Matches portal v0.5.8 (released by portal's publish job).
|
||||||
|
|
||||||
|
## 0.5.7 (2026-09-30) - portal v0.5.7
|
||||||
|
|
||||||
|
- Matches portal v0.5.7 (released by portal's publish job).
|
||||||
|
|
||||||
|
## Unreleased
|
||||||
|
|
||||||
|
- The effort budget counts what a person fills in: a `type: record` field (the case an answer is about, carried on the link) and a `hidden` preset are not asked and no longer count. An objection page whose form carried the application's id used to be one field over.
|
||||||
|
|
||||||
|
## 0.5.6 (2026-09-30) - portal v0.5.6
|
||||||
|
|
||||||
|
- Matches portal v0.5.6 (released by portal's publish job).
|
||||||
|
|
||||||
|
## 0.5.5 (2026-09-30) - portal v0.5.5
|
||||||
|
|
||||||
|
- Matches portal v0.5.5 (released by portal's publish job).
|
||||||
|
|
||||||
|
## 0.5.4 (2026-09-29) - portal v0.5.4
|
||||||
|
|
||||||
|
- Matches portal v0.5.4 (released by portal's publish job).
|
||||||
|
|
||||||
|
## 0.5.3 (2026-09-29) - portal v0.5.3
|
||||||
|
|
||||||
|
- Matches portal v0.5.3 (released by portal's publish job).
|
||||||
|
|
||||||
## 0.5.2 (2026-09-28) - portal v0.5.2
|
## 0.5.2 (2026-09-28) - portal v0.5.2
|
||||||
|
|
||||||
- Matches portal v0.5.2 (released by portal's publish job).
|
- Matches portal v0.5.2 (released by portal's publish job).
|
||||||
|
|||||||
Generated
+3
-3
@@ -2287,7 +2287,7 @@ checksum = "791930b43c0d5973160d90a8f3894509f2b273430f5c5c73b668636d0287c5c0"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "iris"
|
name = "iris"
|
||||||
version = "0.5.2"
|
version = "0.5.8"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"async-nats",
|
"async-nats",
|
||||||
@@ -3406,8 +3406,8 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "portal"
|
name = "portal"
|
||||||
version = "0.5.2"
|
version = "0.5.8"
|
||||||
source = "git+https://project.uhhm.no/uhhm/portal.git?tag=v0.5.2#45240b7cabcc59f1802ad1bd432f512a47110d2c"
|
source = "git+https://project.uhhm.no/uhhm/portal.git?tag=v0.5.8#f4ed98322fd9ec2a68762ca2402249315e473151"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"arc-swap",
|
"arc-swap",
|
||||||
|
|||||||
+2
-2
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "iris"
|
name = "iris"
|
||||||
version = "0.5.2"
|
version = "0.5.8"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
description = "The iris over a portal site: nothing from a content repo comes through until it checks out"
|
description = "The iris over a portal site: nothing from a content repo comes through until it checks out"
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
@@ -10,7 +10,7 @@ repository = "https://project.uhhm.no/uhhm/iris"
|
|||||||
# The site's own content types and loaders, so iris reads a repo exactly
|
# The site's own content types and loaders, so iris reads a repo exactly
|
||||||
# the way the running site does. Pinned to the portal release it
|
# the way the running site does. Pinned to the portal release it
|
||||||
# matches; bumping this tag is what a new iris release is.
|
# matches; bumping this tag is what a new iris release is.
|
||||||
portal = { git = "https://project.uhhm.no/uhhm/portal.git", tag = "v0.5.2", features = ["ssr"] }
|
portal = { git = "https://project.uhhm.no/uhhm/portal.git", tag = "v0.5.8", features = ["ssr"] }
|
||||||
anyhow = "1"
|
anyhow = "1"
|
||||||
serde = { version = "1", features = ["derive"] }
|
serde = { version = "1", features = ["derive"] }
|
||||||
serde_json = "1"
|
serde_json = "1"
|
||||||
|
|||||||
+17
-1
@@ -157,11 +157,14 @@ fn visible(q: &Question, as_group: Option<&str>) -> bool {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// What a person has to fill in: required fields, less the ones that
|
||||||
|
/// carry rather than ask - a `record` naming the case an answer is
|
||||||
|
/// about, a `hidden` preset - which cost nobody anything.
|
||||||
fn required_fields(alt: &Alternative) -> usize {
|
fn required_fields(alt: &Alternative) -> usize {
|
||||||
alt.features
|
alt.features
|
||||||
.iter()
|
.iter()
|
||||||
.flat_map(|f| &f.requirements)
|
.flat_map(|f| &f.requirements)
|
||||||
.filter(|r| !r.optional)
|
.filter(|r| !r.optional && r.kind != "record" && r.kind != "hidden")
|
||||||
.count()
|
.count()
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -860,6 +863,19 @@ mod tests {
|
|||||||
let (questions, aggregates) = site(FULL_DESK);
|
let (questions, aggregates) = site(FULL_DESK);
|
||||||
let findings = check(&needs(" max_fields: 1\n"), &questions, &aggregates);
|
let findings = check(&needs(" max_fields: 1\n"), &questions, &aggregates);
|
||||||
assert_eq!(fails(&findings), vec!["the path asks for 2 required field(s), over the budget of 1"]);
|
assert_eq!(fails(&findings), vec!["the path asks for 2 required field(s), over the budget of 1"]);
|
||||||
|
// A field that carries rather than asks is not effort: the
|
||||||
|
// record an answer is about arrives on the link.
|
||||||
|
let (mut questions, aggregates) = site(FULL_DESK);
|
||||||
|
let front = questions.get_mut("/").unwrap();
|
||||||
|
let brief = &mut front.alternatives[0].features[0].requirements;
|
||||||
|
let mut carrier = brief[0].clone();
|
||||||
|
carrier.name = "case".into();
|
||||||
|
carrier.kind = "record".into();
|
||||||
|
carrier.of = Some("projects".into());
|
||||||
|
carrier.optional = false;
|
||||||
|
brief.push(carrier);
|
||||||
|
let findings = check(&needs(" max_fields: 2\n"), &questions, &aggregates);
|
||||||
|
assert!(fails(&findings).is_empty(), "{findings:?}");
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
|||||||
Reference in New Issue
Block a user