Skip to content

Releases

v1.4.11 代課鐘點統計可以自訂統計區間

Choose a tag to compare

@begin0808 begin0808 released this 05 Nov 15:03

代課鐘點統計可以自訂統計區間(LINE 社群組長回報)。有的學校不是月底結算,而是每月 15 日(例如 10/16~11/15),先前只能一個月一個月查,還得自己把兩個月的明細拼起來。

資料表沒有變動,照一般方式升級即可(.env 改 IMAGE_TAG=v1.4.11 → docker compose pull && docker compose up -d)。

官方映像(amd64 + arm64 雙架構)已發布於 GHCR:
ghcr.io/begin0808/course_scheduling_system-{api,worker,web}:v1.4.11

新增

  • 「代課鐘點統計」多了「按月/自訂區間」切換:自訂區間選起訖日期(兩天都算在內),代課節數、日薪天數、代導全天/半天都照這段期間計算。預設帶入「上個月的隔天到今天」,15 日結算的學校在 11/15 打開就是 10/16~11/15。
  • 會記住上次用的方式:每月 15 日結算的學校,下次打開就直接是自訂區間。
  • 匯出的 Excel 檔名寫出區間(例如 substitution_hours_20261016-20261115.xlsx)。
  • 教師的「我的代課鐘點」也可以選自訂區間。

說明

  • 只統計所選學期的紀錄;區間跨到另一個學期時,另一學期要另外查。區間最長一年。
  • 按月查詢和原本完全一樣;代課推薦裡的「本月已代 N 節」仍以自然月計算。

v1.4.10 已經上過的調課可以補登

Choose a tag to compare

@begin0808 begin0808 released this 05 Nov 04:01

已經上過的調課可以補登了(LINE 社群組長回報)。老師之間先自己換好課、事後才想登記,「新增調課(未請假)」裡已經上過的節次都是灰的、勾不了;組長要留紀錄,才查得到哪位老師常常換課。

資料表沒有變動,照一般方式升級即可(.env 改 IMAGE_TAG=v1.4.10 → docker compose pull && docker compose up -d)。

官方映像(amd64 + arm64 雙架構)已發布於 GHCR:
ghcr.io/begin0808/course_scheduling_system-{api,worker,web}:v1.4.10

新增

  • 補登調課:「新增調課(未請假)」可以勾已經上過的節次(標示「已經上過,可補登」);接著選對調節次時,補課的那一節也可以是已經過去的。和補登代課一樣不通知老師,操作紀錄標「補登」;課表衝突照樣檢查。
  • 補登後不能修改或撤回;登錯了按「取消這筆調課」再重新登記。
  • 調代課紀錄的假別篩選加上「調課(未請假)」,搭配教師篩選就能查某位老師這學期換了幾次課。

不變

  • 請假的節次過去了仍然只能補登代課、併班、自習、不處理,不能補登調課(錯誤訊息會提示改用「新增調課(未請假)」)。
  • 還沒上的調課,補課節次照舊不能選已經過去的。

v1.4.9 — 同一天幾節一起調課

Choose a tag to compare

@begin0808 begin0808 released this 04 Nov 11:29

同一天幾節要一起換,也調得成了(LINE 社群組長回報)。學校活動讓兩個班的第七、八節同時對調,同一位老師兩節都要換:換 502 時,系統看到他第七節還有 402;換 402 時,又看到他第八節還有 502,兩筆都登記不進去。

資料表沒有變動,照一般方式升級即可(.env 改 IMAGE_TAG=v1.4.9 → docker compose pull && docker compose up -d)。

官方映像(amd64 + arm64 雙架構)已發布於 GHCR:
ghcr.io/begin0808/course_scheduling_system-{api,worker,web}:v1.4.9

修正

  • 同一筆「調課(未請假)」裡勾在一起的節次,不再算老師「有課」:這幾節都會交給別人上,所以可以拿來互相補課。上面的例子只要在「新增調課(未請假)」一次勾第七、八節,兩節就都列得出對調節次、都能成立。
  • 同一節還是不能讓他補兩次課;真的請假(假單時段內本來就不能補課)不受影響。
  • 「新增調課(未請假)」對話框加上說明:同一天好幾節要一起換時,請一次勾齊。

v1.4.8:新學期第一次自動排課,不必先建草稿

Choose a tag to compare

@begin0808 begin0808 released this 04 Nov 00:11

新學期第一次自動排課,不必先建草稿。 錄製操作示範影片時發現:用設定精靈建好學期、配完課,直接到「自動排課」,「來源草稿」是空的、「開始排課」按不下去,畫面上也沒說原因(要先開過「排課工作台」或到「版本與發布」按「新增草稿」才行)。

資料表沒有變動,照一般方式升級即可(.env 改 IMAGE_TAG=v1.4.8 → docker compose pull && docker compose up -d)。

官方映像(amd64 + arm64 雙架構)已發布於 GHCR:
ghcr.io/begin0808/course_scheduling_system-{api,worker,web}:v1.4.8

