feat: add work assignment doctype with member hour tracking (LAN-885)#294
feat: add work assignment doctype with member hour tracking (LAN-885)#294MarcCon wants to merge 41 commits intoversion-15-hotfixfrom
Conversation
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
There was a problem hiding this comment.
Good start!
I think in the requirements I read that each Organization should be able to specify a number of working hours per year and we need to track the members´ actual working hours against that. And, ideally, also allow carrying over excess working hours to the next year.
Let's also add the Work Assignment to the connections in the LANDA Member form.
My idea would be to add a DocType "Organization Work Hours" with a child table to show members of the organization with their hours from the Work Assignment DocType and validate them against the target hours. |
|
See my alternative proposal in LAN-885 |
There was a problem hiding this comment.
Ich habe in "Work Ledger Balance" die Spaltenbreiten angepasst und die Logik so angepasst, dass Work Ledger Entries ohne Work Assignment in der "Expected"-Spalte landen, und solche mit Work Assignment in der "Hours Worked"-Spalte (statt unter/über Null). Dadurch wird eine Verringerung der Expected Hours via Organization nicht mehr als geleistete Arbeit angezeigt.
Weitere nötige Arbeiten:
-
Work Assignment:
- Connections mit Link auf Work Ledger Entry hinzufügen
- DocType ist submittable, aber niemand hat Submit-Rechte (auch Cancel, Amend, usw)
-
Bericht "Arbeitsstunden"
- Für Zeilen ohne Work Assignment sollten wir eine hilfreiche Beschreibung ausgeben, z.B. "Anpassung der erwarteten Arbeitszeit".
- Spalte "Gesamtstunden" umbenennen zu "Stundensaldo"
-
Berichte zu Workspace "Vereinsverwaltung" hinzufügen
-
Als normaler Nutzer (Rolle "Mitgliederverwaltung Verein") durchtesten
-
TypeError beheben:
File "/home/runner/frappe-bench/apps/landa/landa/organization_management/doctype/organization/organization.py", line 105, in on_update create_expected_hours_adjustment_entries(self.name, old - new) ~~~~^~~~~ TypeError: unsupported operand type(s) for -: 'float' and 'NoneType'
@barredterra Was ist der Sinn dahinter, es muss doch submitted werden können um die Work Ledger Entrys zu erstellen? |
|
@MarcCon exactly, die Rechte haben gefehlt, sodass niemand buchen kann. Das müsste noch gefixt werden. |
|
Ah habs falsch verstanden, alles klar. |
|
Die offenen Issues sind erledigt, ich teste es noch als normaler Nutzer durch. Edit: In beiden Reports kann ich in den Filtern auch nur den eigenen Verein auswählen und ansehen. |
There was a problem hiding this comment.
- this is missing links to new Work Assignment and existing Work Assingnment list
- the links to reports don't work (need to enable
is_query_report)
There was a problem hiding this comment.
Should date and organization be fetched from Work Assignment as well? Seems odd if the user can edit these in the ledger entry.
There was a problem hiding this comment.
Let's enable show_title_field_in_link, so the user doesn't see a cryptic ID in Work Ledger Entry.
| @@ -0,0 +1,43 @@ | |||
| { | |||
| "add_total_row": 0, | |||
There was a problem hiding this comment.
Let's show the total row here
| }, | ||
| { | ||
| "group": "Vereinsverwaltung", | ||
| "link_doctype": "Work Ledger Entry", | ||
| "link_fieldname": "organization" | ||
| } |
There was a problem hiding this comment.
Work Assignment would make more sense here, in the connections. We have fewer of these and the user is more likely to interact with them. Work Ledger Entry rows must be evaluated to make sense, and that's done via reports.
This PR enables tracking of work hours for members through work assignments.
Features:
Open Questions:
Do we need a hourly account for a member? It is not necessary for the report.