20120710¶
dumpdata and UserProfiles¶
Because Django’s dumpdata command doesn’t call lino.Lino.startup()
, it says:
Traceback (most recent call last):
File "manage.py", line 19, in <module>
execute_manager(settings)
File "/var/snapshots/django/django/core/management/__init__.py", line 442, in execute_manager
utility.execute()
File "/var/snapshots/django/django/core/management/__init__.py", line 379, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/var/snapshots/django/django/core/management/base.py", line 191, in run_from_argv
self.execute(*args, **options.__dict__)
File "/var/snapshots/django/django/core/management/base.py", line 220, in execute
output = self.handle(*args, **options)
File "/var/snapshots/django/django/core/management/commands/dumpdata.py", line 110, in handle
objects.extend(model._default_manager.using(using).all())
File "/var/snapshots/django/django/db/models/query.py", line 84, in __len__
self._result_cache.extend(self._iter)
File "/var/snapshots/django/django/db/models/query.py", line 286, in iterator
obj = model(*row[index_start:aggregate_start])
File "/var/snapshots/django/django/db/models/base.py", line 300, in __init__
setattr(self, field.attname, val)
File "/var/snapshots/django/django/db/models/fields/subclassing.py", line 34, in __set__
obj.__dict__[self.field.name] = self.field.to_python(value)
File "/usr/local/django/test_dsbe/using/lino/lino/utils/choicelists.py", line 450, in to_python
return self.choicelist.to_python(value)
File "/usr/local/django/test_dsbe/using/lino/lino/utils/choicelists.py", line 316, in to_python
raise Exception("Unresolved value %r for %s" % (value,cls))
Exception: Unresolved value u'200' for <class 'lino.core.perms.UserProfiles'>
That’s why Lino now includes an override of that
command: lino.management.commands.dumpdata
.
Database change in lino_xl.lib.cal
¶
This is to be considered an experiment:
removed cal.EventType (functionally replaced by cal.Calendar)
Calender is no longer UserAuthored
Calendar Events and Tasks no longer need to have a ‘calender’
Kalender¶
Eine prinzipielle Entscheidung ist für mich gefallen: die experimentelle Änderung von dieser Nacht bleibt. Es gibt nicht einen Kalender pro Benutzer, sondern einen pro Terminart. Denn auch in der Demo von Ext.ensible benutzen sie die verschiedenen Kalender zum Differenzieren von Terminarten (nicht von Benutzern): http://ext.ensible.com/deploy/dev/examples/calendar/TestApp/test-app.html
Das Verwalten von Gruppenterminen fängt jetzt an:
CalendarPanel hat jetzt einen Button “Team View”, der zwischen “Meine Termine” und “Team-Ansicht” umschaltet.
Kalenderliste wird momentan für alle Benutzer die gleiche genommen. Braucht man nicht zu abonnieren. Dafür muss man sein “Team” definieren: eine Liste aller anderen Benutzer, deren Termine man in der Team-Ansicht sehen möchte.
Die Workflow-Buttons für Gäste eines Termins funktionierten noch nicht.
Neue Tabellen:
MyInvitations (Meine Einladungen) : alle Einladungen, die ich erhalten habe. Das sind alle Einträge, wo ich als Gast eines Termins vorkomme.
MyPendingInvitations (Meine offenen Einladungen) : idem, aber diesmal nur die Einladungen die im Status “zu bestätigen” sind. Hier sollte man normalerweise auf “Bestätigen” klicken, damit der Verantwortliche des Termins
MySentInvitations
MyPendingSentInvitations
Miscellaneous¶
Setting a column filter on a ForeignKey field didn’t work on all models. Now it uses exactly like the quick search field of a table on that model would work Using
lino.core.modeltools.Model.quick_search_fields
of the foreign model. Works fine. It’s now also possible to search for a primary key.Offene Kursabfragen war nur für Manager sichtbar.