Batch manager: add "Multi-fields edition" action to edit several fields at once #2244

Closed
opened 2026-10-27 11:35:02 +01:00 by adam · 0 comments
Owner

Summary

Adds a new Multi-fields edition action to the Batch Manager (global mode). It lets an administrator edit several properties of the selected photos in a single operation, instead of applying one action at a time.

Today each field (title, author, description, albums, tags) requires choosing an action, applying it, then starting over for the next one. When tagging or organizing many photos, this is slow and repetitive. A single panel with one toggle per field makes bulk edits much faster.

Mockup

Image

Behavior

A new entry Multi-fields edition appears in the action list. It displays one row per field, each with an on/off toggle. Only enabled rows are applied; disabled rows are never touched.

Field Modes
Title Replace / Empty
Author Replace / Empty
Linked albums Associate / Dissociate
Tags Add / Replace / Remove / Empty
Description Replace / Empty

Details:

  • Turning a toggle off resets its row (text, selected albums/tags, mode), so no stale value is shown when re-enabling it.
  • In Empty mode, the input field is hidden.
  • In Remove mode for tags, the selector only offers the tags already associated with the photos (same list as the existing "remove tags" action) and tag creation is disabled. In Add / Replace, the full tag list is offered and new tags can be created.
  • The operation is logged through pwg_activity with the enabled fields and the mode used for each.

Changes

Template (batch_manager_global.tpl)

  • New multi_fields option and #action_multi_fields block (toggle rows, mode radios, field inputs, album picker).
  • New styles (flex layout, custom radio buttons, Selectize tag pills).
  • associated_tags exposed to JS for the Remove mode.

JavaScript (batchManagerGlobal.js)

  • Show/hide and reset logic per row (refresh(), resetRow()).
  • switchTagsList(mode) swaps the Selectize options between all tags and associated tags.
  • Album picker for the multi-fields block.

PHP (batch_manager_global.php)

  • New multi_fields branch handling title / author / description (mass_updates), albums (associate / dissociate), and tags (add / replace / remove / empty).
  • Input validation with check_input_parameter
## Summary Adds a new **Multi-fields edition** action to the Batch Manager (global mode). It lets an administrator edit several properties of the selected photos in a single operation, instead of applying one action at a time. Today each field (title, author, description, albums, tags) requires choosing an action, applying it, then starting over for the next one. When tagging or organizing many photos, this is slow and repetitive. A single panel with one toggle per field makes bulk edits much faster. ## Mockup <img width="639" height="283" alt="Image" src="https://github.com/user-attachments/assets/cc3654f2-5218-47d7-b6b9-676b99ef99aa" /> ## Behavior A new entry **Multi-fields edition** appears in the action list. It displays one row per field, each with an on/off toggle. Only enabled rows are applied; disabled rows are never touched. | Field | Modes | |---|---| | Title | Replace / Empty | | Author | Replace / Empty | | Linked albums | Associate / Dissociate | | Tags | Add / Replace / Remove / Empty | | Description | Replace / Empty | Details: - Turning a toggle off resets its row (text, selected albums/tags, mode), so no stale value is shown when re-enabling it. - In **Empty** mode, the input field is hidden. - In **Remove** mode for tags, the selector only offers the tags already associated with the photos (same list as the existing "remove tags" action) and tag creation is disabled. In Add / Replace, the full tag list is offered and new tags can be created. - The operation is logged through `pwg_activity` with the enabled fields and the mode used for each. ## Changes **Template (`batch_manager_global.tpl`)** - New `multi_fields` option and `#action_multi_fields` block (toggle rows, mode radios, field inputs, album picker). - New styles (flex layout, custom radio buttons, Selectize tag pills). - `associated_tags` exposed to JS for the Remove mode. **JavaScript (`batchManagerGlobal.js`)** - Show/hide and reset logic per row (`refresh()`, `resetRow()`). - `switchTagsList(mode)` swaps the Selectize options between all tags and associated tags. - Album picker for the multi-fields block. **PHP (`batch_manager_global.php`)** - New `multi_fields` branch handling title / author / description (`mass_updates`), albums (associate / dissociate), and tags (add / replace / remove / empty). - Input validation with `check_input_parameter` <!-- github-sync-id:5995610267 -->
adam closed this issue 2026-10-27 11:35:02 +01:00
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: adam/Piwigo#2244