@@ -0,0 +1,36 | |||
|
1 | <table class="cal"> | |
|
2 | <thead> | |
|
3 | <tr><td></td><% 7.times do |i| %><th><%= day_name( (calendar.first_wday+i)%7 ) %></th><% end %></tr> | |
|
4 | </thead> | |
|
5 | <tbody> | |
|
6 | <tr> | |
|
7 | <% day = calendar.startdt | |
|
8 | while day <= calendar.enddt %> | |
|
9 | <%= "<th>#{day.cweek}</th>" if day.cwday == calendar.first_wday %> | |
|
10 | <td class="<%= day.month==calendar.month ? 'even' : 'odd' %><%= ' today' if Date.today == day %>"> | |
|
11 | <p class="day-num"><%= day.day %></p> | |
|
12 | <% calendar.events_on(day).each do |i| %> | |
|
13 | <% if i.is_a? Issue %> | |
|
14 | <div class="tooltip"> | |
|
15 | <%= if day == i.start_date && day == i.due_date | |
|
16 | image_tag('arrow_bw.png') | |
|
17 | elsif day == i.start_date | |
|
18 | image_tag('arrow_from.png') | |
|
19 | elsif day == i.due_date | |
|
20 | image_tag('arrow_to.png') | |
|
21 | end %> | |
|
22 | <%= h("#{i.project.name} -") unless @project && @project == i.project %> | |
|
23 | <%= link_to_issue i %>: <%= h(truncate(i.subject, 30)) %> | |
|
24 | <span class="tip"><%= render_issue_tooltip i %></span> | |
|
25 | </div> | |
|
26 | <% else %> | |
|
27 | <%= link_to_version i, :class => "icon icon-package" %> | |
|
28 | <% end %> | |
|
29 | <% end %> | |
|
30 | </td> | |
|
31 | <%= '</tr><tr>' if day.cwday==calendar.last_wday and day!=calendar.enddt %> | |
|
32 | <% day = day + 1 | |
|
33 | end %> | |
|
34 | </tr> | |
|
35 | </tbody> | |
|
36 | </table> |
@@ -0,0 +1,76 | |||
|
1 | # redMine - project management software | |
|
2 | # Copyright (C) 2006-2007 Jean-Philippe Lang | |
|
3 | # | |
|
4 | # This program is free software; you can redistribute it and/or | |
|
5 | # modify it under the terms of the GNU General Public License | |
|
6 | # as published by the Free Software Foundation; either version 2 | |
|
7 | # of the License, or (at your option) any later version. | |
|
8 | # | |
|
9 | # This program is distributed in the hope that it will be useful, | |
|
10 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
|
11 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
|
12 | # GNU General Public License for more details. | |
|
13 | # | |
|
14 | # You should have received a copy of the GNU General Public License | |
|
15 | # along with this program; if not, write to the Free Software | |
|
16 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | |
|
17 | ||
|
18 | module Redmine | |
|
19 | module Helpers | |
|
20 | ||
|
21 | # Simple class to compute the start and end dates of a calendar | |
|
22 | class Calendar | |
|
23 | include GLoc | |
|
24 | attr_reader :startdt, :enddt | |
|
25 | ||
|
26 | def initialize(date, lang = current_language, period = :month) | |
|
27 | @date = date | |
|
28 | @events = [] | |
|
29 | @ending_events_by_days = {} | |
|
30 | @starting_events_by_days = {} | |
|
31 | set_language lang | |
|
32 | case period | |
|
33 | when :month | |
|
34 | @startdt = Date.civil(date.year, date.month, 1) | |
|
35 | @enddt = (@startdt >> 1)-1 | |
|
36 | # starts from the first day of the week | |
|
37 | @startdt = @startdt - (@startdt.cwday - first_wday)%7 | |
|
38 | # ends on the last day of the week | |
|
39 | @enddt = @enddt + (last_wday - @enddt.cwday)%7 | |
|
40 | when :week | |
|
41 | @startdt = date - (date.cwday - first_wday)%7 | |
|
42 | @enddt = date + (last_wday - date.cwday)%7 | |
|
43 | else | |
|
44 | raise 'Invalid period' | |
|
45 | end | |
|
46 | end | |
|
47 | ||
|
48 | # Sets calendar events | |
|
49 | def events=(events) | |
|
50 | @events = events | |
|
51 | @ending_events_by_days = @events.group_by {|event| event.due_date} | |
|
52 | @starting_events_by_days = @events.group_by {|event| event.start_date} | |
|
53 | end | |
|
54 | ||
|
55 | # Returns events for the given day | |
|
56 | def events_on(day) | |
|
57 | ((@ending_events_by_days[day] || []) + (@starting_events_by_days[day] || [])).uniq | |
|
58 | end | |
|
59 | ||
|
60 | # Calendar current month | |
|
61 | def month | |
|
62 | @date.month | |
|
63 | end | |
|
64 | ||
|
65 | # Return the first day of week | |
|
66 | # 1 = Monday ... 7 = Sunday | |
|
67 | def first_wday | |
|
68 | @first_dow ||= (l(:general_first_day_of_week).to_i - 1)%7 + 1 | |
|
69 | end | |
|
70 | ||
|
71 | def last_wday | |
|
72 | @last_dow ||= (first_wday + 5)%7 + 1 | |
|
73 | end | |
|
74 | end | |
|
75 | end | |
|
76 | end |
@@ -0,0 +1,43 | |||
|
1 | # redMine - project management software | |
|
2 | # Copyright (C) 2006-2007 Jean-Philippe Lang | |
|
3 | # | |
|
4 | # This program is free software; you can redistribute it and/or | |
|
5 | # modify it under the terms of the GNU General Public License | |
|
6 | # as published by the Free Software Foundation; either version 2 | |
|
7 | # of the License, or (at your option) any later version. | |
|
8 | # | |
|
9 | # This program is distributed in the hope that it will be useful, | |
|
10 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
|
11 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
|
12 | # GNU General Public License for more details. | |
|
13 | # | |
|
14 | # You should have received a copy of the GNU General Public License | |
|
15 | # along with this program; if not, write to the Free Software | |
|
16 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | |
|
17 | ||
|
18 | require File.dirname(__FILE__) + '/../test_helper' | |
|
19 | ||
|
20 | class CalendarTest < Test::Unit::TestCase | |
|
21 | ||
|
22 | def test_monthly | |
|
23 | c = Redmine::Helpers::Calendar.new(Date.today, :fr, :month) | |
|
24 | assert_equal [1, 7], [c.startdt.cwday, c.enddt.cwday] | |
|
25 | ||
|
26 | c = Redmine::Helpers::Calendar.new('2007-07-14'.to_date, :fr, :month) | |
|
27 | assert_equal ['2007-06-25'.to_date, '2007-08-05'.to_date], [c.startdt, c.enddt] | |
|
28 | ||
|
29 | c = Redmine::Helpers::Calendar.new(Date.today, :en, :month) | |
|
30 | assert_equal [7, 6], [c.startdt.cwday, c.enddt.cwday] | |
|
31 | end | |
|
32 | ||
|
33 | def test_weekly | |
|
34 | c = Redmine::Helpers::Calendar.new(Date.today, :fr, :week) | |
|
35 | assert_equal [1, 7], [c.startdt.cwday, c.enddt.cwday] | |
|
36 | ||
|
37 | c = Redmine::Helpers::Calendar.new('2007-07-14'.to_date, :fr, :week) | |
|
38 | assert_equal ['2007-07-09'.to_date, '2007-07-15'.to_date], [c.startdt, c.enddt] | |
|
39 | ||
|
40 | c = Redmine::Helpers::Calendar.new(Date.today, :en, :week) | |
|
41 | assert_equal [7, 6], [c.startdt.cwday, c.enddt.cwday] | |
|
42 | end | |
|
43 | end |
@@ -16,6 +16,8 | |||
|
16 | 16 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
|
17 | 17 | |
|
18 | 18 | class MyController < ApplicationController |
|
19 | helper :issues | |
|
20 | ||
|
19 | 21 | layout 'base' |
|
20 | 22 | before_filter :require_login |
|
21 | 23 |
@@ -512,26 +512,18 class ProjectsController < ApplicationController | |||
|
512 | 512 | end |
|
513 | 513 | end |
|
514 | 514 | @year ||= Date.today.year |
|
515 | @month ||= Date.today.month | |
|
516 | ||
|
517 | @date_from = Date.civil(@year, @month, 1) | |
|
518 | @date_to = (@date_from >> 1)-1 | |
|
519 | # start on monday | |
|
520 | @date_from = @date_from - (@date_from.cwday-1) | |
|
521 | # finish on sunday | |
|
522 | @date_to = @date_to + (7-@date_to.cwday) | |
|
515 | @month ||= Date.today.month | |
|
516 | @calendar = Redmine::Helpers::Calendar.new(Date.civil(@year, @month, 1), current_language, :month) | |
|
523 | 517 | |
|
524 |
|
|
|
518 | events = [] | |
|
525 | 519 | @project.issues_with_subprojects(params[:with_subprojects]) do |
|
526 |
|
|
|
520 | events += Issue.find(:all, | |
|
527 | 521 | :include => [:tracker, :status, :assigned_to, :priority, :project], |
|
528 | :conditions => ["((start_date>=? and start_date<=?) or (due_date>=? and due_date<=?)) and #{Issue.table_name}.tracker_id in (#{@selected_tracker_ids.join(',')})", @date_from, @date_to, @date_from, @date_to] | |
|
522 | :conditions => ["((start_date BETWEEN ? AND ?) OR (due_date BETWEEN ? AND ?)) AND #{Issue.table_name}.tracker_id IN (#{@selected_tracker_ids.join(',')})", @calendar.startdt, @calendar.enddt, @calendar.startdt, @calendar.enddt] | |
|
529 | 523 | ) unless @selected_tracker_ids.empty? |
|
530 | 524 | end |
|
531 |
|
|
|
532 | ||
|
533 | @ending_events_by_days = @events.group_by {|event| event.due_date} | |
|
534 | @starting_events_by_days = @events.group_by {|event| event.start_date} | |
|
525 | events += @project.versions.find(:all, :conditions => ["effective_date BETWEEN ? AND ?", @calendar.startdt, @calendar.enddt]) | |
|
526 | @calendar.events = events | |
|
535 | 527 | |
|
536 | 528 | render :layout => false if request.xhr? |
|
537 | 529 | end |
@@ -1,47 +1,8 | |||
|
1 | 1 | <h3><%= l(:label_calendar) %></h3> |
|
2 | 2 | |
|
3 | <% | |
|
4 | @date_from = Date.today - (Date.today.cwday-1) | |
|
5 | @date_to = Date.today + (7-Date.today.cwday) | |
|
6 | @issues = Issue.find :all, | |
|
7 | :conditions => ["#{Issue.table_name}.project_id in (#{@user.projects.collect{|m| m.id}.join(',')}) AND ((start_date>=? and start_date<=?) or (due_date>=? and due_date<=?))", @date_from, @date_to, @date_from, @date_to], | |
|
8 | :include => [:project, :tracker] unless @user.projects.empty? | |
|
9 | @issues ||= [] | |
|
10 | %> | |
|
3 | <% calendar = Redmine::Helpers::Calendar.new(Date.today, current_language, :week) | |
|
4 | calendar.events = Issue.find :all, | |
|
5 | :conditions => ["#{Issue.table_name}.project_id in (#{@user.projects.collect{|m| m.id}.join(',')}) AND ((start_date>=? and start_date<=?) or (due_date>=? and due_date<=?))", calendar.startdt, calendar.enddt, calendar.startdt, calendar.enddt], | |
|
6 | :include => [:project, :tracker, :priority, :assigned_to] unless @user.projects.empty? %> | |
|
11 | 7 | |
|
12 | <table class="cal"> | |
|
13 | <thead><tr> | |
|
14 | <td></td> | |
|
15 | <% 1.upto(7) do |d| %> | |
|
16 | <th align="center" width="14%"><%= day_name(d) %></th> | |
|
17 | <% end %> | |
|
18 | </tr></thead> | |
|
19 | <tbdoy> | |
|
20 | <tr height="100"> | |
|
21 | <% day = @date_from | |
|
22 | while day <= @date_to | |
|
23 | if day.cwday == 1 %> | |
|
24 | <th valign="middle"><%= day.cweek %></th> | |
|
25 | <% end %> | |
|
26 | <td valign="top" width="14%" class="<%= day.month==@month ? "even" : "odd" %>"> | |
|
27 | <p align="right"><%= day==Date.today ? "<b>#{day.day}</b>" : day.day %></p> | |
|
28 | <% day_issues = [] | |
|
29 | @issues.each { |i| day_issues << i if i.start_date == day or i.due_date == day } | |
|
30 | day_issues.each do |i| %> | |
|
31 | <%= if day == i.start_date and day == i.due_date | |
|
32 | image_tag('arrow_bw.png') | |
|
33 | elsif day == i.start_date | |
|
34 | image_tag('arrow_from.png') | |
|
35 | elsif day == i.due_date | |
|
36 | image_tag('arrow_to.png') | |
|
37 | end %> | |
|
38 | <small><%= link_to_issue i %>: <%=h i.subject.sub(/^(.{30}[^\s]*\s).*$/, '\1 (...)') %></small><br /> | |
|
39 | <% end %> | |
|
40 | </td> | |
|
41 | <%= '</tr><tr height="100">' if day.cwday >= 7 and day!=@date_to %> | |
|
42 | <% | |
|
43 | day = day + 1 | |
|
44 | end %> | |
|
45 | </tr> | |
|
46 | </tbody> | |
|
47 | </table> No newline at end of file | |
|
8 | <%= render :partial => 'common/calendar', :locals => {:calendar => calendar } %> |
@@ -15,55 +15,7 | |||
|
15 | 15 | </td></tr> |
|
16 | 16 | </table> |
|
17 | 17 | |
|
18 | <table class="cal"> | |
|
19 | <thead> | |
|
20 | <tr> | |
|
21 | <td></td> | |
|
22 | <% 1.upto(7) do |d| %> | |
|
23 | <th style="width:14%"><%= day_name(d) %></th> | |
|
24 | <% end %> | |
|
25 | </tr> | |
|
26 | </thead> | |
|
27 | <tbody> | |
|
28 | <tr style="height:100px"> | |
|
29 | <% day = @date_from | |
|
30 | while day <= @date_to | |
|
31 | if day.cwday == 1 %> | |
|
32 | <th><%= day.cweek %></th> | |
|
33 | <% end %> | |
|
34 | <td valign="top" class="<%= day.month==@month ? "even" : "odd" %> <%= Date.today == day ? 'today' : '' %>" style="width:14%;"> | |
|
35 | <p class="textright"><%= day==Date.today ? "<b>#{day.day}</b>" : day.day %></p> | |
|
36 | <% ((@ending_events_by_days[day] || []) + (@starting_events_by_days[day] || [])).uniq.each do |i| %> | |
|
37 | <% if i.is_a? Issue %> | |
|
38 | <div class="tooltip"> | |
|
39 | <%= if day == i.start_date and day == i.due_date | |
|
40 | image_tag('arrow_bw.png') | |
|
41 | elsif day == i.start_date | |
|
42 | image_tag('arrow_from.png') | |
|
43 | elsif day == i.due_date | |
|
44 | image_tag('arrow_to.png') | |
|
45 | end %> | |
|
46 | <small> | |
|
47 | <%= h("#{i.project.name} -") unless @project && @project == i.project %> | |
|
48 | <%= link_to_issue i %>: | |
|
49 | <%= h(truncate(i.subject, 30)) %> | |
|
50 | </small> | |
|
51 | <span class="tip"> | |
|
52 | <%= render_issue_tooltip i %> | |
|
53 | </span> | |
|
54 | </div> | |
|
55 | <% else %> | |
|
56 | <small><%= link_to_version i, :class => "icon icon-package" %></small> | |
|
57 | <% end %> | |
|
58 | <% end %> | |
|
59 | </td> | |
|
60 | <%= '</tr><tr style="height:100px">' if day.cwday >= 7 and day!=@date_to %> | |
|
61 | <% | |
|
62 | day = day + 1 | |
|
63 | end %> | |
|
64 | </tr> | |
|
65 | </tbody> | |
|
66 | </table> | |
|
18 | <%= render :partial => 'common/calendar', :locals => {:calendar => @calendar} %> | |
|
67 | 19 | |
|
68 | 20 | <%= image_tag 'arrow_from.png' %> <%= l(:text_tip_task_begin_day) %><br /> |
|
69 | 21 | <%= image_tag 'arrow_to.png' %> <%= l(:text_tip_task_end_day) %><br /> |
@@ -51,6 +51,7 general_csv_separator: ',' | |||
|
51 | 51 | general_csv_encoding: ISO-8859-1 |
|
52 | 52 | general_pdf_encoding: ISO-8859-1 |
|
53 | 53 | general_day_names: Понеделник,Вторник,Сряда,Четвъртък,Петък,Събота,Неделя |
|
54 | general_first_day_of_week: '1' | |
|
54 | 55 | |
|
55 | 56 | notice_account_updated: Профилът е обновен успешно. |
|
56 | 57 | notice_account_invalid_creditentials: Невалиден потребител или парола. |
@@ -51,6 +51,7 general_csv_separator: ',' | |||
|
51 | 51 | general_csv_encoding: UTF-8 |
|
52 | 52 | general_pdf_encoding: UTF-8 |
|
53 | 53 | general_day_names: Pondělí,Úterý,Středa,Čtvrtek,Pátek,Sobota,Neděle |
|
54 | general_first_day_of_week: '1' | |
|
54 | 55 | |
|
55 | 56 | notice_account_updated: Účet byl úspěšně změněn. |
|
56 | 57 | notice_account_invalid_creditentials: Chybné jméno nebo heslo |
@@ -51,6 +51,7 general_csv_separator: ';' | |||
|
51 | 51 | general_csv_encoding: ISO-8859-1 |
|
52 | 52 | general_pdf_encoding: ISO-8859-1 |
|
53 | 53 | general_day_names: Montag,Dienstag,Mittwoch,Donnerstag,Freitag,Samstag,Sonntag |
|
54 | general_first_day_of_week: '1' | |
|
54 | 55 | |
|
55 | 56 | notice_account_updated: Konto wurde erfolgreich aktualisiert. |
|
56 | 57 | notice_account_invalid_creditentials: Benutzer oder Kennwort unzulässig |
@@ -51,6 +51,7 general_csv_separator: ',' | |||
|
51 | 51 | general_csv_encoding: ISO-8859-1 |
|
52 | 52 | general_pdf_encoding: ISO-8859-1 |
|
53 | 53 | general_day_names: Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday |
|
54 | general_first_day_of_week: '7' | |
|
54 | 55 | |
|
55 | 56 | notice_account_updated: Account was successfully updated. |
|
56 | 57 | notice_account_invalid_creditentials: Invalid user or password |
@@ -51,6 +51,7 general_csv_separator: ';' | |||
|
51 | 51 | general_csv_encoding: ISO-8859-15 |
|
52 | 52 | general_pdf_encoding: ISO-8859-15 |
|
53 | 53 | general_day_names: Lunes,Martes,Miércoles,Jueves,Viernes,Sábado,Domingo |
|
54 | general_first_day_of_week: '1' | |
|
54 | 55 | |
|
55 | 56 | notice_account_updated: Cuenta creada correctamente. |
|
56 | 57 | notice_account_invalid_creditentials: Inválido usuario o contraseña |
@@ -51,6 +51,7 general_csv_separator: ';' | |||
|
51 | 51 | general_csv_encoding: ISO-8859-1 |
|
52 | 52 | general_pdf_encoding: ISO-8859-1 |
|
53 | 53 | general_day_names: Lundi,Mardi,Mercredi,Jeudi,Vendredi,Samedi,Dimanche |
|
54 | general_first_day_of_week: '1' | |
|
54 | 55 | |
|
55 | 56 | notice_account_updated: Le compte a été mis à jour avec succès. |
|
56 | 57 | notice_account_invalid_creditentials: Identifiant ou mot de passe invalide. |
@@ -51,6 +51,7 general_csv_separator: ',' | |||
|
51 | 51 | general_csv_encoding: ISO-8859-1 |
|
52 | 52 | general_pdf_encoding: ISO-8859-1 |
|
53 | 53 | general_day_names: Lunedì,Martedì,Mercoledì,Giovedì,Venerdì,Sabato,Domenica |
|
54 | general_first_day_of_week: '1' | |
|
54 | 55 | |
|
55 | 56 | notice_account_updated: L'utenza è stata aggiornata. |
|
56 | 57 | notice_account_invalid_creditentials: Nome utente o password non validi. |
@@ -52,6 +52,7 general_csv_separator: ',' | |||
|
52 | 52 | general_csv_encoding: SJIS |
|
53 | 53 | general_pdf_encoding: SJIS |
|
54 | 54 | general_day_names: 月曜日,火曜日,水曜日,木曜日,金曜日,土曜日,日曜日 |
|
55 | general_first_day_of_week: '7' | |
|
55 | 56 | |
|
56 | 57 | notice_account_updated: アカウントが更新されました。 |
|
57 | 58 | notice_account_invalid_creditentials: ユーザ名もしくはパスワードが無効 |
@@ -51,6 +51,7 general_csv_separator: ',' | |||
|
51 | 51 | general_csv_encoding: ISO-8859-1 |
|
52 | 52 | general_pdf_encoding: ISO-8859-1 |
|
53 | 53 | general_day_names: Maandag, Dinsdag, Woensdag, Donderdag, Vrijdag, Zaterdag, Zondag |
|
54 | general_first_day_of_week: '7' | |
|
54 | 55 | |
|
55 | 56 | notice_account_updated: Account is met succes gewijzigd |
|
56 | 57 | notice_account_invalid_creditentials: Incorrecte gebruikersnaam of wachtwoord |
@@ -51,6 +51,7 general_csv_separator: ',' | |||
|
51 | 51 | general_csv_encoding: ISO-8859-2 |
|
52 | 52 | general_pdf_encoding: ISO-8859-2 |
|
53 | 53 | general_day_names: Poniedziałek,Wtorek,Środa,Czwartek,Piątek,Sobota,Niedziela |
|
54 | general_first_day_of_week: '1' | |
|
54 | 55 | |
|
55 | 56 | notice_account_updated: Konto prawidłowo zaktualizowane. |
|
56 | 57 | notice_account_invalid_creditentials: Zły użytkownik lub hasło |
@@ -51,6 +51,7 general_csv_separator: ',' | |||
|
51 | 51 | general_csv_encoding: ISO-8859-1 |
|
52 | 52 | general_pdf_encoding: ISO-8859-1 |
|
53 | 53 | general_day_names: Segunda,Terca,Quarta,Quinta,Sexta,Sabado,Domingo |
|
54 | general_first_day_of_week: '1' | |
|
54 | 55 | |
|
55 | 56 | notice_account_updated: Conta foi alterada com sucesso. |
|
56 | 57 | notice_account_invalid_creditentials: Usuario ou senha invalido. |
@@ -51,6 +51,7 general_csv_separator: ',' | |||
|
51 | 51 | general_csv_encoding: ISO-8859-1 |
|
52 | 52 | general_pdf_encoding: ISO-8859-1 |
|
53 | 53 | general_day_names: Segunda,Terça,Quarta,Quinta,Sexta,Sábado,Domingo |
|
54 | general_first_day_of_week: '1' | |
|
54 | 55 | |
|
55 | 56 | notice_account_updated: Conta foi atualizada com sucesso. |
|
56 | 57 | notice_account_invalid_creditentials: Usuário ou senha inválidos. |
@@ -51,6 +51,7 general_csv_separator: ',' | |||
|
51 | 51 | general_csv_encoding: ISO-8859-1 |
|
52 | 52 | general_pdf_encoding: ISO-8859-1 |
|
53 | 53 | general_day_names: Luni,Marti,Miercuri,Joi,Vineri,Sambata,Duminica |
|
54 | general_first_day_of_week: '7' | |
|
54 | 55 | |
|
55 | 56 | notice_account_updated: Contul a fost creat cu succes. |
|
56 | 57 | notice_account_invalid_creditentials: Numele utilizator sau parola este invalida. |
@@ -51,6 +51,7 general_csv_separator: ',' | |||
|
51 | 51 | general_csv_encoding: ISO-8859-1 |
|
52 | 52 | general_pdf_encoding: ISO-8859-1 |
|
53 | 53 | general_day_names: Måndag,Tisdag,Onsdag,Torsdag,Fredag,Lördag,Söndag |
|
54 | general_first_day_of_week: '7' | |
|
54 | 55 | |
|
55 | 56 | notice_account_updated: Kontot har uppdaterats |
|
56 | 57 | notice_account_invalid_creditentials: Fel användarnamn eller lösenord |
@@ -54,6 +54,7 general_csv_separator: ',' | |||
|
54 | 54 | general_csv_encoding: gb2312 |
|
55 | 55 | general_pdf_encoding: Big5 |
|
56 | 56 | general_day_names: 一,二,三,四,五,六,日 |
|
57 | general_first_day_of_week: '7' | |
|
57 | 58 | |
|
58 | 59 | notice_account_updated: 帐户更新成功。 |
|
59 | 60 | notice_account_invalid_creditentials: 用户名或密码不正确 |
@@ -212,9 +212,14 vertical-align: bottom; | |||
|
212 | 212 | |
|
213 | 213 | /***** Calendar *****/ |
|
214 | 214 | table.cal {border-collapse: collapse; width: 100%; margin: 8px 0 6px 0;border: 1px solid #d7d7d7;} |
|
215 | table.cal thead th {width: 14%;} | |
|
216 | table.cal tbody tr {height: 100px;} | |
|
215 | 217 | table.cal th { background-color:#EEEEEE; padding: 4px; } |
|
216 | table.cal td {border: 1px solid #d7d7d7;} | |
|
218 | table.cal td {border: 1px solid #d7d7d7; vertical-align: top; font-size: 0.9em;} | |
|
219 | table.cal td p.day-num {font-size: 1.1em; text-align:right;} | |
|
220 | table.cal td.odd p.day-num {color: #bbb;} | |
|
217 | 221 | table.cal td.today {background:#ffffdd;} |
|
222 | table.cal td.today p.day-num {font-weight: bold;} | |
|
218 | 223 | |
|
219 | 224 | /***** Tooltips ******/ |
|
220 | 225 | .tooltip{position:relative;z-index:24;} |
General Comments 0
You need to be logged in to leave comments.
Login now