Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 2024-07-03 06:36:16 +0000 #7920

Merged
merged 104 commits into from
Jul 4, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
104 commits
Select commit Hold shift + click to select a range
8845503
meta description中にプラクティス名が表示されるように修正
su-su-su-su Jun 21, 2024
08cbd88
プラクティス個別ページ内のDocsが0件の時に泣き顔を表示するように変更した
ham-cap May 26, 2024
c1046f3
プラクティス個別ページ内のタブを0件でもクリックできるように変更
ham-cap May 26, 2024
266bada
プラクティス個別ページ内の質問が0件の時に泣き顔を表示するように変更した
ham-cap May 29, 2024
29cabeb
日報が0件の時に表示されるマークの白背景を削除
ham-cap May 29, 2024
7b3d00e
プラクティスに紐づく日報が0件の場合の表示を修正
ham-cap Jun 28, 2024
9e4f100
提出物の新規作成/編集画面にキャンセルボタンを追加
motohiro-mm Jun 17, 2024
37c2fce
キャンセルボタンのテストを追加
motohiro-mm Jun 17, 2024
5e883e5
キャンセルボタンの位置の修正
motohiro-mm Jun 17, 2024
fa71080
不要になったhelper classを削除
machida Jun 17, 2024
d5b2f00
path部分のみを条件分岐するよう修正
motohiro-mm Jun 25, 2024
a38552c
管理者が他のメンターのプロフィール公開・非公開を変更できるように修正
Shrimprin Jun 15, 2024
8126841
テストを作成
Shrimprin Jun 15, 2024
f1e476e
メンタープロフィールの公開・非公開の設定をトップページ、ブログ記事詳細ページに反映させた。
machida Jun 19, 2024
93550c5
hide_mentor_profileがtrueであればログイン状態に関わらプロフィールは非表示とするため、テストを修正
Shrimprin Jun 30, 2024
9e7a768
管理者は自分以外のユーザーのGitHub連携を解除できるかのテストを作成
Shrimprin May 31, 2024
bbaf218
他のユーザーのGitHub連携を解除できるように修正
Shrimprin May 31, 2024
cdc5c65
動作確認用のfixuturesを作成
Shrimprin May 31, 2024
0b4a910
管理者以外は他のユーザーのGitHub連携を解除できないようにガードを追加
Shrimprin May 31, 2024
70a9909
ガード節以外でのreturnは可読性を損ねるため、if~elseに修正
Shrimprin Jun 26, 2024
8fd7037
fixtureを修正
Shrimprin Jun 30, 2024
398eec4
Controllerでの近日開催イベントグループの渡し方を定義した
masyuko0222 Apr 2, 2024
96c13ad
UpcomingEventsGroupモデルの作成
masyuko0222 Apr 3, 2024
46cedab
UpcomingEventモデルの作成
masyuko0222 Apr 3, 2024
08f3c0a
UpcomingEventモデルで使う共通インターフェースを定義した
masyuko0222 Apr 3, 2024
7b92c3f
近日開催イベント一覧のViewを作成した
masyuko0222 Apr 4, 2024
a1d4a9c
Viewで利用するために、日本語訳を追加した
masyuko0222 Apr 5, 2024
f083e6f
Viewで利用するために、デコレータを追加した
masyuko0222 Apr 5, 2024
b13a571
近日開催イベントと単なる定期イベントのスタイルが同じでテストが通らなくなったので、直した
masyuko0222 Apr 5, 2024
a78086f
システムテストを書いた
masyuko0222 Apr 5, 2024
5364488
使っていないメソッドを削除した
masyuko0222 Apr 5, 2024
399f9b4
🚨 rubocop
masyuko0222 Apr 5, 2024
4129ca0
ActiveDecoratorTestCaseを継承して、簡易的なメソッドでデータを用意できるようにした。
masyuko0222 Apr 11, 2024
ec57116
データ構造的に、コンストラクタにupcoming_eventsを渡すようにした。
masyuko0222 Apr 11, 2024
6980375
privateでアクセサメソッドを書くのをやめた
masyuko0222 Apr 11, 2024
1da7afd
仕様に合うように予定日時順に並び替えるようにした
masyuko0222 Apr 11, 2024
b4083a5
createだとActiveRecordと勘違いされるので、メソッド名を変えた
masyuko0222 Apr 13, 2024
764c0d4
モデルが持つべきロジックなので移動した
masyuko0222 Apr 13, 2024
ac26824
listからgroupsという命名に変えた
masyuko0222 Apr 13, 2024
6f6269b
publicメソッドはテストするようにした
masyuko0222 Apr 13, 2024
8ce1898
boolean値を明示しなくてもよかった
masyuko0222 Apr 16, 2024
6339090
使っていない定数を削除
masyuko0222 Apr 16, 2024
b61f642
パブリックなメソッドなのでテストに追加
masyuko0222 Apr 16, 2024
0ac1f76
外部から使われていないものはprivateにしてテストも削除した
masyuko0222 Apr 23, 2024
8449f95
EventSchedule initialize
masyuko0222 Apr 29, 2024
b9af5b2
SpecialEventScheduleの実装
masyuko0222 Apr 29, 2024
0ac7e8a
毎週開催の定期イベントのスケジュールを出すための実装をした
masyuko0222 Apr 29, 2024
4845457
DateCalculator実装
masyuko0222 Apr 30, 2024
c7a1f88
指定週開催の定期イベントのスケジュールを出すための実装をした
masyuko0222 Apr 30, 2024
15155cb
祝日非開催のイベントなのに、祝日に開催されることが正となっていたので直した。
masyuko0222 Apr 30, 2024
b0250b7
イベント日の計算は、EventScheduleモジュールを利用するように
masyuko0222 Apr 30, 2024
5a32ccf
rubocop
masyuko0222 Apr 30, 2024
7c306b5
setupを使ってDRY化
masyuko0222 Apr 30, 2024
6c49783
ruleが紐づいていないせいでテスト落ちてたので、fixturesとテストを直した。
masyuko0222 May 1, 2024
823374a
setupで準備しすぎて分かりづらくなっていたので、各テスト内にコンテキストを含むようにした
masyuko0222 May 1, 2024
d82cbc4
メソッド名変更
masyuko0222 May 1, 2024
d38650b
指定された期間のイベント予定日をすべて取得するように修正した
masyuko0222 May 1, 2024
011eb1d
次回イベント日を取得するメソッドを追加した
masyuko0222 May 1, 2024
7541156
利用される際、Dateクラス型を期待されているので修正
masyuko0222 May 1, 2024
424f4d0
メソッドに合わせた変数名に修正
masyuko0222 May 1, 2024
28cf870
rubocop修正
masyuko0222 May 1, 2024
ae5a60d
一つのメソッドが色々やりすぎたので分離
masyuko0222 May 1, 2024
f16d675
名前空間を与えているので、イベントモデルの名前をそのまま使うようにした
masyuko0222 May 7, 2024
9ce1d38
属性はレンダー先で明示するようにした。
masyuko0222 May 13, 2024
3ff1f95
/homeの近日開催イベント一覧も、専用のクラスとビューを使うようにした
masyuko0222 May 13, 2024
067799f
スケジュールされたイベント日を集めるクラスを作成した
masyuko0222 May 21, 2024
90099a8
近日開催イベント一覧の理想のViewを書いた
masyuko0222 May 21, 2024
fe2c24d
scopeをDRYにしつつ、削除したEventScheduleを使っている処理を修正した。
masyuko0222 May 21, 2024
b0cbff9
9時間ずれてしまうため、TimeZoneLocalを使うようにした
masyuko0222 May 21, 2024
0584293
Viewでの使われ方も考慮して、近日イベント関連クラスの実装を修正した
masyuko0222 May 21, 2024
c93e0da
使わなくなったEventSchedule関連を削除した
masyuko0222 May 21, 2024
80b8321
使ってないエイリアス削除
masyuko0222 May 21, 2024
071f7c2
メソッドの修正忘れ
masyuko0222 May 21, 2024
6abbb0d
メソッドの責務を分けた
masyuko0222 May 21, 2024
fa2f5b8
等価のオーバーライドのし忘れでテストが落ちていたので修正
masyuko0222 May 21, 2024
754594c
UIに空白が出てしまう不具合を修正
masyuko0222 May 21, 2024
735e1a2
日付の定義はメソッド内にした
masyuko0222 May 23, 2024
07df338
不要な変数を削除
masyuko0222 May 23, 2024
15ee856
UpcomingEventのinitializeでscheduled_dateを受け取るように
masyuko0222 May 23, 2024
6125fd1
不要な引数を削除
masyuko0222 May 23, 2024
1e04133
今後の予定日を集める責務を移動
masyuko0222 May 23, 2024
ac50e3f
引数渡し忘れを修正
masyuko0222 May 23, 2024
8a009f9
TimeWithZoneクラスを利用するようにした。
masyuko0222 May 24, 2024
a2a1ec2
引数がデフォルト引数になってしまっていたので修正
masyuko0222 May 25, 2024
f7e4508
より正確な変数名にした
masyuko0222 May 25, 2024
43263cf
クラスメソッドで定義していたgather_events_scheduled_onをscopeに移動した
masyuko0222 Jun 3, 2024
f9b73ba
命名変更
masyuko0222 Jun 3, 2024
9c395f9
filterメソッドを使うようにした
masyuko0222 Jun 5, 2024
3e0b311
不要な説明変数を削除
masyuko0222 Jun 5, 2024
cbd7790
命名変更
masyuko0222 Jun 10, 2024
8c6b642
無駄な改行や、テスト名直し忘れていたところを直した
masyuko0222 Jun 10, 2024
10f934b
UpcomingEvent内でGroupを作るように
masyuko0222 Jun 10, 2024
eb745a4
英語的におかしいので、onを前置詞にいれた
masyuko0222 Jun 10, 2024
1c5b79b
戻り値をハッシュに変えた
masyuko0222 Jun 12, 2024
571a0e9
UpcomingEventsGroupクラスを作った
masyuko0222 Jun 14, 2024
f8e3fef
クラスメソッドはclass<<selfで統一した
masyuko0222 Jun 15, 2024
5d649e6
.build_groupもパブリックメソッドにした。
masyuko0222 Jun 15, 2024
bdc7b96
テスト名を変更
masyuko0222 Jun 24, 2024
2f8b194
Merge pull request #7819 from fjordllc/feature/administrator-release-…
komagata Jul 2, 2024
c56eeef
Merge pull request #7272 from fjordllc/feature/list_upcoming_events_o…
komagata Jul 2, 2024
53d69ed
Merge pull request #7864 from fjordllc/feature/add-cancel-button-to-p…
komagata Jul 2, 2024
8658cc4
Merge pull request #7880 from fjordllc/bug/correct-practice-name-in-m…
komagata Jul 2, 2024
1cacd68
Merge pull request #7816 from fjordllc/feature/display-sad-mark-on-a-…
komagata Jul 2, 2024
8effdcf
Merge pull request #7857 from fjordllc/fix/user-edit-hide-mentor-prof…
komagata Jul 3, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion app/controllers/admin/users_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ def user_params
:graduated_on, :retired_on, :free,
:job_seeker, :github_collaborator,
:officekey_permission, :tag_list, :training_ends_on,
:auto_retire, :invoice_payment,
:auto_retire, :invoice_payment, :hide_mentor_profile,
:profile_image, :profile_name, :profile_job, :mentor,
:profile_text, { authored_books_attributes: %i[id title url cover _destroy] },
:country_code, :subdivision_code, discord_profile_attributes: %i[account_name times_url times_id]
Expand Down
9 changes: 7 additions & 2 deletions app/controllers/connection/git_hub_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,12 @@ class Connection::GitHubController < ApplicationController
skip_before_action :require_active_user_login, raise: false

