徒然さめざめ

思ったことを思ったときに思ったように

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Redmine hack! -カレンダーに休日色を-

redmineのカレンダーは表示するだけで、情報はすべてそのプロジェクトが持ってる各Issueの日付しか見ていない。

なので、休日情報を別途持つ必要がある。

はっきり行って、DateInfoとかテーブルを作りviewを作って、
Redmine上で管理できるようにしたほうがいいんだと思う。

・・・が、とりあえずって人向けです。
休日のバックグラウンド色を:#FFE4E1に。


Index: public/stylesheets/application.css
===================================================================
--- public/stylesheets/application.css (リビジョン 2436)
+++ public/stylesheets/application.css (作業コピー)
@@ -389,6 +390,7 @@
table.cal td p.day-num {font-size: 1.1em; text-align:right;}
table.cal td.odd p.day-num {color: #bbb;}
table.cal td.today {background:#ffffdd;}
+table.cal td.holiday {background:#FFE4E1;}
table.cal td.today p.day-num {font-weight: bold;}

/***** Tooltips ******/

その日は休日?
Index: app/views/common/_calendar.rhtml
===================================================================
--- app/views/common/_calendar.rhtml (リビジョン 2436)
+++ app/views/common/_calendar.rhtml (作業コピー)
@@ -7,7 +7,7 @@
<% day = calendar.startdt
while day <= calendar.enddt %>
<%= "<th>#{day.cweek}</th>" if day.cwday == calendar.first_wday %>
-<td class="<%= day.month==calendar.month ? 'even' : 'odd' %><%= ' today' if Date.today == day %>">
+<td class="<%= day.month==calendar.month ? 'even' : 'odd' %><%= ' today' if Date.today == day %><%= ' holiday' if day.holiday? %>">
<p class="day-num"><%= day.day %></p>
<% calendar.events_on(day).each do |i| %>
<% if i.is_a? Issue %>


Dateクラスをオーバライド
$ lib/date.rb
require "date"

class Date
COMPANY_HOLIDAY =
[
[ "%a", 'Sun' ], #日曜はデフォルトで
[ "%Y%m%d", '200902(01|07|08|11|14|15|21|22|28)'],
[ "%Y%m%d", '200903(01|07|08|14|15|20|21|22|28|29)'],
[ "%Y%m%d", '200904(04|05|11|12|18|19|25|26|29)'],
... 省略
]

def holiday?
COMPANY_HOLIDAY.each do |fil|
return true if self.strftime(fil.first) =~ Regexp.new(fil.last)
end
return false
end
end



スポンサーサイト

コメント

プラグインで提供できたら素敵なんじゃないだろうか?

データベースも作れるし。

モウあるかもしれんね。

  • 2009/11/15(日) 15:04:54 |
  • URL |
  • まこp #-
  • [ 編集 ]

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://fmkt.blog65.fc2.com/tb.php/37-28fdca5b
この記事にトラックバックする(FC2ブログユーザー)

FC2Ad

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。