Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
00449916a3 | ||
|
|
41db6093e5 | ||
|
|
572dfc200c | ||
|
|
955a33609a | ||
|
|
9b96111916 | ||
|
|
f2fc5097f7 | ||
|
|
f2ca00b309 |
@@ -3,6 +3,34 @@
|
||||
One line per change, grouped by the release that shipped it. Newest
|
||||
first. Each release names the portal tag it is built against.
|
||||
|
||||
## 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
|
||||
|
||||
- Matches portal v0.5.2 (released by portal's publish job).
|
||||
|
||||
## 0.5.1 (2026-09-28) - portal v0.5.1
|
||||
|
||||
- Matches portal v0.5.1 (released by portal's publish job).
|
||||
|
||||
Generated
+3
-3
@@ -2287,7 +2287,7 @@ checksum = "791930b43c0d5973160d90a8f3894509f2b273430f5c5c73b668636d0287c5c0"
|
||||
|
||||
[[package]]
|
||||
name = "iris"
|
||||
version = "0.5.1"
|
||||
version = "0.5.7"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"async-nats",
|
||||
@@ -3406,8 +3406,8 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "portal"
|
||||
version = "0.5.1"
|
||||
source = "git+https://project.uhhm.no/uhhm/portal.git?tag=v0.5.1#6ee655140079f77b8960b6e859bbee253d776a79"
|
||||
version = "0.5.7"
|
||||
source = "git+https://project.uhhm.no/uhhm/portal.git?tag=v0.5.7#cc26a232ec3ce8e84a4f89a73609f6d7fb74b9d7"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"arc-swap",
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "iris"
|
||||
version = "0.5.1"
|
||||
version = "0.5.7"
|
||||
edition = "2021"
|
||||
description = "The iris over a portal site: nothing from a content repo comes through until it checks out"
|
||||
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 way the running site does. Pinned to the portal release it
|
||||
# matches; bumping this tag is what a new iris release is.
|
||||
portal = { git = "https://project.uhhm.no/uhhm/portal.git", tag = "v0.5.1", features = ["ssr"] }
|
||||
portal = { git = "https://project.uhhm.no/uhhm/portal.git", tag = "v0.5.7", features = ["ssr"] }
|
||||
anyhow = "1"
|
||||
serde = { version = "1", features = ["derive"] }
|
||||
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 {
|
||||
alt.features
|
||||
.iter()
|
||||
.flat_map(|f| &f.requirements)
|
||||
.filter(|r| !r.optional)
|
||||
.filter(|r| !r.optional && r.kind != "record" && r.kind != "hidden")
|
||||
.count()
|
||||
}
|
||||
|
||||
@@ -860,6 +863,19 @@ mod tests {
|
||||
let (questions, aggregates) = site(FULL_DESK);
|
||||
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"]);
|
||||
// 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]
|
||||
|
||||
Reference in New Issue
Block a user