##// END OF EJS Templates
Calendar:...
Jean-Philippe Lang -
r804:ec51cdd0f992
parent child
Show More
@@ -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 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17
17
18 class MyController < ApplicationController
18 class MyController < ApplicationController
19 helper :issues
20
19 layout 'base'
21 layout 'base'
20 before_filter :require_login
22 before_filter :require_login
21
23
@@ -512,26 +512,18 class ProjectsController < ApplicationController
512 end
512 end
513 end
513 end
514 @year ||= Date.today.year
514 @year ||= Date.today.year
515 @month ||= Date.today.month
515 @month ||= Date.today.month
516
516 @calendar = Redmine::Helpers::Calendar.new(Date.civil(@year, @month, 1), current_language, :month)
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)
523
517
524 @events = []
518 events = []
525 @project.issues_with_subprojects(params[:with_subprojects]) do
519 @project.issues_with_subprojects(params[:with_subprojects]) do
526 @events += Issue.find(:all,
520 events += Issue.find(:all,
527 :include => [:tracker, :status, :assigned_to, :priority, :project],
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 ) unless @selected_tracker_ids.empty?
523 ) unless @selected_tracker_ids.empty?
530 end
524 end
531 @events += @project.versions.find(:all, :conditions => ["effective_date BETWEEN ? AND ?", @date_from, @date_to])
525 events += @project.versions.find(:all, :conditions => ["effective_date BETWEEN ? AND ?", @calendar.startdt, @calendar.enddt])
532
526 @calendar.events = events
533 @ending_events_by_days = @events.group_by {|event| event.due_date}
534 @starting_events_by_days = @events.group_by {|event| event.start_date}
535
527
536 render :layout => false if request.xhr?
528 render :layout => false if request.xhr?
537 end
529 end
@@ -1,47 +1,8
1 <h3><%= l(:label_calendar) %></h3>
1 <h3><%= l(:label_calendar) %></h3>
2
2
3 <%
3 <% calendar = Redmine::Helpers::Calendar.new(Date.today, current_language, :week)
4 @date_from = Date.today - (Date.today.cwday-1)
4 calendar.events = Issue.find :all,
5 @date_to = Date.today + (7-Date.today.cwday)
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 @issues = Issue.find :all,
6 :include => [:project, :tracker, :priority, :assigned_to] unless @user.projects.empty? %>
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 %>
11
7
12 <table class="cal">
8 <%= render :partial => 'common/calendar', :locals => {:calendar => calendar } %>
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
@@ -15,55 +15,7
15 </td></tr>
15 </td></tr>
16 </table>
16 </table>
17
17
18 <table class="cal">
18 <%= render :partial => 'common/calendar', :locals => {:calendar => @calendar} %>
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>
67
19
68 <%= image_tag 'arrow_from.png' %>&nbsp;&nbsp;<%= l(:text_tip_task_begin_day) %><br />
20 <%= image_tag 'arrow_from.png' %>&nbsp;&nbsp;<%= l(:text_tip_task_begin_day) %><br />
69 <%= image_tag 'arrow_to.png' %>&nbsp;&nbsp;<%= l(:text_tip_task_end_day) %><br />
21 <%= image_tag 'arrow_to.png' %>&nbsp;&nbsp;<%= l(:text_tip_task_end_day) %><br />
@@ -51,6 +51,7 general_csv_separator: ','
51 general_csv_encoding: ISO-8859-1
51 general_csv_encoding: ISO-8859-1
52 general_pdf_encoding: ISO-8859-1
52 general_pdf_encoding: ISO-8859-1
53 general_day_names: Понеделник,Вторник,Сряда,Четвъртък,Петък,Събота,Неделя
53 general_day_names: Понеделник,Вторник,Сряда,Четвъртък,Петък,Събота,Неделя
54 general_first_day_of_week: '1'
54
55
55 notice_account_updated: Профилът е обновен успешно.
56 notice_account_updated: Профилът е обновен успешно.
56 notice_account_invalid_creditentials: Невалиден потребител или парола.
57 notice_account_invalid_creditentials: Невалиден потребител или парола.
@@ -51,6 +51,7 general_csv_separator: ','
51 general_csv_encoding: UTF-8
51 general_csv_encoding: UTF-8
52 general_pdf_encoding: UTF-8
52 general_pdf_encoding: UTF-8
53 general_day_names: Pondělí,Úterý,Středa,Čtvrtek,Pátek,Sobota,Neděle
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 notice_account_updated: Účet byl úspěšně změněn.
56 notice_account_updated: Účet byl úspěšně změněn.
56 notice_account_invalid_creditentials: Chybné jméno nebo heslo
57 notice_account_invalid_creditentials: Chybné jméno nebo heslo
@@ -51,6 +51,7 general_csv_separator: ';'
51 general_csv_encoding: ISO-8859-1
51 general_csv_encoding: ISO-8859-1
52 general_pdf_encoding: ISO-8859-1
52 general_pdf_encoding: ISO-8859-1
53 general_day_names: Montag,Dienstag,Mittwoch,Donnerstag,Freitag,Samstag,Sonntag
53 general_day_names: Montag,Dienstag,Mittwoch,Donnerstag,Freitag,Samstag,Sonntag
54 general_first_day_of_week: '1'
54
55
55 notice_account_updated: Konto wurde erfolgreich aktualisiert.
56 notice_account_updated: Konto wurde erfolgreich aktualisiert.
56 notice_account_invalid_creditentials: Benutzer oder Kennwort unzulässig
57 notice_account_invalid_creditentials: Benutzer oder Kennwort unzulässig
@@ -51,6 +51,7 general_csv_separator: ','
51 general_csv_encoding: ISO-8859-1
51 general_csv_encoding: ISO-8859-1
52 general_pdf_encoding: ISO-8859-1
52 general_pdf_encoding: ISO-8859-1
53 general_day_names: Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday
53 general_day_names: Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday
54 general_first_day_of_week: '7'
54
55
55 notice_account_updated: Account was successfully updated.
56 notice_account_updated: Account was successfully updated.
56 notice_account_invalid_creditentials: Invalid user or password
57 notice_account_invalid_creditentials: Invalid user or password
@@ -51,6 +51,7 general_csv_separator: ';'
51 general_csv_encoding: ISO-8859-15
51 general_csv_encoding: ISO-8859-15
52 general_pdf_encoding: ISO-8859-15
52 general_pdf_encoding: ISO-8859-15
53 general_day_names: Lunes,Martes,Miércoles,Jueves,Viernes,Sábado,Domingo
53 general_day_names: Lunes,Martes,Miércoles,Jueves,Viernes,Sábado,Domingo
54 general_first_day_of_week: '1'
54
55
55 notice_account_updated: Cuenta creada correctamente.
56 notice_account_updated: Cuenta creada correctamente.
56 notice_account_invalid_creditentials: Inválido usuario o contraseña
57 notice_account_invalid_creditentials: Inválido usuario o contraseña
@@ -51,6 +51,7 general_csv_separator: ';'
51 general_csv_encoding: ISO-8859-1
51 general_csv_encoding: ISO-8859-1
52 general_pdf_encoding: ISO-8859-1
52 general_pdf_encoding: ISO-8859-1
53 general_day_names: Lundi,Mardi,Mercredi,Jeudi,Vendredi,Samedi,Dimanche
53 general_day_names: Lundi,Mardi,Mercredi,Jeudi,Vendredi,Samedi,Dimanche
54 general_first_day_of_week: '1'
54
55
55 notice_account_updated: Le compte a été mis à jour avec succès.
56 notice_account_updated: Le compte a été mis à jour avec succès.
56 notice_account_invalid_creditentials: Identifiant ou mot de passe invalide.
57 notice_account_invalid_creditentials: Identifiant ou mot de passe invalide.
@@ -51,6 +51,7 general_csv_separator: ','
51 general_csv_encoding: ISO-8859-1
51 general_csv_encoding: ISO-8859-1
52 general_pdf_encoding: ISO-8859-1
52 general_pdf_encoding: ISO-8859-1
53 general_day_names: Lunedì,Martedì,Mercoledì,Giovedì,Venerdì,Sabato,Domenica
53 general_day_names: Lunedì,Martedì,Mercoledì,Giovedì,Venerdì,Sabato,Domenica
54 general_first_day_of_week: '1'
54
55
55 notice_account_updated: L'utenza è stata aggiornata.
56 notice_account_updated: L'utenza è stata aggiornata.
56 notice_account_invalid_creditentials: Nome utente o password non validi.
57 notice_account_invalid_creditentials: Nome utente o password non validi.
@@ -52,6 +52,7 general_csv_separator: ','
52 general_csv_encoding: SJIS
52 general_csv_encoding: SJIS
53 general_pdf_encoding: SJIS
53 general_pdf_encoding: SJIS
54 general_day_names: 月曜日,火曜日,水曜日,木曜日,金曜日,土曜日,日曜日
54 general_day_names: 月曜日,火曜日,水曜日,木曜日,金曜日,土曜日,日曜日
55 general_first_day_of_week: '7'
55
56
56 notice_account_updated: アカウントが更新されました。
57 notice_account_updated: アカウントが更新されました。
57 notice_account_invalid_creditentials: ユーザ名もしくはパスワードが無効
58 notice_account_invalid_creditentials: ユーザ名もしくはパスワードが無効
@@ -51,6 +51,7 general_csv_separator: ','
51 general_csv_encoding: ISO-8859-1
51 general_csv_encoding: ISO-8859-1
52 general_pdf_encoding: ISO-8859-1
52 general_pdf_encoding: ISO-8859-1
53 general_day_names: Maandag, Dinsdag, Woensdag, Donderdag, Vrijdag, Zaterdag, Zondag
53 general_day_names: Maandag, Dinsdag, Woensdag, Donderdag, Vrijdag, Zaterdag, Zondag
54 general_first_day_of_week: '7'
54
55
55 notice_account_updated: Account is met succes gewijzigd
56 notice_account_updated: Account is met succes gewijzigd
56 notice_account_invalid_creditentials: Incorrecte gebruikersnaam of wachtwoord
57 notice_account_invalid_creditentials: Incorrecte gebruikersnaam of wachtwoord
@@ -51,6 +51,7 general_csv_separator: ','
51 general_csv_encoding: ISO-8859-2
51 general_csv_encoding: ISO-8859-2
52 general_pdf_encoding: ISO-8859-2
52 general_pdf_encoding: ISO-8859-2
53 general_day_names: Poniedziałek,Wtorek,Środa,Czwartek,Piątek,Sobota,Niedziela
53 general_day_names: Poniedziałek,Wtorek,Środa,Czwartek,Piątek,Sobota,Niedziela
54 general_first_day_of_week: '1'
54
55
55 notice_account_updated: Konto prawidłowo zaktualizowane.
56 notice_account_updated: Konto prawidłowo zaktualizowane.
56 notice_account_invalid_creditentials: Zły użytkownik lub hasło
57 notice_account_invalid_creditentials: Zły użytkownik lub hasło
@@ -51,6 +51,7 general_csv_separator: ','
51 general_csv_encoding: ISO-8859-1
51 general_csv_encoding: ISO-8859-1
52 general_pdf_encoding: ISO-8859-1
52 general_pdf_encoding: ISO-8859-1
53 general_day_names: Segunda,Terca,Quarta,Quinta,Sexta,Sabado,Domingo
53 general_day_names: Segunda,Terca,Quarta,Quinta,Sexta,Sabado,Domingo
54 general_first_day_of_week: '1'
54
55
55 notice_account_updated: Conta foi alterada com sucesso.
56 notice_account_updated: Conta foi alterada com sucesso.
56 notice_account_invalid_creditentials: Usuario ou senha invalido.
57 notice_account_invalid_creditentials: Usuario ou senha invalido.
@@ -51,6 +51,7 general_csv_separator: ','
51 general_csv_encoding: ISO-8859-1
51 general_csv_encoding: ISO-8859-1
52 general_pdf_encoding: ISO-8859-1
52 general_pdf_encoding: ISO-8859-1
53 general_day_names: Segunda,Terça,Quarta,Quinta,Sexta,Sábado,Domingo
53 general_day_names: Segunda,Terça,Quarta,Quinta,Sexta,Sábado,Domingo
54 general_first_day_of_week: '1'
54
55
55 notice_account_updated: Conta foi atualizada com sucesso.
56 notice_account_updated: Conta foi atualizada com sucesso.
56 notice_account_invalid_creditentials: Usuário ou senha inválidos.
57 notice_account_invalid_creditentials: Usuário ou senha inválidos.
@@ -51,6 +51,7 general_csv_separator: ','
51 general_csv_encoding: ISO-8859-1
51 general_csv_encoding: ISO-8859-1
52 general_pdf_encoding: ISO-8859-1
52 general_pdf_encoding: ISO-8859-1
53 general_day_names: Luni,Marti,Miercuri,Joi,Vineri,Sambata,Duminica
53 general_day_names: Luni,Marti,Miercuri,Joi,Vineri,Sambata,Duminica
54 general_first_day_of_week: '7'
54
55
55 notice_account_updated: Contul a fost creat cu succes.
56 notice_account_updated: Contul a fost creat cu succes.
56 notice_account_invalid_creditentials: Numele utilizator sau parola este invalida.
57 notice_account_invalid_creditentials: Numele utilizator sau parola este invalida.
@@ -51,6 +51,7 general_csv_separator: ','
51 general_csv_encoding: ISO-8859-1
51 general_csv_encoding: ISO-8859-1
52 general_pdf_encoding: ISO-8859-1
52 general_pdf_encoding: ISO-8859-1
53 general_day_names: Måndag,Tisdag,Onsdag,Torsdag,Fredag,Lördag,Söndag
53 general_day_names: Måndag,Tisdag,Onsdag,Torsdag,Fredag,Lördag,Söndag
54 general_first_day_of_week: '7'
54
55
55 notice_account_updated: Kontot har uppdaterats
56 notice_account_updated: Kontot har uppdaterats
56 notice_account_invalid_creditentials: Fel användarnamn eller lösenord
57 notice_account_invalid_creditentials: Fel användarnamn eller lösenord
@@ -54,6 +54,7 general_csv_separator: ','
54 general_csv_encoding: gb2312
54 general_csv_encoding: gb2312
55 general_pdf_encoding: Big5
55 general_pdf_encoding: Big5
56 general_day_names: 一,二,三,四,五,六,日
56 general_day_names: 一,二,三,四,五,六,日
57 general_first_day_of_week: '7'
57
58
58 notice_account_updated: 帐户更新成功。
59 notice_account_updated: 帐户更新成功。
59 notice_account_invalid_creditentials: 用户名或密码不正确
60 notice_account_invalid_creditentials: 用户名或密码不正确
@@ -212,9 +212,14 vertical-align: bottom;
212
212
213 /***** Calendar *****/
213 /***** Calendar *****/
214 table.cal {border-collapse: collapse; width: 100%; margin: 8px 0 6px 0;border: 1px solid #d7d7d7;}
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 table.cal th { background-color:#EEEEEE; padding: 4px; }
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 table.cal td.today {background:#ffffdd;}
221 table.cal td.today {background:#ffffdd;}
222 table.cal td.today p.day-num {font-weight: bold;}
218
223
219 /***** Tooltips ******/
224 /***** Tooltips ******/
220 .tooltip{position:relative;z-index:24;}
225 .tooltip{position:relative;z-index:24;}
General Comments 0
You need to be logged in to leave comments. Login now