def destroy
current_user.update(github_id: nil)
redirect_to root_path, notice: 'GitHubとの連携を解除しました。'
user = User.find(params[:user_id])
if !admin_login? && user != current_user
redirect_to root_path, alert: '管理者としてログインしてください'
else
user.update(github_id: nil)
redirect_to user_path(user), notice: 'GitHubとの連携を解除しました。'
end
end
end
10 changes: 3 additions & 7 deletions app/controllers/events_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,9 @@
class EventsController < ApplicationController
before_action :set_event, only: %i[edit update destroy]

def index; end
def index
@upcoming_events_groups = UpcomingEvent.upcoming_events_groups
end

def show
@event = Event.with_avatar.find(params[:id])
Expand Down Expand Up @@ -75,12 +77,6 @@ def set_wip
@event.wip = (params[:commit] == 'WIP')
end

def redirect_url(event)
return new_announcement_path(event_id: event.id) if publish_with_announcement?

event.wip? ? edit_event_url(event) : event_url(event)
end

def notice_message(event)
case params[:action]
when 'create'
Expand Down
7 changes: 1 addition & 6 deletions app/controllers/home_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -50,12 +50,7 @@ def display_dashboard
end

def display_events_on_dashboard
@today_events = (Event.today_events + RegularEvent.today_events)
.sort_by { |e| e.start_at.strftime('%H:%M') }
@tomorrow_events = (Event.tomorrow_events + RegularEvent.tomorrow_events)
.sort_by { |e| e.start_at.strftime('%H:%M') }
@day_after_tomorrow_events = (Event.day_after_tomorrow_events + RegularEvent.day_after_tomorrow_events)
.sort_by { |e| e.start_at.strftime('%H:%M') }
@upcoming_events_groups = UpcomingEvent.upcoming_events_groups
end

