I have been asked if I can make a kind of 'task management' system for a local football (soccer) club (it is not a 'commercial club', basically the parents are doing the work, also the 'coaching').
Basically, they have teams they shall be able to send in a 'request for material' or 'something that has to be fixed' (see screenshot). Filling out the request does not require user to be logged in .
After the request has been made, there will be a workflow.
I am thinking about
Making an EasyForm that adds content of type 'MaterialRequest' or similar and having a mail rule that sends message to admin which then assigns the task to someone. When the task has been completed ( in the case of the screenshot, when the footballs are ready to be collected in the 'club house'), we change the workflow state to 'finished' and an email is sent to the 'requester' ('Your material is ready to be picked up')
Everybody should be able to see the 'open requests' (so if a team has 2 coaches, the other coach / parents etc can see 'what is the state of the request).
Any thoughts or/and advice about doing this in Plone?
You could try Products.Poi, which is the issue tracker that was used on plone.org itself many years ago. I have maintained it for years, but am not maintaining or using it anymore. It was updated to Plone 5.0 and 5.1 by some people from Six Feet Up, including moving to Dexterity. Two years ago they were working on moving it to Plone 5.2, but I do not see progress.
So you cobble things together with a simple TTW content type and some content rules? I never use the content rules, but that should work yes, and require less programming.
Hmm. not sure if it works with Python 3, because I get startswith first arg must be bytes or a tuple of bytes, not str. If I remember right, that comes from some change 2.7 to 3
I used this pattern for an autogenerated title. If you rely on the title to be indexed, ensure that you re-index your content when the data for you generated title changes.
If you want the title to be addable when you create the object use permissions and only allow it for the add form.
Can't you can use the workflow state to make the field editable only by manager on a particular state? Defining something always readonly or autogenerated sometimes gives you too much limitations.
Maybe that could work, if I set a default value, or maybe do the same and set it to hidden (?)
UPDATE: This would technically work perfectly OK, but I find the UI to use it to be very 'unfriendly'.
To tell users that they need to click on the 'advanced tab', and then write something like 'string:something' will not work.
It is a pitty that the default value can not be set from the 'Edit field' default tab…
If I (could) save the UID of the EasyForm, I could use that to generate (or show) the title so that could be an option.
This can easily be done by modifying collective.easyformplugin.createdx , but I would prefer a solution that could keep as many add-ons as possible 'unmodified'.
Maybe it would be OK to always save a reference to the form that created the (Dexterity) Content (object) @agitator@jensens ?
UPDATE: In fact, it might be useful if there was a way to somehow map 'several fields to one', for example: