Skip to content

Commit

Permalink
Use empty section title as untitled
Browse files Browse the repository at this point in the history
  • Loading branch information
oliverguenther committed May 16, 2024
1 parent d768433 commit 134b567
Showing 5 changed files with 19 additions and 15 deletions.
Original file line number Diff line number Diff line change
@@ -9,7 +9,7 @@
end
grid.with_area(:content, tag: :span) do
render(Primer::Beta::Text.new(font_weight: :bold, mr: 2)) do
@meeting_section.title
@meeting_section.title.presence || I18n.t("meeting_section.untitled_title")
end
end
if @meeting_section.agenda_items_sum_duration_in_minutes > 0
@@ -25,7 +25,7 @@
menu.with_show_button(icon: "kebab-horizontal", 'aria-label': t("settings.project_attributes.label_section_actions"), scheme: :invisible)
edit_action_item(menu)
unless first? && last?
menu.with_divider
menu.with_divider
move_actions(menu)
end
menu.with_divider
Original file line number Diff line number Diff line change
@@ -28,7 +28,12 @@

module MeetingSections
class CreateContract < BaseContract
validate :user_allowed_to_add, :validate_meeting_existence
validate :user_allowed_to_add,
:validate_meeting_existence

# We allow an empty title to mark an untitled/implicit section
# but users should not be able to create it with an empty title
validates :title, presence: true

def self.assignable_meetings(user)
StructuredMeeting
2 changes: 1 addition & 1 deletion modules/meeting/app/models/meeting_agenda_item.rb
Original file line number Diff line number Diff line change
@@ -78,7 +78,7 @@ def add_to_latest_meeting_section
meeting_section = meeting.sections.order(position: :asc).last

if meeting_section.nil?
meeting_section = meeting.sections.build(title: "Untitled")
meeting_section = meeting.sections.build(title: "")
end

self.meeting_section = meeting_section
12 changes: 1 addition & 11 deletions modules/meeting/app/models/meeting_section.rb
Original file line number Diff line number Diff line change
@@ -34,10 +34,6 @@ class MeetingSection < ApplicationRecord
has_many :agenda_items, dependent: :destroy, class_name: "MeetingAgendaItem"
has_one :project, through: :meeting

validates :title, presence: true

before_validation :set_default_title

after_save :trigger_meeting_agenda_item_time_slots_calculation, if: Proc.new { |section|
section.position_previously_changed?
}
@@ -50,18 +46,12 @@ def trigger_meeting_agenda_item_time_slots_calculation
meeting.calculate_agenda_item_time_slots
end

def set_default_title
if title.blank?
self.title = I18n.t("meeting_section.default_title")
end
end

def has_default_title?
title == I18n.t("meeting_section.default_title")
end

def untitled?
title == I18n.t("meeting_section.untitled_title")
title.blank?
end

def editable?
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
class FixUntitledMeetings < ActiveRecord::Migration[7.1]
def up
MeetingSection.where(title: "Untitled").update_all(title: "")
end

def down
MeetingSection.where(title: "").update_all(title: "Untitled")
end
end

0 comments on commit 134b567

Please sign in to comment.