Thursday, November 10, 2016

I worked on #1227.

  • Optimization in Notification.emit_notification when working as another user: the authenticated user gets notified, and the other user gets not notified (until now it was the other way round).

  • lino_welfare.modlib.pcsw.coaching.Coaching had no get_notify_owner().

  • The default body text generated by a ChangeObservable now includes a list of the changes. For text fields Lino now uses difflib to print only the changed lines.

  • Quand on cliquait le bouton “Enregistrer” d’un ChangeObservable sans que ce soit nécessaire (car aucune modif), alors Lino faisait quand-même une notification de modification. Fixed.

  • ChangeWatcher is now in a module of its own.

  • There were nonlocal image URI found warnings in Atelier and Lino Noi, I told Sphinx to tolerate them by adding the following line to conf.py:

    suppress_warnings = ['image.nonlocal_uri']
    

I worked on #1249. How to reproduce:

  • get the latest development version (see below)
  • start runserver in lino_welfare.projects.chatelet
  • log in as robin
  • open the kitchen workshop, generate automatic events, then try to edit presences of the participants.

The problem came indirectly because the system for defining the reception and calendar worflows was still using an obsolete scheme.

Code changes:

  • The lino_welfare.chatelet.lib.courses.fixtures.demo fixture now creates a kitchen workshop with some events.
  • ChangeStateAction now automatically refuses to run on an instance whose state is already the target state.
  • I reorganized how the workflow for GuestStates is being defined. I converted Lino Welfare to use workflows_module.
  • The state change actions [Excused] [Absent] and [Present] are no longer available on presences of a events which did not yet take place.
  • CloseMeeting moved from lino_welfare.modlib.cal to lino_xl.modlib.reception.

In the evening I had a Hangouts meeting with Rauno, and together we added some content to Workshops in order to cover the situation of #1249.