Projects: classes as entities, and the sidebar fits short windows
check / check (push) Canceled after 0s
check / check (push) Canceled after 0s
A project is a class with facts (description, status, kind, party, dates, links, notes) in one project.set event behind the format feature projects. Four tools (books.add_project, update_project, projects, project); documents and decisions link to projects; B-37: on-spec costs are expensed as incurred, repayment is revenue, and the unrecovered cost is never below zero (Kani). Viewer: a Projects list and a project page with its figures, by month and by account. The sidebar measures its footer instead of reserving a fixed 172 px. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01T3gXMVt7XJPi6ens1or9Dj
This commit is contained in:
71 files changed
+7446
-217
No files matched your search
@@ -136,6 +136,9 @@ fn the_viewer_never_writes_into_the_books() {
|
||||
.map(|a| a.id)
|
||||
.unwrap();
|
||||
let party = books.ledger.parties().next().map(|p| p.id).unwrap();
|
||||
// Every project's page too (visiting_project_pages_changes_nothing).
|
||||
let projects: Vec<u32> = books.ledger.list_classes().iter().map(|c| c.id).collect();
|
||||
assert!(!projects.is_empty(), "the demo has projects");
|
||||
drop(books);
|
||||
|
||||
// Follow live for a moment.
|
||||
@@ -178,12 +181,16 @@ fn the_viewer_never_writes_into_the_books() {
|
||||
Route::Asset(asset),
|
||||
Route::Parties,
|
||||
Route::Party(party),
|
||||
Route::Projects,
|
||||
Route::Document(doc),
|
||||
Route::JournalEvent(event),
|
||||
Route::Documents,
|
||||
Route::Company,
|
||||
Route::Journal,
|
||||
];
|
||||
let routes = routes
|
||||
.into_iter()
|
||||
.chain(projects.iter().map(|&c| Route::Project(c)));
|
||||
for route in routes {
|
||||
let books = data::load_once(&source).unwrap();
|
||||
let mut harness = Harness::builder()
|
||||
|
||||
Reference in new issue
Block a user