Hmm, interesting timing. But thanks for expanding the tutorial,
excellent job.
Comparing what Philippe and I did at 24C3 with your results,
I have the following remarks:
- descriptions are cached, so descriptionDeadline needs a
default: [Date tomorrow] asDynamicObject;
- if you want to display the task in a lightbox, there is
an excellent opportunity to show a decoration:
WADecoration subclass: #StLightBoxDecoration
renderContentOn: html
html div
class: 'generic lightbox';
with: [ self renderOwnerOn: html ]
used with:
createNewTask
| component |
component := StTask new asComponent
addValidatedForm;
addMessage: 'Creating task';
addDecoration: StLightBoxDecoration new;
yourself.
(self lightbox: component) ifNotNilDo:[ :task |
self session db addTask: task toUser: self session user ]
and some slight css changes to handle the validation:
.shortMessageRed, .errors li {
background-color: #ffb0b0;
border: 1px solid #ee0000;
padding: 5px;
margin-bottom: 10px;
}
- converting StUser to be Magritte-based is not as simple.
Finding a place where to store the second password line
for validation is a slightly different problem from the
well-known multiple-field validation problem.
- you might want to remove the dependency on the cryptography
package and use SecureHashAlgorithm instead of MD-5.
And further: checkboxes are not supposed to have live action behaviour.
Stephan Eggermont