OpenProject is the leading open source project management software.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
openproject/app/models/queries/work_packages.rb

87 lines
4.0 KiB

#-- encoding: UTF-8
#-- copyright
# OpenProject is an open source project management software.
# Copyright (C) 2012-2020 the OpenProject GmbH
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License version 3.
#
# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
# Copyright (C) 2006-2017 Jean-Philippe Lang
# Copyright (C) 2010-2013 the ChiliProject Team
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
# See docs/COPYRIGHT.rdoc for more details.
#++
module Queries::WorkPackages
filters_module = Queries::WorkPackages::Filter
register = Queries::Register
register.filter Query, filters_module::AssignedToFilter
register.filter Query, filters_module::AssigneeOrGroupFilter
register.filter Query, filters_module::AttachmentContentFilter
register.filter Query, filters_module::AttachmentFileNameFilter
register.filter Query, filters_module::AuthorFilter
register.filter Query, filters_module::CategoryFilter
register.filter Query, filters_module::CreatedAtFilter
register.filter Query, filters_module::CustomFieldFilter
register.filter Query, filters_module::DoneRatioFilter
register.filter Query, filters_module::DueDateFilter
register.filter Query, filters_module::EstimatedHoursFilter
register.filter Query, filters_module::GroupFilter
register.filter Query, filters_module::IdFilter
register.filter Query, filters_module::PriorityFilter
register.filter Query, filters_module::ProjectFilter
register.filter Query, filters_module::ResponsibleFilter
register.filter Query, filters_module::RoleFilter
register.filter Query, filters_module::StartDateFilter
register.filter Query, filters_module::StatusFilter
register.filter Query, filters_module::SubjectFilter
register.filter Query, filters_module::SubprojectFilter
register.filter Query, filters_module::TypeFilter
register.filter Query, filters_module::UpdatedAtFilter
register.filter Query, filters_module::VersionFilter
register.filter Query, filters_module::WatcherFilter
Feature/angular calendar (#6766) * replace rails based calendar with angular * render empty calendar * update query on month switch * introduce specific interval filter * show colors * remove now unused filter partial * start on retaining the view in the url * hide datesInterval filter * I18n for calendars title * stengthen explicity of expected filters * spec moving to the next month * fix FilterSerializer reference * remove outdated feature spec * rework calendar controller specs * avoid undefined columns * bump ng-calendar to 1.7.0 * Revert "fix FilterSerializer reference" This reverts commit 2bb2e574cdd664a02a4eb9c3e94b5a170aec0a67. * Revert "avoid undefined columns" This reverts commit bcbb381b34b095526d3ee1aa15d6263a658c03c0. * load initial query only after calendar has been loaded * implement month remembering * implement history back and forth * cleanup code * remove unused methods * remove order value from filters * replace rails calendar widget completely * fix shrinkwrap * move module into correct namespace * linting * remove unused js * calculate full calendar height dynamically * setting calendar locale from service * retain week on reload * show notification in case of too many results * show tooltip on hover * go to work package on click * deactivate tooltip before wp show * narrow down style to tooltip * [28885] Improve html title consistency when navigating to queries Currently, query names are not reflected in the HTML title. This results in 'wrong' titles being shown when entering a split or full view and then returning back to the list. https://community.openproject.com/wp/28885 [ci skip]
6 years ago
register.filter Query, filters_module::DatesIntervalFilter
Add relations tables to Types via form configuration (#6773) * WIP: PrecedesFilter and FollowsFilter for WorkPackages * Create Type Form Groups per Query Type * generalize filters on relations avoiding alias * fix flickering spec * Rename dependency represeners for Follower and Predecessor Filters * Allow configuring templated queries within query configuring modal * Use `{id}` as templated value, instead of a now deprecated `templated` string * Rewrite ParentFilter to follow same structure as other relation filters. * Set Follower and Predecessor filters as hidden in Frontend * Default query shall show closed WPs, too * Remove relation filter type selection from form configuration view as we extend query configuration modal instead. * Allow ExternalQueryConfiguration to be more specific and prepend relation filters in its modal. * Quick unrelated fix on the way: the instruction text should start below the columns input and not to the right of it * - Add all missing relation filters. - Use verbs for naming instead of nouns to stay consistent with UI. * fix typo * Add relation filters to hidden filters and fix a rebase bug * Typo in docs * Fix broken rebase conflict resolution * Add part of and includes filter * adding specs for relation filters * rename RelatesFilter to RelatesToFilter * Rename shared example as direction does not matter anymore. * Fix spec for IncludesFilter * Fix name conflict for `includes` by calling typed_dag's `direct` later. * Fix shared filter examples as the parent filter does not get added per default anymore. * Fix spec after renaming PredecessorFilter to PrecedesFilter * Fix integration spec for type configuration form * Add filter dependency specs * Differentiate between WorkPackageFormChildrenQueryGroup and WorkPackageRelationQueryGroup types * Create inline-create for relation tables * Rewrite filters to use actual relation_type as key * Reload relations on change, change symbols * Fix relation filter i18n strings * Test presence of all relation filters frontend. * Extend integration test for form configuration to not only cover hierarchy, but also undirectional and directional relation types. * Consistent naming of filter dependency representer files * Satisfy codeclimate * Add missing copyright notes * Fixing PartofFilter and its specs * Reverse relation direction when created inline * WIP integration test for Relation Query Component and Children Query Component. * Correctly reload children tables when refreshed * Fix FilterOnUndirectedMixin * Fix removing of relation from embedded table after reload * Adding intergration tests for removing and adding relation or children, initiated form either embedded table or relations tab. * Fix specs * Fix implementation of duplicates and duplicated They are reversed in typed_dag and causes confusion [ci skip]
6 years ago
register.filter Query, filters_module::ParentFilter
register.filter Query, filters_module::PrecedesFilter
register.filter Query, filters_module::FollowsFilter
register.filter Query, filters_module::RelatesFilter
register.filter Query, filters_module::DuplicatesFilter
register.filter Query, filters_module::DuplicatedFilter
register.filter Query, filters_module::BlocksFilter
register.filter Query, filters_module::BlockedFilter
register.filter Query, filters_module::PartofFilter
register.filter Query, filters_module::IncludesFilter
register.filter Query, filters_module::RequiresFilter
register.filter Query, filters_module::RequiredFilter
register.filter Query, filters_module::DescriptionFilter
register.filter Query, filters_module::SearchFilter
register.filter Query, filters_module::CommentFilter
register.filter Query, filters_module::SubjectOrIdFilter
Boards module (#7008) * Hack spike to show D&D use case [ci skip] * Add ordered work packages * Save order on existing work packages * Boards WIP * CDK drag * Add dragula handler [ci skip] * Add filter to return all manual sorted work packages * Print icon on hover * Boards routing and list components * Better loading indicator on list with streaming result [ci skip] * Add new board and list buttons [ci skip] * Post new query [ci skip] * Added creation of new board lists with persisted queries [ci skip] * Render placeholder row in empty queries [ci skip] * Push boards on grid * Use base class in scope [ci skip] * Extend api for options * Hack spike to show D&D use case [ci skip] * Add ordered work packages * Save order on existing work packages * Boards WIP * CDK drag * Add dragula handler [ci skip] * Add filter to return all manual sorted work packages * Print icon on hover * Boards routing and list components * Better loading indicator on list with streaming result [ci skip] * Add new board and list buttons [ci skip] * Post new query [ci skip] * Added creation of new board lists with persisted queries [ci skip] * Render placeholder row in empty queries [ci skip] * Save queries in grids [ci skip] * Renaming queries [ci skip] * Add existing work packages to board [ci skip] * Introduce card view component for work packages * Extend grids to allow project scope for boards (#7025) Extends the grid backend to also be able to handle boards. In particular, it adds the ability of boards to be attached to projects and changes the page property of grids to a scope property that better describes that more than one board can belong to the same scope (e.g. /projects/:project_id/boards). For a fully featured board, though, widgets need to be able to store options, so that they can store queries. Those widgets might also need to have custom processing and validation. That part has not been implemented. * introduce project association for boards * have dedicated grid registration classes * update and create form for board grids * extract defaults into grid registration [ci skip] * Add drag and drop to card view [ci skip] * Add options to grid * Fix option migration name * Renaming boards [ci skip] * Frontend deletion of boards * Avoid map on NodeList which doesnt exist [ci skip] * Add inline create to boards [ci skip] * Smaller create button [ci skip] * Add navigation for boards * Make inner grid same height * Replace index page with table * Workaround for widget registration [ci skip] * Fixed height for cards and tables [ci skip] * Implement escape as cancel d&d action [ci skip] * Fix and extend grid specs for name and options * Extend board specs for required name * Fix migration for MySQL references https://stackoverflow.com/a/45825566/420614 * Make board list extend from widget Since we cannot configure widgets yet, it's not yet possible to use a board-list widget anywhere. * Fix specs * Fix escape listener removal [ci skip] * Fix renamed to_path in relation spec [ci skip] * Allow deletion of grids for boards * Avoid reloading resource multiple times with replays * Frontend synchronization on deletion [ci skip] * Delete through table * Use work packages board path * Use work packages board path * Fix augmented columns breaking re-rendering * Fix duplicated permission with forums * Strengthen tab switch in specs * Add hidden flag for project-context queries Allows the API to create a hidden query that will not be rendered to the user even if it is within a project context. * private queries * Add hidden flag for project-context queries Allows the API to create a hidden query that will not be rendered to the user even if it is within a project context. * Move boards below work packages * Add Board configuration modal * Fix reloading with onPush * Saving / Switching of display mode [ci skip] * Extract wp-query-selectable-title into common component * Fix renaming of board-list * Fix auto-hide notifications in boards * Add permissions to seeders * Reorder lists in board * Linting * Remove default gravatar from settings * Show assignees avatar in the card view of WPs * Fix specs * Add missing method * Fix timeline icon * Use URL as input to be able to show avatars for groups, too * Fix test * Add further specs * Use correct data attribute to avoid unnecessary data base calls * Add further specs * Deletion of board lists * Pass permission via gon to decide whether we can create boards * Fix rename spec * Cherry-pick of 7873d59 and 30abc7f
6 years ago
register.filter Query, filters_module::ManualSortFilter
register.filter Query, filters_module::RelatableFilter
columns_module = Queries::WorkPackages::Columns
register.column Query, columns_module::PropertyColumn
register.column Query, columns_module::CustomFieldColumn
register.column Query, columns_module::RelationToTypeColumn
register.column Query, columns_module::RelationOfTypeColumn
end