Maurice
89c33ac3f4
feat(assistant): an attached file can be kept in Files, on its own or with a booking or an expense
...
The chips offered to keep an attached file in Files, but nothing could do it:
the assistant's upload_trip_file stays denied, and the file never reached
Files. A new server write, keep_attached_file, is offered to the model where
the thread holds an attachment and held as a change card naming the file and
the booking, expense or place it goes with.
Applied, it runs the checks of a Files upload with the user's rights (the
demo block, the trip, file_upload and file_edit for a link, the instance's
file types, every linked id on the same trip), copies the bytes to a trip
file of their own, and writes the trip file, its expense link and the
attachment's pointer to it in one transaction; the members' planners get
file:created after it. A second keep of the same attachment answers the file
kept the first time. FilesService gains storeBytes and discardBytes so the
storage write stays out of that transaction.
The receipt opens the Files tab; the card's verb, its "Attached to" row and
the receipt's open label are new keys in all 27 locales. Undo is not offered:
no tool takes a trip file back yet.
2026-10-24 22:32:48 +02:00
..
2026-10-23 22:16:22 +02:00
2026-10-10 21:23:37 +02:00
2026-10-24 22:32:48 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 20:16:13 +02:00
2026-10-14 13:24:27 +02:00
2026-10-22 22:43:48 +00:00
2026-10-10 21:23:37 +02:00
2026-10-18 13:21:52 +02:00
2026-10-10 21:23:37 +02:00
2026-10-12 12:32:24 +02:00
2026-10-24 20:58:49 +02:00
2026-10-22 21:34:15 +00:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-22 22:29:35 +02:00
2026-10-22 21:30:39 +00:00
2026-10-23 01:45:16 +00:00
2026-10-23 21:01:00 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-22 21:30:39 +00:00
2026-10-22 21:30:39 +00:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-22 21:30:38 +00:00
2026-10-22 21:30:39 +00:00
2026-10-22 22:29:35 +02:00
2026-10-22 21:30:26 +00:00
2026-10-10 21:23:37 +02:00
2026-10-20 21:13:48 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 23:37:19 +02:00
2026-10-20 21:56:06 +02:00
2026-10-22 21:30:12 +00:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 23:37:19 +02:00
2026-10-20 15:28:22 +02:00
2026-10-20 16:30:55 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-22 21:31:23 +00:00
2026-10-22 21:31:23 +00:00
2026-10-08 18:46:52 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-12 17:06:52 +02:00
2026-10-10 21:23:37 +02:00
2026-10-12 19:56:44 +00:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-22 21:34:15 +00:00
2026-10-22 21:30:39 +00:00
2026-10-24 08:29:51 +02:00
2026-10-12 14:28:06 +02:00
2026-10-18 20:02:09 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-12 12:32:24 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-21 13:16:43 +02:00
2026-10-22 21:30:39 +00:00
2026-10-22 21:30:39 +00:00
2026-10-22 21:51:44 +00:00
2026-10-20 15:32:47 +02:00
2026-10-20 21:15:45 +02:00
2026-10-20 15:32:47 +02:00
2026-10-20 17:51:27 +02:00
2026-10-22 21:31:23 +00:00
2026-10-22 21:31:23 +00:00
2026-10-22 21:34:14 +00:00
2026-10-12 21:13:57 +00:00
2026-10-12 21:13:57 +00:00
2026-10-22 21:34:15 +00:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-22 21:30:39 +00:00
2026-10-22 21:31:23 +00:00
2026-10-21 17:53:39 +02:00
2026-10-10 21:23:37 +02:00
2026-10-21 20:00:07 +02:00
2026-10-21 21:16:36 +02:00
2026-10-10 21:23:37 +02:00
2026-10-22 21:31:23 +00:00
2026-10-22 21:30:38 +00:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-22 21:30:39 +00:00
2026-10-10 21:23:37 +02:00
2026-10-10 22:53:59 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 22:53:59 +02:00
2026-10-12 13:15:17 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-22 21:30:12 +00:00
2026-10-10 20:16:06 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-22 21:30:12 +00:00
2026-10-10 21:23:37 +02:00
2026-10-14 20:21:37 +02:00
2026-10-19 21:33:40 +02:00
2026-10-19 22:03:54 +02:00
2026-10-22 21:30:39 +00:00
2026-10-24 22:32:48 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-22 21:34:15 +00:00
2026-10-10 21:23:37 +02:00
2026-10-24 02:18:08 +00:00
2026-10-23 17:13:08 +02:00
2026-10-24 02:18:07 +00:00
2026-10-22 21:30:38 +00:00
2026-10-22 21:34:14 +00:00
2026-10-23 21:59:43 +02:00
2026-10-24 02:18:08 +00:00
2026-10-20 15:11:08 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-22 21:34:15 +00:00
2026-10-24 01:14:03 +00:00
2026-10-24 04:05:59 +00:00
2026-10-24 01:14:03 +00:00
2026-10-22 21:34:15 +00:00
2026-10-24 20:13:41 +02:00
2026-10-22 21:34:15 +00:00
2026-10-23 22:08:13 +00:00
2026-10-21 16:31:40 +02:00
2026-10-21 16:31:40 +02:00
2026-10-21 16:49:47 +02:00
2026-10-22 21:31:23 +00:00
2026-10-10 20:16:10 +02:00
2026-10-18 13:21:53 +02:00
2026-10-10 20:16:04 +02:00
2026-10-21 18:15:24 +02:00
2026-10-21 18:15:24 +02:00
2026-10-21 19:08:25 +02:00
2026-10-22 21:31:23 +00:00
2026-10-21 17:39:33 +02:00
2026-10-21 17:39:33 +02:00
2026-10-21 17:53:39 +02:00
2026-10-21 20:00:07 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-22 21:30:39 +00:00
2026-10-22 21:34:14 +00:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-21 11:58:39 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-12 20:53:08 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-12 20:53:08 +02:00
2026-10-10 20:16:04 +02:00
2026-10-10 21:23:37 +02:00
2026-10-21 12:05:38 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-12 20:53:08 +02:00
2026-10-12 21:13:58 +00:00
2026-10-21 13:53:24 +02:00
2026-10-10 20:16:04 +02:00
2026-10-12 21:13:58 +00:00
2026-10-21 11:35:03 +02:00
2026-10-20 07:09:56 +00:00
2026-10-12 20:53:08 +02:00
2026-10-21 13:53:24 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-18 15:59:33 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-20 15:35:32 +02:00
2026-10-10 21:23:37 +02:00
2026-10-22 21:30:39 +00:00
2026-10-10 21:23:37 +02:00
2026-10-20 15:35:32 +02:00
2026-10-22 21:30:12 +00:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-22 21:30:12 +00:00
2026-10-12 17:06:58 +02:00
2026-10-24 18:28:41 +02:00
2026-10-10 22:53:59 +02:00
2026-10-10 21:23:37 +02:00
2026-10-12 17:06:52 +02:00
2026-10-21 11:58:39 +02:00
2026-10-19 22:03:54 +02:00
2026-10-21 11:35:03 +02:00
2026-10-22 21:51:44 +00:00
2026-10-22 21:51:44 +00:00
2026-10-22 22:29:35 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-22 21:34:15 +00:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-20 10:37:29 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 20:16:10 +02:00
2026-10-10 21:23:37 +02:00
2026-10-22 21:30:12 +00:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-22 21:30:39 +00:00
2026-10-12 21:13:57 +00:00
2026-10-22 22:29:35 +02:00
2026-10-22 22:29:35 +02:00
2026-10-10 21:23:37 +02:00
2026-10-12 16:05:17 +02:00
2026-10-22 21:34:15 +00:00
2026-10-10 21:23:37 +02:00
2026-10-23 21:59:43 +02:00
2026-10-10 21:23:37 +02:00
2026-10-22 21:30:39 +00:00
2026-10-22 21:30:39 +00:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-22 21:30:39 +00:00
2026-10-12 21:13:57 +00:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-12 21:13:57 +00:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-23 21:01:13 +02:00
2026-10-10 21:23:37 +02:00
2026-10-22 21:30:12 +00:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-22 21:34:14 +00:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-22 21:30:39 +00:00
2026-10-22 21:30:39 +00:00
2026-10-10 21:23:37 +02:00
2026-10-20 15:22:55 +02:00
2026-10-20 15:22:55 +02:00
2026-10-20 16:30:55 +02:00
2026-10-20 15:22:55 +02:00
2026-10-23 21:01:13 +02:00
2026-10-20 15:23:55 +02:00
2026-10-20 17:00:27 +02:00
2026-10-20 16:30:55 +02:00
2026-10-20 17:00:27 +02:00
2026-10-23 21:59:02 +02:00
2026-10-20 15:14:30 +02:00
2026-10-23 21:59:02 +02:00
2026-10-20 15:14:01 +02:00
2026-10-21 21:16:36 +02:00
2026-10-20 18:19:00 +02:00
2026-10-20 15:14:29 +02:00
2026-10-21 21:16:36 +02:00
2026-10-22 22:29:35 +02:00
2026-10-22 22:29:35 +02:00
2026-10-23 21:59:02 +02:00
2026-10-23 22:00:05 +02:00
2026-10-20 18:40:48 +02:00
2026-10-20 16:30:55 +02:00
2026-10-20 15:11:08 +02:00
2026-10-20 21:12:09 +02:00
2026-10-20 10:37:29 +02:00
2026-10-20 15:35:08 +02:00
2026-10-20 16:30:55 +02:00
2026-10-23 19:13:51 +02:00
2026-10-20 21:15:45 +02:00
2026-10-23 21:58:43 +02:00
2026-10-24 13:54:48 +02:00
2026-10-19 10:22:04 +02:00
2026-10-20 15:06:01 +02:00
2026-10-23 21:59:02 +02:00
2026-10-23 22:00:05 +02:00
2026-10-24 02:18:08 +00:00
2026-10-23 22:00:05 +02:00
2026-10-23 21:59:02 +02:00
2026-10-20 21:12:09 +02:00
2026-10-20 07:09:56 +00:00
2026-10-21 13:53:21 +02:00
2026-10-20 07:09:57 +00:00
2026-10-20 07:09:57 +00:00
2026-10-20 07:09:57 +00:00
2026-10-23 21:59:43 +02:00
2026-10-20 15:30:18 +02:00
2026-10-20 15:30:18 +02:00
2026-10-20 16:30:55 +02:00
2026-10-23 18:21:54 +02:00
2026-10-17 02:07:22 +00:00
2026-10-17 02:31:01 +00:00
2026-10-20 17:51:27 +02:00
2026-10-16 23:14:52 +02:00
2026-10-20 21:43:47 +02:00
2026-10-20 18:19:00 +02:00
2026-10-20 07:09:57 +00:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-20 21:12:09 +02:00
2026-10-20 21:56:06 +02:00
2026-10-20 21:15:21 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-22 21:51:44 +00:00
2026-10-24 08:58:56 +02:00
2026-10-18 20:02:09 +02:00
2026-10-22 21:30:39 +00:00
2026-10-10 21:23:37 +02:00
2026-10-18 20:02:09 +02:00
2026-10-10 20:16:06 +02:00
2026-10-22 21:30:39 +00:00
2026-10-12 21:13:57 +00:00
2026-10-20 15:35:08 +02:00
2026-10-20 07:09:56 +00:00
2026-10-12 21:13:57 +00:00
2026-10-24 08:29:51 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-12 17:06:52 +02:00
2026-10-12 14:12:36 +02:00
2026-10-22 21:31:23 +00:00
2026-10-24 17:31:47 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-20 15:35:32 +02:00
2026-10-20 15:35:32 +02:00
2026-10-20 15:35:32 +02:00
2026-10-20 16:30:55 +02:00
2026-10-15 20:15:17 +02:00
2026-10-20 15:35:32 +02:00
2026-10-16 23:44:58 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00
2026-10-10 21:23:37 +02:00