64 Commits

Author SHA1 Message Date
Jan Sandbrink f9d8bc6614 Introduce SubclassResponsibility error
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
2026-03-27 08:14:56 +01:00
ulferts 26c8747045 avoid loading user objects unnecessarily 2025-12-18 16:15:11 +01:00
Tobias Dillmann 9c422c2db4 [#68812] Clean up
Remove unneeded methods, smaller refactors
2025-11-14 16:25:57 +01:00
Tobias Dillmann 43eb3a51cf [#68812] Remove unneeded columns param 2025-11-14 16:25:56 +01:00
Tobias Dillmann 63b00e3e88 [#68812] Portfolio side menu and static portfolio queries 2025-11-14 16:25:55 +01:00
Kabiru Mwenja 517016256d Add document menu filters 2025-10-21 19:57:44 +03:00
Alexander Brandon Coles 2b144e8542 Fix wording: Change "Favored" to "Favorited"
Favorite is the correct term in the context of expressing a preference
for a particular project / other OpenProject domain object.

Updates `ActsAsFavorable` to `ActsAsFavoritable`, as well as filenames,
identifiers and strings to:

    favored => favorited
    favorable => favoritable
    favoring => favoriting
2025-09-10 19:08:15 +01:00
ulferts 2459ca9290 remove my specific links from project list sidebar 2025-07-31 16:19:47 +02:00
Alexander Brandon Coles 5615d4a9da Freeze string literals in app/menus
rubocop -A --only Style/FrozenStringLiteralComment,Layout/EmptyLineAfterMagicComment,Style/RedundantFreeze app/menus
2025-07-18 17:48:29 +01:00
Oliver Günther e27ac494d3 Consistent naming of upsell, not upsale 2025-04-24 15:52:34 +02:00
Kabiru Mwenja 0d109285b3 bug/60501 Place "Reminders" filter below "Date alerts" (#17559)
https://community.openproject.org/work_packages/60501
2025-01-09 11:02:09 +03:00
Kabiru Mwenja 3e5168c55b Update notifications filter reminder icon 2024-12-18 14:45:12 +03:00
Kabiru Mwenja 177fa19d40 Switch to clock icon for reminders menu
Match the icons for the "Set reminders" modal action and the reminders menu filter
2024-12-09 16:58:01 +03:00
Kabiru Mwenja 7b90cf3acb Add reminders filter to notifications sidemenu 2024-12-09 16:36:01 +03:00
Oliver Günther 25fc7cd02b Recurring meetings (#15620)
* Prepare basic recurring meeting setup

* Add proof of concept to create schedules

* Add feature flag

* Rework menu

* Pass request to meetings menu

This doesn't help, as the requested url is the turbo frame

* Add filter menu for recurring meetings

* Start primerized create form

* Add recurring meetings to dropdown and dialog

* Add schedule

* Add frequency/iterations form

* Add services

* Recurring meetings menu entry

* Fix setting project

* Template

* add bi-weekly

* Add template sideinfo

* Skip mails when adding participants

* exclude templated meetings

* Add header for templates

* Prevent deletion of meeting template

* Fix breadcrumb

* WIP Add show table and initialization

* Change icon for calendar

* remove unused template

* add template has_one

* meeting form

* Fix creation of recurring

* working edit

* specify end time

* Add header actions

* Add initial recurring meeting frequency label

* Add index page

* Add soft delete and restore for occurrences

* Refine implementation of scheduled meetings using skeletons

* Add template link

* Paginate

* Move init of meeting to recurring

* Add schedule in words

* Add show series action item

* Implement changed show page of occurrence

* Add interval, fewer frequencies

* Add interval to schedule

* Try to add non working days

* Update meetings index to display recurring occurrences correctly

* Update schedule in words

* Fix exception rule

* Fix occurrence for working days

* Hide interval when selecting working_days

* Document show-when-value-selected

* Set interval to 1 when changing to working_days

* Fix dialog

* Adapt to mobile table

* Update type filter

* Rename TypeFilter -> RecurringFilter

* Start date group

* Combined Filter component

* Updated menu

* Update label created by me

* Add validation on end_date > start_date

* Implement sorting through query

* Render all meeting series in the sidebar

* Select my meetings only when href passed

* WIP Add initial specs

* Fix date validation

* Use the correct date formatter in the subtitle

* Add spec for date validation

* Change label to View template

* Add edit series button

* Fix deletion of recurring meetings

* Correctly hide form for end_after options

* Update copy behaviour to never allow recurring copies

* Fix location value in form

* Fix meeting details form

* Add scheduled meetings table

* Replace destroy/restore with actual destroy

* Uniqueness

* Delete with schedule

* Switch to start_time

* Use start_time in schedule

Otherwise, we get time mismatches

* Add helper for time formatting to the current user

* fixup! Delete with schedule

* Move update_start_time to concern

* Delete cancelled meetings when changing schedule

* Allow passing dates directly

* Remove cancelled occurrences when changing schedules

* Limit count_rule until end_date

* Show changed start times for occurrences

* Indent case

* Fix destroy path to include project

* Fix past meetings

* Schedule first occurrence on creation

* Linting

* fixup! Linting

* Autoschedule job

* Add more schedule tests

* Fix project-based destroy

* Redirect to template, not show

* Don't cache user time zone in request store

* Fix forgotten invited where

* fixup! Linting

* Remove default meeting order

* Fix meetings index spec with new ordering

* Fix path

* Convert meeting tab to cuprite

* Fix expectation for meeting tab

* More robust selector on meeting tab

* Change global menu spec

* Add more CRUD specs

* Fix dates and times

* Allow cancellation of scheduled meetings

* Lint

* Reschedule init job when updating schedule

* Fix end date in the form

* Test cancellation

* Extract create spec

* Fix specs

* Add spec when lacking permissions

* Fix cancellation of scheduled meetings

* Render meetings with correct project link

* Remove unused disable

* Remove useless cop disable

* Add contract specs

* Add delete contract spec

* Revert "Add delete contract spec"

This reverts commit 27a517d773.

* Add delete contract spec for meetings itself

* Fix spec

* Hide past cancelled occurrences

* Show different delete labels and messages

* Move to request spec

---------

Co-authored-by: Mir Bhatia <m.bhatia@openproject.com>
2024-12-04 17:12:14 +01:00
Henriette Darge 1d5a34ab8f Reveal sidemenu structure in the breadcrumb of the notification center 2024-10-21 13:24:11 +02:00
Henriette Darge 7185ef607c Show left hand selection in the PageHeader for Meetings 2024-10-14 14:56:37 +02:00
Oliver Günther 1d5fb28aa4 Move the selected menu item into submenu component 2024-10-10 16:52:56 +02:00
OpenProject Actions CI 787a2498f1 Merge branch 'release/14.6' into dev 2024-10-10 03:37:47 +00:00
Oliver Günther 7a8577d9ee Merge branch 'release/14.6' into fix/set-path-without-referer 2024-10-09 12:08:06 +02:00
Oliver Günther fc0eab291e Render work packages menu without using request.referer 2024-10-09 10:59:21 +02:00
Markus Kahl 12ae58e4b3 handle missing referer 2024-10-09 09:20:48 +01:00
ulferts 69f6194151 turn factory project independent - move ProjectQuery services and contracts 2024-09-27 09:25:01 +02:00
Henriette Darge 662856b5af Convert to string to correctly check with the url params 2024-08-12 14:16:00 +02:00
Ivan Kuchin 4911b8a149 remove years from copyrights (except for COPYRIGHT file) 2024-07-31 15:02:49 +02:00
Dombi Attila 5b70252987 Merge branch 'dev' into merge-release/14.3-20240719033548 2024-07-19 12:59:01 +02:00
Oliver Günther b82e53c884 Sort by title but downcase 2024-07-18 09:11:21 +02:00
Henriette Darge 180484ef18 Sort options of Submenu alphabetically, except for default queries 2024-07-18 09:11:21 +02:00
Klaus Zanders 60723b3ce4 Merge remote-tracking branch 'origin/release/14.3' into merge-release-14.3 2024-07-17 09:43:03 +02:00
Klaus Zanders 24a1fb4386 Rnemae my private lists -> my lists 2024-07-16 09:20:03 +02:00
Klaus Zanders 08c6d3eab2 Update menu.rb 2024-07-15 16:04:42 +02:00
Klaus Zanders 3840b78913 Merge branch 'dev' into merge-release/14.3-20240715135912 2024-07-15 16:03:25 +02:00
Klaus Zanders bbe8bb8b09 Correctly put public queries in shared list 2024-07-15 15:36:47 +02:00
Klaus Zanders 182bbeb4bd Remove public section and add them to shared 2024-07-15 15:06:06 +02:00
Henriette Darge 7ad59945f1 Skip param check for EE token as it is not written in the URL and will thus always cause selected? to return false 2024-07-15 13:25:35 +02:00
Henriette Darge 3056387501 Use Octicons in submenu 2024-07-11 15:29:49 +02:00
Henriette Darge 2a0577b815 Show EE upsale icons in EE queries of the submenu 2024-07-11 15:29:49 +02:00
Henriette Darge d3fc67a4c5 Indicate project hierarchy in the notification sidebar && fix some minor translation issues 2024-07-11 15:29:49 +02:00
Henriette Darge c9caa58e7a Show total amount of notifications next to "inbox" and fix date alert filter 2024-07-11 15:29:49 +02:00
Henriette Darge b118b10101 Adapt tests to new rails based submenu of notification center 2024-07-11 15:29:49 +02:00
Henriette Darge 13a6a7729b Extend base Submenu class to deal with count and icons 2024-07-11 15:29:49 +02:00
Henriette Darge 7e1b883220 Change route definition for the notifications menu and the center itself so that the center path remains unchanged in comparision to before. Otherwise, we'd have to replace all occurences of the path 2024-07-11 15:29:49 +02:00
Henriette Darge d7fe552ece Adapt structure of notifications sidemenu to the same we have in other modules 2024-07-11 15:29:49 +02:00
Henriette Darge c5fe2d5e1a Merge pull request #15982 from opf/implementation/53233-replace-sidemenu-of-work-package-page-with-rails-component
Implementation/53233 replace sidemenu of work package page with rails component
2024-07-05 09:08:51 +02:00
Henriette Darge 414101c3a0 Do not highlight the "all open" query when simply navigating through the menu 2024-07-05 08:36:06 +02:00
Klaus Zanders dee81710c4 Merge branch 'release/14.3' into implementation/55163-build-sharing-modal 2024-07-04 08:30:08 +02:00
Aaron Contreras 5fd3b5a04c Split multi-check conditionals in project/menu.rb 2024-07-03 14:43:59 -05:00
Ivan Kuchin 048906a001 memoize instead of just assigning instance variables 2024-07-03 17:28:56 +02:00
Ivan Kuchin 06cae51575 use left outer join instead of separately fetching favorites
Co-authored-by: Klaus Zanders <k.zanders@openproject.com>
2024-07-03 17:28:53 +02:00
Ivan Kuchin ad3bd9925e use partition instead of sort_by.with_index to reorder favored to the top 2024-07-03 17:28:13 +02:00