修正

  • 自動排課頁會自動建立「草稿A」:這個學期還沒有任何課表時,進到「自動排課」就自動建一份空白的「草稿A」當排課起點(跟「排課工作台」原本的做法一樣),配完課就能直接按「開始排課」。
  • 學期裡的課表都已發布或封存、沒有草稿時,不再自動建,改顯示提示:到「版本與發布」把課表「複製」成新草稿。

v1.4.7 — 資安修正:登入失敗鎖定可被同時送出繞過(#60)

Choose a tag to compare

@begin0808 begin0808 released this 03 Nov 13:51

資安修正:登入失敗鎖定可被「同時送出」繞過(#60,感謝 willsec221 回報)。建議所有學校升級,尤其系統開放校外連線的。

資料表沒有變動,照一般方式升級即可(.env 改 IMAGE_TAG=v1.4.7 → docker compose pull && docker compose up -d)。

官方映像(amd64 + arm64 雙架構)已發布於 GHCR:
ghcr.io/begin0808/course_scheduling_system-{api,worker,web}:v1.4.7

修正

  • 同時送出的錯誤密碼也會算進鎖定次數(#60):連續輸錯 5 次會鎖定 15 分鐘,但先前若在同一瞬間送出大量錯誤密碼,失敗次數會互相蓋掉(同時 20 次只記到 2 次),帳號不會被鎖,等於可以不受限制地猜密碼。現在同一帳號的登入嘗試會排隊一個一個處理:不論怎麼送,第 5 次失敗就鎖定,之後連正確密碼也要等鎖定結束。
    • 一般登入感覺不到差別;只有「同一個帳號同時登入」才會排隊,不同帳號互不影響。

新增

  • SECURITY.md:資安問題請不要在公開 issue 回報,改用 GitHub 的私下通報(Security → Report a vulnerability)。

v1.4.6 — 全校總表與批次 zip 可匯出 PDF

Choose a tag to compare

@begin0808 begin0808 released this 03 Nov 11:33

全校課表也能匯出成 PDF。 來自 LINE 社群一位組長:「課表查詢」的批次 zip 只能出 Excel,不能選 PDF。先前 PDF 只能一班一班(或一位一位老師)匯出。

資料表沒有變動,照一般方式升級即可(.env 改 IMAGE_TAG=v1.4.6 → docker compose pull && docker compose up -d)。

官方映像(amd64 + arm64 雙架構)已發布於 GHCR:
ghcr.io/begin0808/course_scheduling_system-{api,worker,web}:v1.4.6

新增

  • 全校總表與批次 zip 都可以選 PDF:「課表查詢」的全校匯出改成兩組按鈕——「總表 [Excel][PDF]」、「批次 zip [Excel][PDF]」(教學組長以上)。
    • 總表 PDF:全部在一個 PDF 檔,每班(或每位老師)一頁,要一次印出來最方便。
    • 批次 zip 的 PDF:每班(或每位老師)一個 PDF 檔,打包成 zip,方便個別發給導師或老師。
    • 和 Excel 一樣跟著目前的檢視走:班級視角出全校班級,教師視角出全校在職教師(含沒排到課的)。
    • PDF 要在背景產生,全校約十幾秒,按鈕會轉圈;產生的 PDF 和單張匯出的版面相同(A4 直式、內嵌中文字型)。
  • 新 API:GET /api/export/school.pdf;GET /api/export/batch.zip 多了 fmt=pdf(預設仍是 Excel)。

修正

  • 批次 zip 裡同名的老師不再互相蓋掉:第二位起檔名加「(2)」。

v1.4.5 — 新增調課(未請假)

Choose a tag to compare

@begin0808 begin0808 released this 03 Nov 10:01

老師沒請假,也能調課。 來自 LINE 社群一位組長:有時老師沒有請假,只是要和別人調課;先前調課只能從請假展開的節次做,組長只好硬登一張假,假別選什麼都不對。

資料表沒有變動,照一般方式升級即可(.env 改 IMAGE_TAG=v1.4.5 → docker compose pull && docker compose up -d)。

官方映像(amd64 + arm64 雙架構)已發布於 GHCR:
ghcr.io/begin0808/course_scheduling_system-{api,worker,web}:v1.4.5

新增

  • 新增調課(未請假):「調代課處理」標題旁多了「新增調課(未請假)」。選老師、日期,系統列出他那天的課,勾要調的節次(可以勾好幾節),按「下一步」就直接列出可以對調的節次,點一個就成立。之後和一般調課完全一樣:調課通知單、今日調代課看板、巡堂表、通知都照常。
    • 只能選調課:不會出現代課推薦、併班、自習、不處理,也不能整批指派代課。
    • 不算請假:不出現在「請假登記」,不產生代導;找人代課時,這位老師也不會因為「當天請假」被排除。
    • 已經上過的節次、已經在別張假單裡的節次不能勾,會寫出原因。
    • 要取消時,按卡片右上角的「取消這筆調課」,照原課表上課;已經成立的調課會通知雙方。
    • 「調代課紀錄」的假別寫「調課(未請假)」。
  • 新 API:GET /api/teachers/{id}/day-periods、POST /api/swap-requests。

v1.4.4:修改假別與計費方式

Choose a tag to compare

@begin0808 begin0808 released this 03 Nov 03:03

假別、計費方式登錯了,改得回來。 來自 LINE 社群一位組長:請假登記的假別預設是「病假」,公假沒改到就登成了病假;代課的計費方式依假別帶入,也跟著錯。登記後兩個都改不了,代課已經上過的節次連「撤回再重派」都不行(銷假重登又會讓鐘點重複計算)。

資料表沒有變動,照一般方式升級即可(.env 改 IMAGE_TAG=v1.4.4 → docker compose pull && docker compose up -d)。

官方映像(amd64 + arm64 雙架構)已發布於 GHCR:
ghcr.io/begin0808/course_scheduling_system-{api,worker,web}:v1.4.4

新增

  • 修改假單:「請假登記」的假單卡片多了「修改」,可以改假別與事由(教學組長、教務主任)。日期與時間不能改(那會改變哪些節次受影響)。受影響的節次、代課、代導都不動,也不通知。
    • 計費方式不會跟著假別自動變(組長可能已經手動調過);假單有代課時,改假別會提醒到「調代課處理」一併修改。
  • 修改計費方式:「調代課處理」的假單右上角多了「修改計費方式(N 節)」,一次改這張假單所有代課節次;每一節代課旁也有「改計費」只改那一節。可以改計費方式與「代課鐘點 計入/不計」。
    • 已經上過的代課也可以改:代課老師不變,只改怎麼付錢。這是「已經過去的節次不能改」唯一的例外;代課老師仍然不能改。
    • 不通知老師;月結統計、代課通知單跟著更新(改成或改掉「日薪代課」時,會在鐘點與日薪之間移動)。操作紀錄寫明改了什麼。
  • 「調代課處理」的代課寫出計費方式,例如「代課 → 陳師(公費代課)」,登錯了一眼看得出來。

變更

  • 請假登記的假別不再預設「病假」,改成空白、一定要選才能送出。

v1.4.3:安排代導的操作紀錄寫出老師名字

Choose a tag to compare

@begin0808 begin0808 released this 30 Oct 10:49

操作紀錄寫出代導老師的名字。 安排代導後,「系統管理 → 操作紀錄」那一筆寫成「由 代導」,老師的名字是空的(v1.4.0 起)。只影響操作紀錄這一行字;代導資料、通知、代導通知單與月結統計一直都正確。

功能與資料表都沒有其他變動,照一般方式升級即可(.env 改 IMAGE_TAG=v1.4.3 → docker compose pull && docker compose up -d)。

官方映像(amd64 + arm64 雙架構)已發布於 GHCR:
ghcr.io/begin0808/course_scheduling_system-{api,worker,web}:v1.4.3

修正

  • 安排代導的操作紀錄寫出代導老師是誰(例如「王師 請假,701 2026-11-16 由 陳師 代導」)。已經寫入的舊紀錄不會回頭補上名字。

v1.4.2:補登事後才登記的請假

Choose a tag to compare

@begin0808 begin0808 released this 30 Oct 09:39

事後才登記的請假,可以補登代課了。 來自 LINE 社群一位組長:臨時找人代課,當天來不及在系統登記,事後才把公假補進去;這時節次已經過了,畫面上一直是「待處理」,按「處理」只會回「此節次已結束,無法變更處置」,代課老師的鐘點也就漏算。

功能與資料表的其他部分都沒有變動,照一般方式升級即可(.env 改 IMAGE_TAG=v1.4.2 → docker compose pull && docker compose up -d)。

官方映像(amd64 + arm64 雙架構)已發布於 GHCR:
ghcr.io/begin0808/course_scheduling_system-{api,worker,web}:v1.4.2

新增

  • 補登:已經過去、還沒處理的節次標示「待補登」,按鈕寫「補登」,照平常方式選代課老師(或併班、自習、不處理)。補登後直接成為「已完成」,列入當月代課鐘點統計。
    • 不通知老師:老師已經去上過課了,只留在統計裡。
    • 不能補登調課:調課要安排之後的補課節次,過去的節次沒辦法調。
    • 「整批指派代課」也會一併補登已經過去的節次。
    • 操作紀錄寫明「補登」,日後查得到是誰補的。
  • 代導也可以補登:導師的假事後才登記時,已經過去的代導日子標示「待補登」,規則相同(不通知,列入代導統計)。
  • 學期內都可以補登,和請假登記的日期限制一樣。

說明

  • 已經處理過、已經過去的節次與代導,仍然不能修改或撤回(避免月結後被動到),補登的也一樣,請確認後再按。

升級

.env 改 IMAGE_TAG=v1.4.2 → docker compose pull && docker compose up -d。這一版沒有資料表變更;從 v1.3.x 或更早升上來,一樣會經過 v1.4.0 的資料表變更(會先自動備份)。詳見升級指南。