- https://community.openproject.org/work_packages/69144
- added controller action
- used path helper to target that controller action on form submit
- rename attributes to match other setting names
- added controller action permission
The former depended 100% on the latter anyways and there
was no clear separation of concerns between the two. For
example ComponentStream had methods to close a dialog.
Thus it made sense to merge the two.
This allows us to combine the methods offered by the
component stream with a dialog. E.g. it's possible to
render a dialog, while at the same time updating a component
on the page using the same response.
Since there can/should only be one dialog opened usually,
I decided to keep the respond_with_dialog as the only way to
generate a dialog this way, because it enforces that there can
only be one dialog per response. Alternatively we could have added
a dialog-specific method to ComponentStream, theoretically allowing
multiple dialogs per response.
A consequence of this change is that using OpTurbo::DialogStreamHelper
now also requires OpTurbo::ComponentStream, though usually both were used
at the same time anyways.
* Updates `StatusButtonComponent` to use `turbo-method: :delete` for
"Not set" menu item.
* Adds `Projects::StatusController#destroy` action, routes and
accompanying permissions.
* Introduces `Projects::StatusButtonComponent` and its Lookbook Preview.
* Defines colours, icons as (Ruby) constants nested under
`Project::Statuses` (c.f. `Meetings::Statuses`).
* Adds `Projects::StatusController` with `#update` action, routes and
accompanying permissions.
Updates the form visuals and functionality according to new wireframes:
the form on the Project Settings > Information page has been split into
multiple discrete forms.
In detail:
* Introduces `Projects::Settings::General::ShowComponent`.
* Creates Primer forms with basic specs.
* Adds `Projects::Settings::GeneralController#update` action, routes and
accompanying permissions.
* Updates "Edit Settings" feature specs for new forms, also rewriting
some expectations that were reliant on `data-qa-name` attribute that
Primer form components do not render by default.