* Fix GitHub/NoTitleAttribute, LinkHasHref errors
- Replaces `title` attribute with `aria-label` for interactive elements.
- Removes `title` from non-interactive elements.
- Converts `<a>` tags without proper `href` to `<button>` elements,
using Primer `Button`/`IconButton` where possible.
# Conflicts:
# app/views/custom_fields/_custom_options.html.erb
# spec/features/admin/custom_fields/shared_custom_field_expectations.rb
# spec/features/admin/custom_fields/work_packages/list_spec.rb
* Fix Autocomplete missing errors
* Fix GitHub/NoPositiveTabIndex errors
Removes all positive `tabindex` values.
* Fix Rails/LinkToBlank errors
* Replace toast with Primer Banner on LDAP form
* Add frozen_string_literal
* Ignore erb lint for deprecated files
* Fix linting errors in repository module
* Fix linting errors in budgets and custom actions
* Fix linting errors in member form and 2fa
* Fix linting errors in mcost types and wiki help and storages
* Fix linting errors in multi select filters, ifc viewer, and unsupported browser banner
* Fix failing spec
* Use Primer banner instead of op-toast where ever it is possible
* Use octicon instead of op_icon
* Fix failing tests
* Use no-decoration-on-hover for button links and change the button with only an icon to primer icon button
* Keep webhook response modal activation selector class-based
* use icon button for edit of hourly rate
---------
Co-authored-by: Behrokh Satarnejad <b.satarnejad@openproject.com>
This error is intended for cases when a method is
intentionally not implemented, because the module/class defining
it expects a subclass (or class including the module) to implement
the method.
This is intended to distinguish it from other cases, such as:
* feature not implemented yet
* edge case of a method call not yet supported
Notably it avoids the misuse of the Ruby-defined NotImplementedError,
which is only intended for much more specific scenarios:
> Raised when a feature is not implemented on the current platform. For example, methods depending on the fsync or fork system calls may raise this exception [...]
Also see https://docs.ruby-lang.org/en/master/NotImplementedError.html
Those self-tests are "basic" in the sense that they only validate
their compliance with our documented schema in one representation.
These test cases don't yet cover/validate whether the generated
representation also fulfills the schema under different circumstances,
for example when rendering for a user with fewer privileges, not allowed
to see certain fields.
Where necessary, the schema was changed to reflect the reality, e.g.
when those tests revealed that a "required" field might be missing due to
a lack of permissions.
In a few cases the implementation was adapted to allow for stricter guarantees
of the specified schema, for example links allowed to leave out the title key
already, so its not necessary to emit `title: nil` in cases where a title is
not known.
* add an input for the principal component to pass an alt text of avatar image
* Add avatar alt text in user menu for the user avatar
* Add alt text for assignee in wp single card
* add some description for the canvas
* add alt for images
* Show the summary of chart on it
* change the method parameters
* Hide the gantt chart from screen reader because it doesnt add any value for the screen reader user
* Use better name for inputs and improve the methods definitions
* fix eslint errors
* fix rubocup errors
* remove alt for bcf snapshot
* better structure for avatar in user menu
Previously, it was attached to the wrapper, which led to weird behavior.
With the new approach, it looks more natural while fitting the design
better.
Sneaked in some improvements such as using the hover card path helper.
* replace page header in profile, settings,sessions, password pages
* replace page header in user email reminder page
* replace page header in user access token page
* fix layout error on access token
* add page header component to two factor authentication page
* remove toolbar for email reminder
* use page header component in change avatar page
* unify menu entry and page header title for avatar page
* add page header for delete account pages
* add users and permissions to the breadcrumb of delete account from admin side
* create a separate component for page header in delete account page
* use page header component in n notifications settings and remove toolbar component in notification settings component and reminder settings component
* add page header component to 2fa new page
* add page header component to 2fa new pages and chnage the name of delete account page header component
* change user path in breadcrumb of delete account page
* remove show_toolbar of the component from reminders pages
* move page header to the top of the page in 2fa devices page
* remove the container element from access token page
* remove new type html and use action menu instead
* add description to menu item and change descriptions and titles
* Remove inline create button at the bottom of table
* fix failing specs
* fix failing spec
* fix rubocop error
* undo removing the page that is used for creating a new 2fa device in a state that is enforced by admin
* fix specs for selecting a device from action menu
* set the correct breadcrumb for add a new device
* undo changes for tests of forced registration
* undo changes for tests of new method when reverting deleted file
* add page header to the 2fa add new device page
* change html title in the 2fa add new device page
* change breadcrumbs in 2fa new device page
* use test selector helper in specs
* add page header to backup codes page
* shorten title an breadcrumb in backup code page
* remove closed tag
* add x-scroll when the content is overflew
* exchange the Provider and the Creator columns
* change the layout of file storage list page based on new design for different breakpoints
* remove unnecessary class
* add a new class to hide an element for tablet and mini laptops
* clean style sheet file from unnecessary rules
* add an input for setting classes to the name of principal component
* remove extra avatar component and use a class instead, to hide the name of avatar for mini laptop and tablet
* fix specs for avatar helper
* Update frontend/src/global_styles/layout/_base_mobile.sass
Co-authored-by: Henriette Darge <h.darge@openproject.com>
* make the class name optional and use two classes for hiding name of avatar for tablet and small screen laptop
* fix eslint errors
* fix spec failing
* use one class for hiding element in tablet and small laptop mode
---------
Co-authored-by: Henriette Darge <h.darge@openproject.com>
By default, https will be enabled in production in OpenProject 12.2. Right now, a separate flag exists called
rails_force_ssl that needs to be controlled separately, but the two settings are intermingled.
This PR fixes this so that:
HTTPS setting controls the secure cookies and generating links with
https throughout the application
HSTS setting is only active by default when HTTPS is enabled and
controls the HSTS headers as well as the HTTP->HTTPS request upgrade for
transport-security.