def display_welcome_message_for_adviser
Expand Down
4 changes: 3 additions & 1 deletion app/controllers/regular_events_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,9 @@
class RegularEventsController < ApplicationController
before_action :set_regular_event, only: %i[edit update destroy]

def index; end
def index
@upcoming_events_groups = UpcomingEvent.upcoming_events_groups
end

def show
@regular_event = RegularEvent.find(params[:id])
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ def show
private

def notify_coming_soon_regular_events
today_events = RegularEvent.today_events
tomorrow_events = RegularEvent.tomorrow_events
today_events = RegularEvent.scheduled_on(Time.zone.today)
tomorrow_events = RegularEvent.scheduled_on(Time.zone.today + 1.day)
return if today_events.blank? && tomorrow_events.blank?

NotificationFacade.coming_soon_regular_events(today_events, tomorrow_events)
Expand Down
4 changes: 2 additions & 2 deletions app/decorators/regular_event_decorator.rb
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ def holding_cycles
def next_holding_date
if finished
'開催終了'
elsif holding_today?
!hold_national_holiday && HolidayJp.holiday?(Time.zone.today) ? "次回の開催日は #{l next_event_date} です" : '本日開催'
elsif next_event_date == Time.zone.today
'本日開催'
else
"次回の開催日は #{l next_event_date} です"
end
Expand Down
30 changes: 30 additions & 0 deletions app/decorators/upcoming_event_decorator.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# frozen_string_literal: true

