-
Notifications
You must be signed in to change notification settings - Fork 2.4k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* 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 27a517d. * 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 <[email protected]>
- Loading branch information
1 parent
b856ee2
commit 25fc7cd
Showing
110 changed files
with
4,734 additions
and
402 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
11 changes: 11 additions & 0 deletions
11
modules/meeting/app/components/meeting_agenda_items/list_component.html.erb
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
24 changes: 24 additions & 0 deletions
24
modules/meeting/app/components/meetings/combined_filter_component.html.erb
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
<%= | ||
flex_layout do |flex| | ||
flex.with_column do | ||
render(Meetings::MeetingFilterButtonComponent.new(query: @query, project: @project)) | ||
end | ||
|
||
flex.with_column(ml: 1) do | ||
render(Primer::Alpha::SegmentedControl.new("aria-label": I18n.t(:label_meeting_date_time))) do |control| | ||
control.with_item(tag: :a, | ||
icon: :"arrow-right", | ||
href: dynamic_path, | ||
label: t(:label_upcoming_meetings_short), | ||
title: t(:label_upcoming_meetings), | ||
selected: upcoming_query?) | ||
control.with_item(tag: :a, | ||
icon: :history, | ||
href: dynamic_path(upcoming: false), | ||
label: t(:label_past_meetings_short), | ||
title: t(:label_past_meetings), | ||
selected: !upcoming_query?) | ||
end | ||
end | ||
end | ||
%> |
57 changes: 57 additions & 0 deletions
57
modules/meeting/app/components/meetings/combined_filter_component.rb
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
#-- copyright | ||
# OpenProject is an open source project management software. | ||
# Copyright (C) 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-2013 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 COPYRIGHT and LICENSE files for more details. | ||
#++ | ||
|
||
module Meetings | ||
class CombinedFilterComponent < ApplicationComponent | ||
include ApplicationHelper | ||
include OpTurbo::Streamable | ||
include OpPrimer::ComponentHelpers | ||
include Redmine::I18n | ||
|
||
def initialize(query:, params:, project: nil) | ||
super() | ||
|
||
@query = query | ||
@project = project | ||
@params = params | ||
end | ||
|
||
def dynamic_path(upcoming: true) | ||
polymorphic_path([@project, :meetings], current_params.merge(upcoming:)) | ||
end | ||
|
||
def upcoming_query? | ||
filter = @query.filters.find { |f| f.name == :time } | ||
filter ? !filter.past? : true | ||
end | ||
|
||
def current_params | ||
@current_params ||= params.slice(:filters, :page, :per_page).permit! | ||
end | ||
end | ||
end |
Oops, something went wrong.