Even if it hasn't, the file gets imported anyway
(into the `files` table) but we exit early to avoid
an error when trying to determine shooting direction.
This check is not necessary for final P1/11 or gun data.
Fixes#104.
A ‘Set colour…’ option is available from the context menu;
it presents a dialogue allowing the user to choose a colour
that will be assigned to that preplot line and used as the
background colour for the corresponding row on the table
(may also be used for other things).
Because there is a good chance that the user may decide to
colour a large number of lines and it is cumbersome to do
it one at a time, a multiple selection option has also been
added. The context menu then shows options which will apply
to all selected rows. At this time only the change colour
option is available, but it can be extended easily.
A hopefully sensible default is applied, but if the
user changes it, the last selected value is saved
in the browsers localStorage.
Preferences are saved per user, project and table. And
per browser, of course, as those are only saved locally.
Closes#41.
If a test passes for all items, show the (single) check mark
and colour it green.
Leaf nodes always have their check mark in the default colour.
Related to #90.
A button in the help dialogue takes the user to the
/feed/… frontend URL, where the latest development
activity is shown, taken from the GitLab RSS feed
for the project.
The next sequence to shoot is normally retrieved from the
database via getSequence(), but it returns false if no
sequences have been shot yet.
In that case we use a default value of `1` to build the
name of the planned line.
Fixes#81Fixes#82
The `sequences` object now carries the attribute
`has_smsrc_data`, a boolean which is true iff
there is at least one `smsrc` record in the raw
shots metadata.
This is used by:
1. A new sequence-wise test which reports if gun
data is missing for the entire sequence.
2. The individual `missing_gun_data` test which
is inhibited if `has_smsrc_data` for the
corresponding sequence is false.
Closes#93.
We now check that a file is at least a few seconds old
before attempting to import it.
The actual minimum age can be configured in etc/config.yaml or
else is defaults to 10 seconds.
The idea is that this should give the OS enough time to fully
write the file before we import it.
The timestamp being looked at is the modification time.
Fixes#92.
When a client makes a request for `/` (the root of
the API), the OpenAPI description is served in an
appropriate format according to the `Accept` request
header, as follows:
Accept: text/html => HTML version
Accept: application/json => JSON version
Accept: * => YAML version
When running `npm install`, a self-contained HTML document
with the contents of the OpenAPI specification is saved as
openapi.html in the same directory as openapi.yaml.
By default, change just the number of the sequence
being edited. It is checked for conflict with other
planned sequences but not with anything already acquired.
If the user ticks the ‘shift all’ checkbox, then all
planned sequences are shifted by the same amount.
If there are other lines in the planner, we increment the
highest numbered sequence in the planner by one.
If there are no planned lines, we take the highest numbered
raw sequence and increment by one.