module UpcomingEventDecorator
def label_style
case original_event
when Event
'is-special'
when RegularEvent
"is-#{original_event.category}"
end
end

def inner_title_style
case original_event
when Event
'card-list-item__label-inner.is-sm'
when RegularEvent
nil
end
end

def inner_title
case original_event
when Event
'特別<br>イベント'
when RegularEvent
I18n.translate("activerecord.enums.regular_event.category.#{original_event.category}")
end
end
end
56 changes: 24 additions & 32 deletions app/javascript/components/Events.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,41 +14,33 @@ export default function Events() {

if (error) return <>エラーが発生しました。</>
if (!data) {
return (
<div className="page-body">
<div className="container is-md">
<LoadingListPlaceholder />
</div>
</div>
)
return <LoadingListPlaceholder />
}

return (
<div className="page-body">
<div className="container is-md">
{data.total_pages > 1 && (
<Pagination
sum={data.total_pages * per}
per={per}
page={page}
setPage={setPage}
/>
)}
<ul className="card-list a-card">
{data.events.map((event) => {
return <Event event={event} key={event.id} />
})}
</ul>
{data.total_pages > 1 && (
<Pagination
sum={data.total_pages * per}
per={per}
page={page}
setPage={setPage}
/>
)}
</div>
</div>
<>
{data.total_pages > 1 && (
<Pagination
sum={data.total_pages * per}
per={per}
page={page}
setPage={setPage}
/>
)}
<ul className="card-list a-card">
{data.events.map((event) => {
return <Event event={event} key={event.id} />
})}
</ul>
{data.total_pages > 1 && (
<Pagination
sum={data.total_pages * per}
per={per}
page={page}
setPage={setPage}
/>
)}
</>
)
}

