Thursday, December 1, 2016

Voting

I wrote a new plugin lino_noi.lib.votes which is going to replace lino_xl.lib.stars (#831). And it is also going to implement what Johannes and I called “ticket help offers” (#1285) on last Friday.

The first description of this idea was:

A new plugin “votes” : users can manage their “wish lists”. A wish is when a given user has an opinion about a given ticket (a personal priority and an optional remark). There is at most 1 wish per user and ticket. This is similar to the existing stars plugin. But unlike a star it is not a simple on/off toggle. And then I wouldn’t use a GFK but a simple FK to an app-specific model (the Plugin.voted_model). Also a new field voting_weight per user - this would enable us to automatically compute the priorities of a todo list!

Code changes:

  • New package lino_noi.lib.votes
  • Moved the rating field from Ticket to Vote.
  • Adapted some dependencies and test suites in Lino Presto.
  • Wrote a migrator which converts existing stars.Star objects into votes.Vote objects.
  • Started using new date-based versioning system: 2016.12.0

TODO:

  • Voters should be notification recipients.

Miscellaneous

  • Fixed a bug causing an error message after creating Enrolment
  • Fixed a bug in new dashboard caused by StatusReport not having preview_limit
  • The initdb command now works on InnoDB tables (sets foreign_key_checks to 0 before running migrate and loaddata).

Fixed the duplicate entry bug

I reproduced (in lino_voga.projects.roger.tests.test_faggio) and fixed a bug which was probably the main reason for #1280: when the first automatic event of a series had been manually rescheduled to another date, then the second lesson came on that date a well (instead of getting the next available date).

Deployed Lino Voga 2016.12.0 to Die Eiche.

In order to reproduce it, I also tried to run their data on my machine. Which revealed #1293:

django.db.utils.OperationalError: (1193, "Unknown system variable 'storage_engine'")

Setting up a new VPS

#1294 (AH01630: client denied by server configuration) :

This message in the Apache error.log came because I had copied an Apache 2.2 config file to an Apache 2.4 system. With Apache 2.4 the conf files need upgrading. See [url http://httpd.apache.org/docs/2.4/upgrading.html#run-time].