20130829 (Thursday, 29 August 2013)

Appointments and prompt events

Worked on the calendar and reception modules. Integrative work for several user requests: Some Lino Welfare users don’t want to see prompt events (“visits”) in their MyEvents table of the welcome screen. Some other’s won’t even use the reception module and don’t want to know what a prompt event is. How to remove in Renamed “Lino Faggio” to “Lino Voga” the useless EntryStates.scheduled?

  • In Events.parameters replaced the “unclear” checkbox by an observed_event combobox which classifies calendar events in either “pending” (i.e. in a state which is not fixed) or “okay” (i.e. in a state which is fixed). But afterwards I removed the MyUnclearEvents table because no user has ever asked for this.

  • Added new filter parameters calendar and show_appointments.

  • Moved the definition of EntryStates.scheduled to lino.modlib.cal.workflows.welfare.

  • While we’re there I removed the EntryStates.rescheduled state. Because I think that this is not needed for Lino Welfare. When an appointment has to be rescheduled they either set it to cancelled and create a new one, or they even reset it and modify the original record.

How to represent “visits” (or better “prompt events”)? They are calendar events whose guest(s) must be received like the guest(s) of any appointment.

Until now I used a special EventState “visit” which was neither pending nor okay. I thought that this is okay because visits are created on the fly and do not participate in the standard calendar workflow. But then the scales fell from my eyes and I understood that they must “just” have their own calendar. And then a new BooleanField Calendar.is_appointment which is False for this calendar, meaning that this calendar’s events are “no real appointments”, iow concretely: that they are not displayed in MyEvents by default.

Renamed EntryStates.scheduled to EntryStates.published. And I believe that for Renamed “Lino Faggio” to “Lino Voga” we will then change our mind and want this state. Also renamed CourseStates.scheduled to CourseStates.published.

Lots of other little optimizations.