Expand Down
16 changes: 12 additions & 4 deletions app/javascript/components/Reports.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -136,11 +136,19 @@ const NoReports = ({ unchecked }) => {
</p>
</>
) : (
<div className="o-empty-message">
<div className="o-empty-message__icon">
<i className="fa-regular fa-sad-tear" />
<div className="card-list">
<div className="card-body">
<div className="card__description">
<div className="o-empty-message">
<div className="o-empty-message__icon">
<i className="fa-regular fa-sad-tear" />
</div>
<p className="o-empty-message__text">
日報はまだありません。
</p>
</div>
</div>
</div>
<p className="o-empty-message__text">日報はまだありません。</p>
</div>
)}
</div>
Expand Down
2 changes: 1 addition & 1 deletion app/javascript/components/questions.vue
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ div
loadingListPlaceholder
.o-empty-message(v-else-if='questions.length === 0')
.o-empty-message__icon
i.fa-regular.fa-smile
i.fa-regular.fa-sad-tear
p.o-empty-message__text
| {{ emptyMessage }}
.card-list.a-card(v-else)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,6 @@
position: relative
max-width: 45em
margin-inline: auto
&.is-ais-flex-start
align-items: flex-start
+media-breakpoint-down(sm)
flex-direction: column

Expand Down
2 changes: 1 addition & 1 deletion app/javascript/stylesheets/atoms/_a-side-nav.sass
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
padding-right: var(--side-nav-width)

.a-side-nav
background-color: var(--background)
background-color: var(--base)
+media-breakpoint-up(lg)
+position(absolute, right 0, top -1.5rem, bottom -1.5rem)
width: var(--side-nav-width)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,14 @@
height: auto

.welcome-member__inner
padding: 1.25rem 1.5rem 1.5rem
padding: 1.25rem 1.5rem 0
height: 100%
&:last-child
padding-bottom: 1.5rem
.welcome-member.is-articles-show &
padding: .75rem 1rem
padding: .75rem 1rem 0
.welcome-member.is-articles-show &:last-child
padding-bottom: 1rem

.welcome-member__header
display: flex
Expand Down Expand Up @@ -74,3 +79,6 @@
cursor: pointer
a:hover
text-decoration: none

.welcome-member__actions
padding: 1rem
12 changes: 1 addition & 11 deletions app/models/event.rb
Original file line number Diff line number Diff line change
Expand Up @@ -43,9 +43,7 @@ class Event < ApplicationRecord

scope :wip, -> { where(wip: true) }
scope :related_to, ->(user) { user.job_seeker ? all : where.not(job_hunting: true) }
scope :today_events, -> { where(start_at: Time.zone.today.midnight...Time.zone.tomorrow.midnight) }
scope :tomorrow_events, -> { where(start_at: Time.zone.tomorrow.midnight...(Time.zone.tomorrow + 1.day).midnight) }
scope :day_after_tomorrow_events, -> { where(start_at: (Time.zone.tomorrow + 1.day).midnight...(Time.zone.tomorrow + 2.days).midnight) }
scope :scheduled_on, ->(date) { where(start_at: date.midnight...(date + 1.day).midnight) }

def opening?
Time.current.between?(open_start_at, open_end_at)
Expand Down Expand Up @@ -104,14 +102,6 @@ def send_notification(receiver)
ActivityDelivery.with(receiver:, event: self).notify(:moved_up_event_waiting_user)
end

def holding_today?
start_at.to_date.today?
end

def holding_tomorrow?
start_at.to_date == Date.tomorrow
end

def watched_by?(user)
watches.exists?(user_id: user.id)
end
Expand Down
Loading
Loading