265 Commits

Author SHA1 Message Date
Christophe Bliard 0f1ca52e29 Keep vendor directory for plugins compatibility 2025-12-23 14:03:58 +01:00
Ivan Kuchin be633df940 update openapi-explorer to 2.4.784 including it through packages 2025-12-19 21:32:18 +01:00
Oliver Günther e08203c8c4 Remove pandoc and option to migrate from textile 2023-07-31 19:22:16 +02:00
Markus Kahl 4b1b0d7711 [feature] use openapi explorer for /api/docs
- added styling to use op theming
- remove swagger ui from dev stack
2023-06-09 13:24:13 +02:00
Benjamin Bädorf c2d7001941 Move icon font to DS, add button icon styles 2022-03-01 17:45:08 +01:00
Behrokh Satarnejad 97233137b9 [40038] Make team planner only accessible with EE token (#10021)
* check if the user has a correct ee token activated

* add team planner token and set the engine and routes of upsale

* Update team_planner_controller.rb

* before running the test we should check that we have a token

* check if there is an EE token, then start test

* change common upsale template

* improve the styles and add image to the template for each feature

* change custom actions and 2fa upsale template

* add image of team planner to its template and medal icon

* make placeholder user, 2fa and team planner upsale templates identical

* Make placeholder users upsale template the same as other upsale templates

* check if there is an ee token, then start testing

* check there is an enterprise token for team planner and start testing
2022-01-26 13:08:10 +01:00
Benjamin Bädorf 8f54d68124 Add icons 2021-09-22 17:48:20 +02:00
ulferts 1cca351d31 add separate menu for reminder mails 2021-09-03 14:22:39 +02:00
Henriette Darge f944aea00b Add icons "mark read" and "mark all as read" 2021-08-17 12:04:26 +02:00
Oliver Günther 9636a08988 [26688] In-app notifications (#9399)
* Add bell icon to icon font

* Add in app notification in top menu

* Add fullscreen modal

* Add notification modal and items

* Style items

* Toggle details of item

* Mark all read

* Add no results box

* wip specification for event api

* Add events table, query and index

* Send out events from WP notification mailer job

There we have the recipients present

* Add cleanup job for older events with a setting

* Hide bell notification when not logged

* Add specs for events API index/show

* Fix setting yml key

* remove pry in event creation

* Fix before hook in events API to after_validation

* Fix polymorphic association raising exception for aggregated journals

* Fix typo in read_ian

* Fix yml entry for mentioned

* Add read/unread post actions to event API and add specs

* Wire up API to frontend

* Fix order on events

* Switch to unread in notification

* Add event query

* rename WPEventService

* route wp mail sending over events

* rename spec methods

* author becomes watcher

* correct message call signature

* rename events to notifications

* renname parameter to reflect notification nature

* create author watcher for existing work packages

* Merge unreadCount from store

* Take a stab at polymorphic representers

* Fix link generation in polymorphic resources

For journals, no title is being generated however

* Fix frontend model for context

* Use timer for polling

* add notification_setting data layer

* Fix show resource spec

* Fix duplicate class in notification bell item

* Add minimal feature spec for notification

* API for notification settings

* Persist notifications

* adapt work package notification creation to notification settings

* extract notified_on_all

* consolidate wp#recipients

* concentrate wp notification in journal service

* simplify methods

* Remove unused patch endpoint

* Add specs for rendering and parsing notification settings

* Contract spec

* Update service spec

* adapt specs

* Angular notifications frontend

commit e29dced64699eb5f2443b9307c78343c9a58d1ee
Author: Wieland Lindenthal <w.lindenthal@forkmerge.com>
Date:   Mon Jun 21 17:34:50 2021 +0200

    Create Akita store and query for notification settings

commit 1a45c26c1a0c147d15393e49d2625aca4851a64d
Author: Wieland Lindenthal <w.lindenthal@forkmerge.com>
Date:   Mon Jun 21 11:09:25 2021 +0200

    Remove tabs from notificaition settings page

commit 0ea21e90c13a197f8bf2cfba1b60ddcff4e5e827
Author: Oliver Günther <mail@oliverguenther.de>
Date:   Sun Jun 20 21:55:48 2021 +0200

    WIP in app settings

* migrate notification data

* add project visible filter to project query

* Add inline-create and table display grouped by project

* Add notifications under admin/users

* Remove notifications partial

* Rename notififcations store to user preferences store

* Add setting for self_notified and hook that up to the backend

* Add aria-label to table checkboxes

* Restyle table and toolbar

* replace remains of mail_notifications attribute

* initialize notification settings for new user

* adapt my_preferences references

* reenable no self notified for documents

* adapt specs

* Avoid has_many :notifcation_settings

Rails magically autosaves the user's preferences when the user gets saved,
which somehow also tries to save the notfifications even when unchanged.

This breaks some specs such as the avatar upload spec. As we can't update the assocation
through rails anyway, just delegate to the user for reading instead.

* Restore update method of notification settings

* Restore update spec

* fix spec syntax

* lint scss

* linting

* Fix content_tag for bell icon

* Add feature specs for notification settings

* Disable ContentTag cop

* use visible filter to get projects for notification

The visible filter will reduce the project list down to the set of projects visible to the user provided as a parameter. This includes public projects.

* test for actual mail sending

* adapt me resource path

this.apiV3Service.users.me changed its type in 0d6c0b6bc7

* Implement changed migration

* Linting

* Add actor to notification representer

* Fix factory creating a duplicate WP journal

* Add work packages loading and journal details to notification entry component

* IAN basic facets, keep and expanded states.

* Fix notification bell spec

* Render body separately and add auto updating relative time

* Add fixedTime title

* Add actor to notification entry

* Fix clicking links on work package and project

* Tiny styling changes on entry row

* Disable count in notification if larger than 99 (wont fit)

* Introduce virtual scrolling to entry table

* allow delaying & prevent mail sending if ain read

Introduces a setting to delay mail sending after a journal aggregation time has expired. That way, users can confirm a notification in app. If they do before the delay expires, no mail is sent out additionally for that user.

* consolidate notifications (in&out) into shared admin menu

Co-authored-by: ulferts <jens.ulferts@googlemail.com>
Co-authored-by: Wieland Lindenthal <w.lindenthal@forkmerge.com>
2021-06-24 14:03:29 +02:00
Philipp Tessenow a46de71009 [#36204] Add new GitHub plugin tab enabling users to copy git actions (#9027)
* Let GitHub integration show changes in a separate tab

* added new github integration icons to icon font
* add tab content:  working tab-header and copy-menu

* modernise github_integrations ruby code

* refactored some code to be more modern ruby (if wrote most of it 7
  years ago and couldn't look at some parts without squinting too much)
* make some intended-to-be-private module methods actually private
* fixed all rubocop errors in the /modules/github_integration
* re-organized tests a little
* gave our rubocop.yml some RSpec-related defaults -- happy to discuss
  these, but I think we can live with these as a good starting point

👆 all without actually (intentionally) changing the behaviour

* removed dead angular template code

* codeclimate found more things than rubocop :)

* removed create-pr-button since we decided against implementing that feature

* added missing translations

* properly cache the github related part of the wp api

* lower case pull requests in translations

* fix specs
2021-04-07 09:34:56 +02:00
Oliver Günther 0c53a8219b Add view-split-viewer-table icon
[ci skip]
2020-07-10 11:29:48 +02:00
Oliver Günther 4baeb30636 Include fonts only in ifc viewer where needed
By importing the openproject_icon_font_* in the helpers, we bloat the CSS
definitions everytime we load the helpers from components.

For now we only add it to ifc viewer where we have to load the mixins.
Ideally, the mixins and classes would be separate
2020-07-01 14:32:29 +02:00
Oliver Günther 144332eb7d Ensure the icon font is loaded only once globally
If we do not ensure this, components will double load the font,
resulting in 404 font requests and breaking travis
2020-06-30 14:51:08 +02:00
Oliver Günther 09648e74f4 Fix xeokit keyboard inputs and show icon when viewer has focus 2020-04-16 15:44:07 +02:00
Henriette Dinger 113344ab17 Adapt homescreen block to use same texts as the admin page and change the structure of the block 2020-04-08 14:40:25 +02:00
Henriette Dinger 23babdae65 Add new icons for bimView toggle button 2020-03-16 09:54:03 +01:00
Henriette Dinger b135996d35 Add icons to the BIM view toggler 2020-03-10 15:37:57 +01:00
Henriette Dinger d0dbfb30ab Add icon for viewer toolbar 2019-12-09 15:41:28 +01:00
Wieland Lindenthal fb600d389c Adding a OpenProject module for IFC models
Add to last commit
2019-12-03 10:37:52 +01:00
Oliver Günther 31fd78ca4f Minify IFC logo
[ci skip]
2019-10-30 15:01:36 +01:00
Oliver Günther 0ca9f4d742 Fix output destination paths of font
[ci skip]
2019-10-30 15:00:10 +01:00
Oliver Günther 0fa910733e Move icon font out of app/assets
This avoids rebuilding them on every `assets:precompile`

https://community.openproject.com/wp/31447
2019-10-18 09:56:13 +02:00
Oliver Günther 8b5f2bae9f [28349] Download recent version of pandoc if needed (#6563)
[ci skip]
2018-08-27 07:40:58 +02:00
Jonas Heinrich 6237dfac29 Removes unused bitstream plugin 2015-09-24 10:18:07 +02:00
Alex Coles 7aa1a541d2 Remove empty vendor/assets directory
Signed-off-by: Alex Coles <alex@alexbcoles.com>
2015-06-06 15:30:20 +02:00
Alex Coles 683f23b6bf Move moment-timezone data under frontend/vendor
Signed-off-by: Alex Coles <alex@alexbcoles.com>
2014-11-26 18:38:02 +01:00
Hagen Schink 32ebaa25d2 Adapt tz data to new layout 2014-07-22 09:48:12 +02:00
Hagen Schink e635439b8e Add timezone data 2014-05-26 09:56:46 +02:00
Martin Czuchra c1bfd5202a Open-sources timelines.
This represents the timelines plugin that was merged with the
OpenProject core and which had its history squashed. The timelines
plugin development was sponsored by;
Deutsche Telekom AG <opensource@telekom.de>

Requirements engineering and management were provided by;
Deutsche Telekom AG <opensource@telekom.de>
Finn GmbH <info@finn.de>

During the timelines development, the following authors have contributed
commits;
Martin Czuchra <m.czuchra@finn.de>
Nils Kenneweg <n.kenneweg@finn.de>
Romano Licker <r.licker@finn.de>
Gregor Schmidt <g.schmidt@finn.de>
Jens Ulferts <j.ulferts@finn.de>
Johannes Wollert <j.wollert@finn.de>

Quality Assurance was provided by;
Erdem Kabadayi <e.kabadayi@telekom.de>
Julia Pape <j.pape@finn.de>
Christian Rijke <c.rijke@finn.de>
Thomas Vogel <th.vogel@external.telekom.de>
2013-06-07 13:42:54 +02:00
Philipp Tessenow 5d442e2ecc move journal_object_cache to its right place 2013-02-26 15:04:20 +01:00
Philipp Tessenow 5363c28e75 Merge commit '1e84433' into feature/rails3
Conflicts:
	app/helpers/journals_helper.rb
	app/views/mailer/issue_edit.text.html.rhtml
	app/views/mailer/issue_edit.text.plain.rhtml
2013-02-26 13:31:22 +01:00
Philipp Tessenow 140e53ca53 remove empty old-style plugin directory 2013-02-12 18:03:40 +01:00
Philipp Tessenow effb8e0909 Merge commit '57e7d73' into feature/rails3_merge
Conflicts:
	app/assets/images/chosen/chosen-sprite.png
	app/assets/javascripts/application.js
	app/assets/javascripts/chosen.js
	app/assets/stylesheets/chosen.css
	app/helpers/application_helper.rb
	app/views/layouts/base.html.erb
	config/routes.rb
2013-02-12 17:11:09 +01:00
Jens Ulferts e3be06f320 allows journal formatters to receive options and uses it to be able to
pass an object cache

For now it is only used by the NamedAssociation Formatter. The formatter
requires to read a lot of model objects.
2013-02-11 09:14:36 +01:00
Jens Ulferts 892799d780 adds a very simple cache to cache arbitrary model objects
yields a block with object_klass and object_id to be able to cope
with not finding an object.
2013-02-08 16:50:01 +01:00
Jens Ulferts db265d3123 adds a journaled_class method
That way we do not have to load the class or do some magic parsing names when wanting to now what is journaled.
2013-02-08 16:45:37 +01:00
Jens Ulferts 747196f9b1 removes outdated comment 2013-02-08 16:44:31 +01:00
Martin Czuchra 57e7d73973 Merge pull request #8 from finnlabs/feature/select2-project-jump-box
Replace Project Jump Box with select2 based version
2013-01-23 02:48:54 -08:00
Jens Ulferts 8bfc52ad29 whitespace fixes 2013-01-18 08:54:16 +01:00
Jens Ulferts dfec8a9375 reuses journal formatters 2013-01-04 11:03:06 +01:00
Jens Ulferts 4b54ba3ae3 keeps the old api for registering journal formatters intact
The provided proc is dynamically assigned to an anonymous class which inherits from JournalFormatter::Proc. This class, a subclass of JournalFormatter::Attribute, is instantiated along with the other formatters once a field registered on the formatter needs to be formatted. The proc is then called within the value formatting.
2013-01-04 11:03:06 +01:00
Jens Ulferts 705200ec33 matches journaled field against regexp to be able to cope with dynamic field names
Some plugin, e.g. acts_as_attachable and acts_as_customizable, dynamically add associations to a model following a schema, e.g attachments_[n], where n is increased over time.
2013-01-04 11:03:05 +01:00
Jens Ulferts f8942922a8 moves journal formatting into multiple classes
To better allow for customization, formatting journal entries is moved
to separate classes. One can register for each field of a journaled
object the same way like before (e.g. register_on_journal_formatter
(:plaintext, 'subject')). The difference is purely inside the
JournalFormatter. It determines the formatter required for the given
field and class, instantiates it and calls the render method on the
instance.

JournalFormatter::Base subclasses are provided to handle the most common
types of formatting (e.g. plaintext and decimal).

The OpenProject formatters are removed altogether from
acts_as_journalized and are moved into the OpenProject /lib directory.

The helper_issues_show_detail_after_setting hook is removed. It should
no longer be needed.
2013-01-04 11:03:05 +01:00
Jens Ulferts eade1d29a8 indentation 2013-01-04 11:03:04 +01:00
Jens Ulferts 8fd1417e63 displays only the fact that an issue description has been changed and a link
* displaying the first 80 characters reveals no information as the description is normally way longer than that
2013-01-04 11:03:04 +01:00
Eric Davis 225ae21b0b Truncate and show a link to the full journal diff in the issue history 2013-01-04 11:03:04 +01:00
Gregor Schmidt c94c0789bb Async loading of project list in project jump box
* Adding special URL endpoint to get all visible projects at once (w/o paging -
  as in /projects/index.json)
* Adding openProject JS object to carry useful information and helper methods
  for JS land
* Adding helper method to User to get the number of visible projects w/o loading
  all of them
* Reducing dependency to DOM structure of select2 - using API access instead
* Close menu when select2 list is closed
2012-12-18 12:38:40 +01:00
Martin Linkhorst ee9941e912 DEPRECATION FIX: moved plugins to lib folder as suggested by the deprecation warning 2012-10-18 15:29:54 +02:00
Martin Linkhorst cba3439189 DEPRECATION_FIX: use self.table_name = :name instead of set_table_name :name 2012-10-18 15:29:53 +02:00