Wednesday, July 29, 2015¶
Today I finally continued to edit the
for immersion contracts. They really want to edit this file manually
using the .rtf format.
Before actually starting to work, I triaged my own tickets after yesterday’s optimizations. An activity which is currently deemed to mix up with more optimizations to Lino Noi.
Changed some column layouts
The checkboxes standby and feedback are no longer used.
Cannot add column with master_key¶
Above optimizations also caused a optimization to the framework
itself: Users (until today) were not able to manually add, in the grid
of a slave table, the column of the master key. Even when the
For example when I have the following table definition:
class TicketsByProject(Tickets): master_key = 'project' column_names = "overview product reporter state *"
then it was not possible to manually add the column “Project”.
That was because the
master_key was not automatically added as
About Linux user permissions¶
Yet another subtle problem: when I change the umask in Apache’s
/etc/apache2/envvars configuration file from the default
0002, then any new files generated by Lino will be
group writable. This is my preferred configuration because I can then
avoid permission conflicts by defining myself as member of the
www-data group (and make sure to run
chmod g+w on every file I
create). Permission conflics are possible for
generated printable files
local config files (when exposed via webdav)
All this seems clear and understandable. But for AppyPdfBuildMethod
it gets more complicated, and I did not yet fully understand.
Currently the files get created with owner
root and no write
permission for group.
It has probably to do with the fact that Lino (or more precisely
appy.shared.utils) here runs a subprocess for converting the
.odt file to .pdf:
childStdIn, childStdOut, childStdErr = os.popen3(cmd)
Editing the template¶
action had a subtle bug: For printables with more than one template
group, when creating a local copy of the factory template, it copied
the factory file to the directory given by the last group. But it
must select the directory given by the first group.
For example when printing an excerpts.Excerpt, we have two template groups: the first is given by the owner (e.g. “immersion/Contract”) and the second is just “excerpts”.
Added a test case to Miscellaneous.
“This will discard all changes in the generated file”¶
And yet another bug fixed (in
The confirmation message
This will discard all changes in
the generated file. (
Ceci va écraser toute modification
manuelle dans le document généré. D'accord ?) came even when the
generated file was a .pdf file which certainly does not contain user
changes. This was because we must remove the microseconds from the
datetime returned by
Django’s DateTimeField ignores them.
Three fields (template, overlap_group and full_name) were missing in
the detail_layout of
Getting Lino to pass on Travis CI¶
The current error message is
Exception: Oops, cannot use
lino.projects.polly.settings.Site because it is used for
So I changed the script instruction in Lino’s
file so that it now deletes the LINO_CACHE_ROOT directory for each
export LINO_CACHE_ROOT=$TRAVIS_BUILD_DIR/lino_cache rm -R $LINO_CACHE_ROOT mkdir $LINO_CACHE_ROOT fab initdb test
Which didn’t help.