224 Commits

Author SHA1 Message Date
Eric Schubert ab877b7c1d [#73440] fix review issues
- revert changes to OpenStruct
- make provider visible scope open for all
- removed locale keys of deleted permissions
2026-05-06 13:32:01 +02:00
Eric Schubert c3557734cd [#73440] fix permission checks
- move actions to correct controller name
- fix unit test
2026-05-04 14:52:52 +02:00
Eric Schubert 4531cb2cc0 [#73440] refactor wiki permissions
- https://community.openproject.org/work_packages/73440
- merge several wiki permissions into 4 resulting ones
- fix some smaller rubocop issues
2026-05-04 10:27:00 +02:00
Klaus Zanders 0eecb87a9d Load Wiki Pages properly through the Wiki 2026-02-12 16:24:59 +01:00
Oliver Günther 14192a74c3 Replace confirm with turbo-confirm, method with turbo-method 2025-09-26 09:15:04 +02:00
Alexander Brandon Coles f15be6e07f Freeze string literals in app/controllers
rubocop -A --only Style/FrozenStringLiteralComment,Layout/EmptyLineAfterMagicComment,Style/RedundantFreeze app/controllers
2025-07-18 17:51:00 +01:00
Henriette Darge ee8452282a [63485] Remove show_local_breadcrumb and default_breadcrumb (#18663)
* add a new helper for breadcrumb in wiki page

* set page header in destroy page

* set page header in edit page

* set page header in history and rename and edit parent pages

* change toolbar items into page header items

* add new wiki action to sub header

* remove version edit page which is not in use any more

* add export as a menu item of the header

* fix rubocup errors

* fix failing tests

* replace page header in annotate page

* replace page header in diff page

* add page header in select menu page

* fix rubocup errors

* fix errors on rename test

* fix errors on selecting items from toolbar

* fix errors on tests for child pages

* set correct permission for configure menu item

* replace page header in summary page

* replace page header in summary details page

* edit docs of sub header

* add page header in wiki new page

* remove controller and a route for edit method

* undo changes for docs of sub header

* extract header in show page into a new component

* use helper method in header component

* add wiki module to the breadcrumb

* rename page header component for wiki page

* simplify how lock and lock implemented

* extract sub header

* remove wiki title from header of history page

* fix page header in new page

* use page.find_test_selector in test

* fix failing test for summary page

* fix failing test for wiki child pages

* change the summary test

* use test selector for page header title

* undo changes for activate user in admin

* use test selector in adding editing history test

* use test selector in attachment upload test

* use test selector in child pages tests

* use test selector in wiki menu items tests

* change test selector for breadcrumbs

* extract conditions to show edit button into a method

* extract conditions to show rollback action menu item into a method

* extract conditions to show create button into a method

* fix duplicated code in test

* Remove outdated `show_local_breadcrumb` method which is replaced by the Primer::PageHeader breadcrumb

* Remove `default_breadcrumb` method as it serves no prupose any more

* Remove the old breadcrumb and its hook completely

* remove breadcrumbs path from rename

* fix translations errors in storages

* undo changes on translations

* remove default breadcrumbs in time tracking controller

---------

Co-authored-by: Behrokh Satarnejad <b.satarnejad@openproject.com>
Co-authored-by: Behrokh Satarnejad <62008897+bsatarnejad@users.noreply.github.com>
2025-04-23 10:40:43 +02:00
Behrokh Satarnejad ca19fbb55e [59915] Update PageHeaders & SubHeaders in the (rails) project pages (Part 2) (#18600)
* add a new helper for breadcrumb in wiki page

* set page header in destroy page

* set page header in edit page

* set page header in history and rename and edit parent pages

* change toolbar items into page header items

* add new wiki action to sub header

* remove version edit page which is not in use any more

* add export as a menu item of the header

* fix rubocup errors

* fix failing tests

* replace page header in annotate page

* replace page header in diff page

* add page header in select menu page

* fix rubocup errors

* fix errors on rename test

* fix errors on selecting items from toolbar

* fix errors on tests for child pages

* set correct permission for configure menu item

* replace page header in summary page

* replace page header in summary details page

* edit docs of sub header

* add page header in wiki new page

* remove controller and a route for edit method

* undo changes for docs of sub header

* extract header in show page into a new component

* use helper method in header component

* add wiki module to the breadcrumb

* rename page header component for wiki page

* simplify how lock and lock implemented

* extract sub header

* remove wiki title from header of history page

* fix page header in new page

* use page.find_test_selector in test

* fix failing test for summary page

* fix failing test for wiki child pages

* change the summary test

* use test selector for page header title

* undo changes for activate user in admin

* use test selector in adding editing history test

* use test selector in attachment upload test

* use test selector in child pages tests

* use test selector in wiki menu items tests

* change test selector for breadcrumbs

* extract conditions to show edit button into a method

* extract conditions to show rollback action menu item into a method

* extract conditions to show create button into a method

* fix duplicated code in test

* move show_create to the controller instead of the component

* fix showing history breadcrumbs

* fix showing table of contents breadcrumbs
2025-04-22 11:18:46 +02:00
Dombi Attila 10dc5538a2 [#63386] Use rescue_from ActiveRecord::RecordNotFound
https://community.openproject.org/work_packages/63386
2025-04-14 13:44:28 +03:00
Oliver Günther 5e48ad2927 Lint 2024-11-05 17:13:30 +01:00
Oliver Günther fa99c5bef6 Render with status: :unprocessable_entity 2024-10-11 08:42:58 +02:00
Christophe Bliard 5949159f05 Merge pull request #16152 from nsalguero/dev
[55263] Fix layout issues when diffing wiki pages
2024-09-02 15:06:56 +02:00
Christophe Bliard 046df33911 Add tests for html diff of markdown content
Used for wiki diffs
2024-08-12 16:40:09 +02:00
Ivan Kuchin 4911b8a149 remove years from copyrights (except for COPYRIGHT file) 2024-07-31 15:02:49 +02:00
Nicolas Salguero a41cddc403 [55263] Fix layout issues when diffing wiki pages
https://community.openproject.org/projects/openproject/work_packages/55263/activity

The nl2br() function is not needed and there are some incorrect generated HTML tags.
2024-07-16 10:07:55 +02:00
nsalguero 7c45fe7403 [55932] Diff between the two selected versions of a page of a wiki
https://community.openproject.org/projects/openproject/work_packages/55932/activity
2024-07-12 12:38:54 +02:00
ulferts 3b2121f733 Revert "Merge remote-tracking branch 'origin/release/13.4' into dev"
This reverts commit 40b2bbeb09, reversing
changes made to b4c6cb17cc.
2024-03-21 11:31:17 +01:00
Ivan Kuchin 7787e457a3 Revert "Merge branch 'dev' into release/13.4"
This reverts commit a901541269, reversing
changes made to e573ca00b7.
2024-03-20 20:19:08 +01:00
Ivan Kuchin 9e4934cd0a change quotes using rubocop --only Style/StringLiterals,Style/QuotedSymbols -a 2024-03-20 18:05:22 +01:00
Christophe Bliard 8fa8584538 Run rubocop --autocorrect on all files
Only the safe cops have run. rubocop version is 1.59.0.
2024-01-05 15:27:09 +01:00
Christophe Bliard c795874f7f Update copyright year for 2024
command used: `rg -l 'Copyright \(C\) 2012-202\d the OpenProject' | xargs -n 100 sed -i -r 's/Copyright \(C\) 2012-202. the OpenProject/Copyright (C) 2012-2024 the OpenProject/'`
2024-01-02 16:23:54 +01:00
Klaus Zanders de1851b2d8 Replace allowed_to calls in controllers except ApplicationController 2023-10-27 13:52:50 +02:00
ulferts 60ed64cd04 use error_messages_for method now 2023-10-24 12:06:36 +02:00
Christophe Bliard ed6e8755cb Fix untranslated strings 2023-09-04 14:28:05 +02:00
Oliver Günther 689cb79a19 Rewrite wiki menu partial into lazy loaded hotwire 2023-06-19 11:10:14 +02:00
ulferts 0a33ee80ad enable editing former versions of wiki page
This is done, so former versions can be rolled back to. The transformation of the view object to it`s wrapped model needs to be prevented.

Once that had been achieved more indirections via content were removable.
2023-05-03 09:54:26 +02:00
ulferts a328940c3a merge wiki_content into page 2023-04-05 10:05:20 +02:00
Christophe Bliard 9e865b4f7b lint: Run rubocop safe autocorrect
Command is `rubocop --safe --autocorrect app lib lib_static modules spec`
2023-03-09 10:25:57 +01:00
Christophe Bliard 21a696ef9b Update copyright information for 2023 2022-12-30 15:51:26 +01:00
Christophe Bliard 48a4f1b6ad lint with rubocop --autocorrect (safe cops only) 2022-06-02 10:40:10 +02:00
ulferts 80d22e98fa removes wiki#date_index which is not linked in the UI 2022-05-30 16:48:53 +02:00
Christophe Bliard a33524ef6d remove ruby magic comment for utf-8
ruby interprets source encoding as utf-8 since 2.0.0, making magic comment redundant and useless
2022-03-10 19:36:58 +01:00
Christophe Bliard bc8d423ec2 update copyright information for 2022 2022-03-01 17:05:59 +01:00
Oliver Günther 0a0c55850e [40790] Fix missing menu_item in wiki items controller
https://community.openproject.org/wp/40790
2022-01-25 09:06:25 +01:00
Oliver Günther 091b628f4f [40790] Deal with missing menu_identifier
https://community.openproject.org/wp/40790
2022-01-24 15:37:55 +01:00
ulferts 32a19b622e use current user for wiki content update
Before, the initial author was always used via #add_journal and with a virtual attribute that is already present as journal_notes
2021-10-25 22:11:27 +02:00
Oliver Günther ccfa29c728 Move license and copyright docs to root, fix names and references 2021-09-02 21:50:46 +02:00
Henriette Darge 303dd6bf9f Introduce mixin for global breadcrumb styles. Thus we can avoid the use of component styles in a global style sheet. Further the number of *breadcrumb.sass files was reduced from three to two (global and component) 2021-08-02 08:16:20 +02:00
Oliver Günther e9d7c374cc [37868] Whitelist for attachment mime types and extensions on upload (#9431)
* Add setting for whitelist

* Make attachments API BaseServices compatible

* Add prepare service and contract

* Correctly pass the filename to the UploadedFile

* Add presence check to filename

* Fix expected validation message

* We no longer raise a multipart error when metadata is empty

* Fix filesize validation on prepared uploads

* Add parser error if invalid metadata json

* When attachment is not saved, use filename property

* Return correct error message on JSON parser erroro

* Fix specs

* Use attachment upload representer

* Fix direct uploads mocks with new service layer

* Lint

* Fix export job using attachment service

* Fix IFC controller using attachment prepare service

* Fix export job

* RenameRename params_getter to params_source

* Fix mail handler using attachment service

* Fix usage of attachment create service in documents

* Reuse shared examples for document attachment spec

* Fix stubbed attachment service in export job spec

* Use admin user in backup spec

* Fix export job for bim

* Fix attachment integration spec

* Fix issues_controller spec

* Make budget resource spec reuse common examples

* Fix attachment parsing representer spec

* Replace prepare part of attachment spec into separate service spec

* Clear cache for login spec

* Convert document create/update into services

* Budget services

* Allow options to be passed to property twin

* Remove setting author on budget initialize

* Replace meetings update with services

* Replace ifc models attachment handling with services

* Don't check uploader if changed by system

* Fix uploader being changed by system

* Replace wiki page attach_files with attachable services

* Replace avatar  saving

* Replace snapshot attach_files

* Skip double validation when container present

* Set snapshot through attachment service

* Remove attach_files

* Validate content type in contract

* Enforce writing the content type without accepting user input

* Expect changed content_type

* Fix content of viewpoint image to get correct content type

* Fix tsv spec

* Add create contract spec

* Bypass whitelist in internal services when conflicting with user

* Fix expects in specs after whitelist bypass

* Render contract errors for wiki

* Add before_hook to bodied to allow to pre-authorize permissions

* Budget errors from contract

* Document errors from contract
2021-07-14 14:43:19 +02:00
ulferts 2a015eeac3 Feature/journal aggregation on write (#9396)
* aggregate journals on write - simple implementation

* remove references to aggregated journals on read

* rewrite existing journals to be aggregated

* remove aggregated journal reference

* only delete predecessor if it can be aggregated

* fix aggregation condition

* adapt specs

* remove aggregated journal functionality from production code

The code is still necessary in a migration for the time being

* adapt specs

* use polymorphic belongs_to for journal data

The association can then be employed for eager loading

* eager load for activity rendering
2021-06-17 20:08:58 +02:00
Oliver Günther 2896afe6c4 Assign project identifier in backend (#9196)
* Introduce localizable slug url

Stringex currently works only with english strings for wiki. But that default
is actually confusing.

Instead, add an explicit localizable helper that receives the locale and sets the
stringex backend locale temporarily

* Generate a default identifier in the backend

* Remove JS based identifier updating

* Remove identifier attribute

* Add button to change identifier

* Adapt tests to changed identifier

* Linting

* Fix invalid selector
2021-04-29 15:30:31 +02:00
ulferts 1bdd2ab9ae safe automatic fixes by rubocop (#8994) 2021-02-11 16:02:18 +01:00
ulferts 6140f4c7e9 update copyright to 2021 (#8925)
Updates the copyright to 2021 for all files that have a copyright. Files in our source code without the copyright header still do not receive one automatically. Additionally, backlisted files are also excluded.

Previously the copyright of chiliproject which references redmine stated a copyright of redmine up to and including 2017 which is not true for the code we have in here. Because of that I changed that to 2013
2021-01-13 17:47:45 +01:00
ulferts 6cce947cbd Chore/rename timestamps (#8765)
* rename timestamps on time entry

* add updated_at filter/order for time entries

* rename on cost entries as well

This will make handling in the cost query easier

* adapt specs

* linting

* adapt project activity

* update references to updated_on

* remove outdated docs/code

* global memberships are just memberships

* rewire global membership creation/update/deletion

* delete no longer required code and patches

* move code to core

* move specs to core

* completely remove global roles in the form of a plugin

* adapt specs

* remove unused methods

* migrate existing data

* adapt membership representer to changed timestamps

* global memberships available via API

* implements created/update_at filters on memberships

* update member on roles being added/removed

* specify default value for created_at

* fix project permission check and validation on members

* adapt membership schema

* adapt usage of sort by on members widget

* support created/updated_on for api sort and filter

* remove outdated model file

* rename timestamps

* allow specifying timestamp column for aaj

* reload column information

* further rename of created_on

* include updated_at into journal creation

* adapt document updated_at calculation

* remove references to JournalVersion
2020-12-03 12:00:19 +01:00
ulferts 5968c0b18a Fix/replace custom i18n function (#8681)
* replace custom i18n function calls

* remove custom i18n method
2020-09-16 11:26:15 +02:00
Oliver Günther 7015ce441f [33302] Redirect user to TOC if new wiki page is not editable
https://community.openproject.com/wp/33302
2020-07-13 15:01:06 +02:00
ulferts 64d0f57d85 Feature/aggregated activities (#8221)
* use cte for aggregated journal

* Revert "use cte for aggregated journal"

This reverts commit 5fedefefdd.

* add another subselect that could later on be provided from the outside

* allow passing a nukleous sql to aggregated journals

* wip - using aggregated journal for activity

* new sql for aggregated journals

* start implementing new aggregated query

* additional documentation

* consolidate activity functionality

* simplify by turing into instance methods

* move activity fetcher out of redmine

* remove verb verification made obsolete

Without catchall routes, the dispatching handles it

* remove duplicate authorize check

* refactor activities controller

* refactory activity fetcher

* cache avatar file

* sort choosable events

* remove legacy spec covered by contemporary

* speed up aggregated journals via CTE

* instance var might never have been set

* ensure the event_types are always transmitted

* correctly reset the avatar cache

* fix avatar fetcher expectation regarding wiki pages

* adapt spec

[ci skip]
2020-04-27 08:04:28 +02:00
Oliver Günther a6ef88fa41 Merge remote-tracking branch 'origin/release/10.4' into dev 2020-03-04 11:36:27 +01:00
ulferts 4dad6a4485 remove attachment unsuccessfully saved warning method
Attachments are now always uploaded up front, uncontainered, and after a successful upload and save of the intended container, assigned to the container.
2020-03-02 15:49:32 +01:00
ulferts cd049721d5 rename/move according to zeitwerk 2020-02-21 20:47:25 +01:00