Project updated status and diff in management panel
Currently, project status changes happen as follows:
if project was once approved, is only awaiting client confirmation or was already in the updated status, put the status to updated.
otherwise, set the status to pending
This can distinguish once_approved projects in a secondary way (possibly inferior?).
However, other code assumes that any project which was changed since someone looked at it (i.e. any project that is not in the pending state) will get the updated state. For example the functionality in the management panel which allows a user to view a diff of changes to the project.
Currently this is quite messy and at least the diff behavior should be fixed. However, it is likely that there are more locations which need checking/adjusting. The main questions:
- Does the "updated" status imply that a proposal was once approved, or is this correctly done using the once_approved (approved_at) logic?
- Does it make sense to have "updated" be a status still?
- For the diff, we would like to select the last version that was looked at by the coordinator as the version to compare against, regardless of the amount of in between versions the user has made.