Compare commits

..

1 Commits

Author SHA1 Message Date
Jean-Philippe Lang
d3ae4cfd11 tagged version 1.0.4
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/tags/1.0.4@4448 e93f8b46-1217-0410-a6f0-8f06a7374b81
2010-11-28 12:57:17 +00:00
70 changed files with 3821 additions and 3887 deletions

View File

@@ -19,7 +19,6 @@ class JournalsController < ApplicationController
before_filter :find_journal, :only => [:edit]
before_filter :find_issue, :only => [:new]
before_filter :find_optional_project, :only => [:index]
before_filter :authorize, :only => [:new, :edit]
accept_key_auth :index
helper :issues

View File

@@ -84,15 +84,14 @@ class IssueRelation < ActiveRecord::Base
def set_issue_to_dates
soonest_start = self.successor_soonest_start
if soonest_start && issue_to
if soonest_start
issue_to.reschedule_after(soonest_start)
end
end
def successor_soonest_start
if (TYPE_PRECEDES == self.relation_type) && delay && issue_from && (issue_from.start_date || issue_from.due_date)
(issue_from.due_date || issue_from.start_date) + 1 + delay
end
return nil unless (TYPE_PRECEDES == self.relation_type) && (issue_from.start_date || issue_from.due_date)
(issue_from.due_date || issue_from.start_date) + 1 + delay
end
def <=>(relation)

View File

@@ -368,15 +368,15 @@ class Query < ActiveRecord::Base
# Returns true if the query is a grouped query
def grouped?
!group_by_column.nil?
!group_by.blank?
end
def group_by_column
groupable_columns.detect {|c| c.groupable && c.name.to_s == group_by}
groupable_columns.detect {|c| c.name.to_s == group_by}
end
def group_by_statement
group_by_column.try(:groupable)
group_by_column.groupable
end
def project_statement

View File

@@ -47,7 +47,7 @@
<hr />
<div class="contextual">
<%= link_to_remote_if_authorized(l(:button_quote), { :url => {:controller => 'journals', :action => 'new', :id => @issue} }, :class => 'icon icon-comment') unless @issue.description.blank? %>
<%= link_to_remote_if_authorized(l(:button_quote), { :url => {:action => 'reply', :id => @issue} }, :class => 'icon icon-comment') unless @issue.description.blank? %>
</div>
<p><strong><%=l(:field_description)%></strong></p>

View File

@@ -20,7 +20,7 @@
<!-- page specific tags -->
<%= yield :header_tags -%>
</head>
<body class="<%=h body_css_classes %>">
<body class="<%= body_css_classes %>">
<div id="wrapper">
<div id="wrapper2">
<div id="top-menu">

View File

@@ -106,17 +106,5 @@ module Rails
end
end
# TODO: Workaround for #7013 to be removed for 1.2.0
# Loads i18n 0.4.2 before Rails loads any more recent gem
# 0.5.0 is not compatible with the old interpolation syntax
# Plugins will have to migrate to the new syntax for 1.2.0
require 'rubygems'
begin
gem 'i18n', '0.4.2'
rescue Gem::LoadError => load_error
$stderr.puts %(Missing the i18n 0.4.2 gem. Please `gem install -v=0.4.2 i18n`)
exit 1
end
# All that for this:
Rails.boot!

View File

@@ -86,7 +86,7 @@ module I18n
module Base
def warn_syntax_deprecation!(*args)
return if @skip_syntax_deprecation
warn "The {{key}} interpolation syntax in I18n messages is deprecated and will be removed in Redmine 1.2. Please use %{key} instead, see http://www.redmine.org/issues/7013 for more information."
warn "The {{key}} interpolation syntax in I18n messages is deprecated. Please use %{key} instead.\nDowngrade your i18n gem to 0.3.7 (everything above must be deinstalled) to remove this warning, see http://www.redmine.org/issues/5608 for more information."
@skip_syntax_deprecation = true
end
end

View File

@@ -221,7 +221,6 @@ bg:
field_attr_lastname: Атрибут Фамилия (Lastname)
field_attr_mail: Атрибут Email
field_onthefly: Динамично създаване на потребител
field_start_date: Начална дата
field_done_ratio: % Прогрес
field_auth_source: Начин на оторизация
field_hide_mail: Скрий e-mail адреса ми
@@ -809,12 +808,12 @@ bg:
text_wiki_page_destroy_children: Изтриване на страниците деца и всички техни descendants
setting_password_min_length: Минимална дължина на парола
field_group_by: Групиране на резултатите по
mail_subject_wiki_content_updated: "Wiki страницата '{{page}}' не беше обновена"
mail_subject_wiki_content_updated: "Wiki страницата '{{id}}' не беше обновена"
label_wiki_content_added: Wiki страница беше добавена
mail_subject_wiki_content_added: "Wiki страницата '{{page}}' беше добавена"
mail_body_wiki_content_added: Wiki страницата '{{page}}' беше добавена от {{author}}.
mail_subject_wiki_content_added: "Wiki страницата '{{id}}' беше добавена"
mail_body_wiki_content_added: Wiki страницата '{{id}}' беше добавена от {{author}}.
label_wiki_content_updated: Wiki страница беше обновена
mail_body_wiki_content_updated: Wiki страницата '{{page}}' беше обновена от {{author}}.
mail_body_wiki_content_updated: Wiki страницата '{{id}}' беше обновена от {{author}}.
permission_add_project: Създаване на проект
setting_new_project_user_role_id: Роля, давана на потребител, създаващ проекти, който не е администратор
label_view_all_revisions: Разглеждане на всички ревизии
@@ -907,15 +906,19 @@ bg:
notice_not_authorized_archived_project: Проектът, който се опитвате да видите е архивиран.
text_tip_issue_end_day: задача, завършваща този ден
field_text: Текстово поле
label_user_mail_option_only_owner: Само за неща, на които аз съм собственик
field_member_of_group: Член на група
project_module_gantt: Мрежов график
text_are_you_sure_with_children: Изтриване на задачата и нейните подзадачи?
text_tip_issue_begin_end_day: задача, започваща и завършваща този ден
setting_default_notification_option: Подразбиращ се начин за известяване
project_module_calendar: Календар
label_user_mail_option_only_my_events: Само за неща, в които съм включен/а
text_tip_issue_begin_day: задача, започваща този ден
label_user_mail_option_only_assigned: Само за неща, назначени на мен
button_edit_associated_wikipage: "Редактиране на асоциираната Wiki страница: {{page_title}}"
field_assigned_to_role: Assignee's role
field_start_date: Начална дата
label_principal_search: "Търсене на потребител или група:"
label_user_search: "Търсене на потребител:"
field_visible: Видим

View File

@@ -252,7 +252,6 @@ bs:
field_attr_lastname: Atribut za prezime
field_attr_mail: Atribut za email
field_onthefly: 'Kreiranje korisnika "On-the-fly"'
field_start_date: Početak
field_done_ratio: % Realizovano
field_auth_source: Mod za authentifikaciju
field_hide_mail: Sakrij moju email adresu
@@ -932,5 +931,7 @@ bs:
button_edit_associated_wikipage: "Edit associated Wiki page: {{page_title}}"
text_are_you_sure_with_children: Delete issue and all child issues?
field_text: Text field
field_start_date: Start date
label_principal_search: "Search for user or group:"
label_user_search: "Search for user:"

View File

@@ -264,7 +264,6 @@ ca:
field_attr_lastname: Atribut del cognom
field_attr_mail: Atribut del correu electrònic
field_onthefly: "Creació de l'usuari «al vol»"
field_start_date: Inici
field_done_ratio: % realitzat
field_auth_source: "Mode d'autenticació"
field_hide_mail: "Oculta l'adreça de correu electrònic"
@@ -920,5 +919,7 @@ ca:
button_edit_associated_wikipage: "Edit associated Wiki page: {{page_title}}"
text_are_you_sure_with_children: Delete issue and all child issues?
field_text: Text field
field_start_date: Start date
label_principal_search: "Search for user or group:"
label_user_search: "Search for user:"

View File

@@ -237,7 +237,6 @@ cs:
field_attr_lastname: Příjemní (atribut)
field_attr_mail: Email (atribut)
field_onthefly: Automatické vytváření uživatelů
field_start_date: Začátek
field_done_ratio: % Hotovo
field_auth_source: Autentifikační mód
field_hide_mail: Nezobrazovat můj email
@@ -918,5 +917,6 @@ cs:
button_edit_associated_wikipage: "Upravit přiřazenou Wiki stránku: {{page_title}}"
text_are_you_sure_with_children: Smazat úkol včetně všech podúkolů?
field_text: Textové pole
field_start_date: Start date
label_principal_search: "Search for user or group:"
label_user_search: "Search for user:"

View File

@@ -250,7 +250,6 @@ da:
field_attr_lastname: Efternavn attribut
field_attr_mail: Email attribut
field_onthefly: løbende brugeroprettelse
field_start_date: Start date
field_done_ratio: % Færdig
field_auth_source: Sikkerhedsmetode
field_hide_mail: Skjul min email
@@ -934,5 +933,7 @@ da:
button_edit_associated_wikipage: "Redigér tilknyttet Wiki side: {{page_title}}"
text_are_you_sure_with_children: Slet sag og alle undersager?
field_text: Tekstfelt
field_start_date: Start date
label_principal_search: "Search for user or group:"
label_user_search: "Search for user:"

View File

@@ -280,7 +280,6 @@ de:
field_attr_lastname: Name-Attribut
field_attr_mail: E-Mail-Attribut
field_onthefly: On-the-fly-Benutzererstellung
field_start_date: Beginn
field_done_ratio: % erledigt
field_auth_source: Authentifizierungs-Modus
field_hide_mail: E-Mail-Adresse nicht anzeigen
@@ -940,6 +939,9 @@ de:
field_text: Text field
setting_default_notification_option: Default notification option
notice_not_authorized_archived_project: The project you're trying to access has been archived.
label_user_mail_option_none: "Only for things I watch or I'm involved in"
field_member_of_group: Assignee's group
field_assigned_to_role: Assignee's role
field_start_date: Start date
button_edit_associated_wikipage: "Edit associated Wiki page: {{page_title}}"

View File

@@ -247,7 +247,6 @@ el:
field_attr_lastname: Ιδιότητα επωνύμου
field_attr_mail: Ιδιότητα email
field_onthefly: Άμεση δημιουργία χρήστη
field_start_date: Εκκίνηση
field_done_ratio: % επιτεύχθη
field_auth_source: Τρόπος πιστοποίησης
field_hide_mail: Απόκρυψη διεύθυνσης email
@@ -918,5 +917,7 @@ el:
button_edit_associated_wikipage: "Edit associated Wiki page: {{page_title}}"
text_are_you_sure_with_children: Delete issue and all child issues?
field_text: Text field
field_start_date: Start date
label_principal_search: "Search for user or group:"
label_user_search: "Search for user:"

View File

@@ -313,7 +313,6 @@ es:
field_role: Perfil
field_searchable: Incluir en las búsquedas
field_spent_on: Fecha
field_start_date: Fecha de inicio
field_start_page: Página principal
field_status: Estado
field_subject: Tema
@@ -637,7 +636,6 @@ es:
label_user_mail_no_self_notified: "No quiero ser avisado de cambios hechos por mí"
label_user_mail_option_all: "Para cualquier evento en todos mis proyectos"
label_user_mail_option_selected: "Para cualquier evento de los proyectos seleccionados..."
label_user_mail_option_none: "Sólo para elementos monitorizados o relacionados conmigo"
label_user_new: Nuevo usuario
label_user_plural: Usuarios
label_version: Versión
@@ -855,12 +853,12 @@ es:
text_wiki_page_destroy_children: Eliminar páginas hijas y todos sus descendientes
setting_password_min_length: Longitud mínima de la contraseña
field_group_by: Agrupar resultados por
mail_subject_wiki_content_updated: "La página wiki '{{page}}' ha sido actualizada"
mail_subject_wiki_content_updated: "La página wiki '{{id}}' ha sido actualizada"
label_wiki_content_added: Página wiki añadida
mail_subject_wiki_content_added: "Se ha añadido la página wiki '{{page}}'."
mail_body_wiki_content_added: "{{author}} ha añadido la página wiki '{{page}}'."
mail_subject_wiki_content_added: "Se ha añadido la página wiki '{{id}}'."
mail_body_wiki_content_added: "{{author}} ha añadido la página wiki '{{id}}'."
label_wiki_content_updated: Página wiki actualizada
mail_body_wiki_content_updated: La página wiki '{{page}}' ha sido actualizada por {{author}}.
mail_body_wiki_content_updated: La página wiki '{{id}}' ha sido actualizada por {{author}}.
permission_add_project: Crear proyecto
setting_new_project_user_role_id: Permiso asignado a un usuario no-administrador para crear proyectos
label_view_all_revisions: Ver todas las revisiones
@@ -956,10 +954,15 @@ es:
button_edit_associated_wikipage: "Editar paginas Wiki asociadas: {{page_title}}"
text_are_you_sure_with_children: ¿Borrar peticiones y todas sus peticiones hijas?
field_text: Campo de texto
label_user_mail_option_only_owner: Solo para objetos que soy propietario
setting_default_notification_option: Opcion de notificacion por defecto
label_user_mail_option_only_my_events: Solo para objetos que soy seguidor o estoy involucrado
label_user_mail_option_only_assigned: Solo para objetos que estoy asignado
label_user_mail_option_none: Sin eventos
field_member_of_group: Asignado al grupo
field_assigned_to_role: Asignado al perfil
notice_not_authorized_archived_project: El proyecto al que intenta acceder ha sido archivado.
field_start_date: Fecha de inicio
label_principal_search: "Buscar por usuario o grupo:"
label_user_search: "Buscar por usuario:"
field_visible: Visible

File diff suppressed because it is too large Load Diff

View File

@@ -262,7 +262,6 @@ fi:
field_attr_lastname: Sukunimenmääre
field_attr_mail: Sähköpostinmääre
field_onthefly: Automaattinen käyttäjien luonti
field_start_date: Alku
field_done_ratio: % Tehty
field_auth_source: Varmennusmuoto
field_hide_mail: Piiloita sähköpostiosoitteeni
@@ -943,5 +942,6 @@ fi:
button_edit_associated_wikipage: "Edit associated Wiki page: {{page_title}}"
text_are_you_sure_with_children: Delete issue and all child issues?
field_text: Text field
field_start_date: Start date
label_principal_search: "Search for user or group:"
label_user_search: "Search for user:"

View File

@@ -271,7 +271,6 @@ fr:
field_attr_lastname: Attribut Nom
field_attr_mail: Attribut Email
field_onthefly: Création des utilisateurs à la volée
field_start_date: Début
field_done_ratio: % réalisé
field_auth_source: Mode d'authentification
field_hide_mail: Cacher mon adresse mail
@@ -938,6 +937,12 @@ fr:
button_edit_associated_wikipage: "Modifier la page wiki associée: {{page_title}}"
text_are_you_sure_with_children: Supprimer la demande et toutes ses sous-demandes ?
field_text: Champ texte
label_user_mail_option_only_owner: Seulement pour ce que j'ai créé
setting_default_notification_option: Option de notification par défaut
label_user_mail_option_only_my_events: Seulement pour ce que je surveille
label_user_mail_option_only_assigned: Seulement pour ce qui m'est assigné
label_user_mail_option_none: Aucune notification
field_member_of_group: Groupe de l'assigné
field_assigned_to_role: Rôle de l'assigné
field_start_date: Start date

View File

@@ -290,7 +290,6 @@ gl:
field_role: Perfil
field_searchable: Incluír nas búsquedas
field_spent_on: Data
field_start_date: Data de inicio
field_start_page: Páxina principal
field_status: Estado
field_subject: Tema
@@ -934,5 +933,7 @@ gl:
button_edit_associated_wikipage: "Edit associated Wiki page: {{page_title}}"
text_are_you_sure_with_children: Delete issue and all child issues?
field_text: Text field
field_start_date: Start date
label_principal_search: "Search for user or group:"
label_user_search: "Search for user:"

View File

@@ -266,7 +266,6 @@ he:
field_attr_lastname: תכונת שם משפחה
field_attr_mail: תכונת דוא"ל
field_onthefly: יצירת משתמשים זריזה
field_start_date: תאריך התחלה
field_done_ratio: % גמור
field_auth_source: מקור הזדהות
field_hide_mail: החבא את כתובת הדוא"ל שלי
@@ -732,6 +731,9 @@ he:
label_user_mail_option_all: "לכל אירוע בכל הפרויקטים שלי"
label_user_mail_option_selected: "לכל אירוע בפרויקטים שבחרתי בלבד..."
label_user_mail_option_none: "רק לנושאים שאני צופה או קשור אליהם"
label_user_mail_option_only_my_events: עבור דברים שאני צופה או מעורב בהם בלבד
label_user_mail_option_only_assigned: עבור דברים שאני אחראי עליהם בלבד
label_user_mail_option_only_owner: עבור דברים שאני הבעלים שלהם בלבד
label_user_mail_no_self_notified: "אני לא רוצה שיודיעו לי על שינויים שאני מבצע"
label_registration_activation_by_email: הפעל חשבון באמצעות דוא"ל
label_registration_manual_activation: הפעלת חשבון ידנית
@@ -925,7 +927,9 @@ he:
enumeration_doc_categories: קטגוריות מסמכים
enumeration_activities: פעילויות (מעקב אחר זמנים)
enumeration_system_activity: פעילות מערכת
label_user_mail_option_none: No events
field_member_of_group: Assignee's group
field_assigned_to_role: Assignee's role
field_start_date: Start date
label_principal_search: "Search for user or group:"
label_user_search: "Search for user:"

View File

@@ -253,7 +253,6 @@ hr:
field_attr_lastname: Atribut prezimena
field_attr_mail: Atribut e-pošte
field_onthefly: "Izrada korisnika \"u hodu\""
field_start_date: Pocetak
field_done_ratio: % Učinjeno
field_auth_source: Vrsta prijavljivanja
field_hide_mail: Sakrij moju adresu e-pošte
@@ -925,5 +924,6 @@ hr:
button_edit_associated_wikipage: "Edit associated Wiki page: {{page_title}}"
text_are_you_sure_with_children: Delete issue and all child issues?
field_text: Text field
field_start_date: Start date
label_principal_search: "Search for user or group:"
label_user_search: "Search for user:"

View File

@@ -260,7 +260,6 @@
field_attr_lastname: Vezetéknév
field_attr_mail: E-mail
field_onthefly: On-the-fly felhasználó létrehozás
field_start_date: Kezdés dátuma
field_done_ratio: Elkészült (%)
field_auth_source: Azonosítási mód
field_hide_mail: Rejtse el az e-mail címem
@@ -941,5 +940,6 @@
button_edit_associated_wikipage: "Edit associated Wiki page: {{page_title}}"
text_are_you_sure_with_children: Delete issue and all child issues?
field_text: Text field
field_start_date: Start date
label_principal_search: "Search for user or group:"
label_user_search: "Search for user:"

View File

@@ -251,7 +251,6 @@ id:
field_attr_lastname: Atribut nama belakang
field_attr_mail: Atribut email
field_onthefly: Pembuatan pengguna seketika
field_start_date: Mulai
field_done_ratio: % Selesai
field_auth_source: Mode otentikasi
field_hide_mail: Sembunyikan email saya
@@ -926,5 +925,6 @@ id:
button_edit_associated_wikipage: "Edit associated Wiki page: {{page_title}}"
text_are_you_sure_with_children: Delete issue and all child issues?
field_text: Text field
field_start_date: Start date
label_principal_search: "Search for user or group:"
label_user_search: "Search for user:"

View File

@@ -232,7 +232,6 @@ it:
field_attr_lastname: Attributo cognome
field_attr_mail: Attributo email
field_onthefly: Creazione utente "al volo"
field_start_date: Inizio
field_done_ratio: % completato
field_auth_source: Modalità di autenticazione
field_hide_mail: Nascondi il mio indirizzo email
@@ -922,5 +921,6 @@ it:
button_edit_associated_wikipage: "Edit associated Wiki page: {{page_title}}"
text_are_you_sure_with_children: Delete issue and all child issues?
field_text: Text field
field_start_date: Start date
label_principal_search: "Search for user or group:"
label_user_search: "Search for user:"

View File

@@ -757,6 +757,9 @@ ja:
label_user_mail_option_all: "参加しているプロジェクトの全ての通知"
label_user_mail_option_selected: "選択したプロジェクトの全ての通知..."
label_user_mail_option_none: "通知しない"
label_user_mail_option_only_my_events: "ウォッチまたは関係している事柄のみ"
label_user_mail_option_only_assigned: "自分が担当している事柄のみ"
label_user_mail_option_only_owner: "自分が作成した事柄のみ"
label_user_mail_no_self_notified: 自分自身による変更の通知は不要
label_registration_activation_by_email: メールでアカウントを有効化
label_registration_manual_activation: 手動でアカウントを有効化
@@ -949,5 +952,6 @@ ja:
enumeration_doc_categories: 文書カテゴリ
enumeration_activities: 作業分類 (時間トラッキング)
enumeration_system_activity: システム作業分類
field_start_date: Start date
label_principal_search: "Search for user or group:"
label_user_search: "Search for user:"

View File

@@ -299,7 +299,6 @@ ko:
field_attr_lastname: 성 속성
field_attr_mail: 메일 속성
field_onthefly: 동적 사용자 생성
field_start_date: 시작시간
field_done_ratio: 진척도
field_auth_source: 인증 공급자
field_hide_mail: 메일 주소 숨기기
@@ -974,5 +973,6 @@ ko:
button_edit_associated_wikipage: "Edit associated Wiki page: {{page_title}}"
text_are_you_sure_with_children: Delete issue and all child issues?
field_text: Text field
field_start_date: Start date
label_principal_search: "Search for user or group:"
label_user_search: "Search for user:"

View File

@@ -310,7 +310,6 @@ lt:
field_attr_lastname: Pavardės priskiria
field_attr_mail: Elektroninio pašto požymis
field_onthefly: Automatinis vartotojų registravimas
field_start_date: Pradėti
field_done_ratio: % atlikta
field_auth_source: Autentiškumo nustatymo būdas
field_hide_mail: Paslėpkite mano elektroninio pašto adresą
@@ -982,5 +981,6 @@ lt:
button_edit_associated_wikipage: "Edit associated Wiki page: {{page_title}}"
text_are_you_sure_with_children: Delete issue and all child issues?
field_text: Text field
field_start_date: Start date
label_principal_search: "Search for user or group:"
label_user_search: "Search for user:"

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -256,7 +256,6 @@ nl:
field_role: Rol
field_searchable: Doorzoekbaar
field_spent_on: Datum
field_start_date: Startdatum
field_start_page: Startpagina
field_status: Status
field_subject: Onderwerp
@@ -900,5 +899,6 @@ nl:
button_edit_associated_wikipage: "Edit associated Wiki page: {{page_title}}"
text_are_you_sure_with_children: Delete issue and all child issues?
field_text: Text field
field_start_date: Start date
label_principal_search: "Search for user or group:"
label_user_search: "Search for user:"

View File

@@ -231,7 +231,6 @@
field_attr_lastname: Etternavnsattributt
field_attr_mail: E-post-attributt
field_onthefly: On-the-fly brukeropprettelse
field_start_date: Start
field_done_ratio: % Ferdig
field_auth_source: Autentifikasjonsmodus
field_hide_mail: Skjul min e-post-adresse
@@ -909,5 +908,6 @@
button_edit_associated_wikipage: "Edit associated Wiki page: {{page_title}}"
text_are_you_sure_with_children: Delete issue and all child issues?
field_text: Text field
field_start_date: Start date
label_principal_search: "Search for user or group:"
label_user_search: "Search for user:"

View File

@@ -277,7 +277,6 @@ pl:
field_role: Rola
field_searchable: Przeszukiwalne
field_spent_on: Data
field_start_date: Start
field_start_page: Strona startowa
field_status: Status
field_subject: Temat
@@ -939,5 +938,6 @@ pl:
button_edit_associated_wikipage: "Edit associated Wiki page: {{page_title}}"
text_are_you_sure_with_children: Delete issue and all child issues?
field_text: Text field
field_start_date: Start date
label_principal_search: "Search for user or group:"
label_user_search: "Search for user:"

View File

@@ -264,7 +264,6 @@ pt-BR:
field_attr_lastname: Atributo para sobrenome
field_attr_mail: Atributo para e-mail
field_onthefly: Criar usuários dinamicamente ("on-the-fly")
field_start_date: Início
field_done_ratio: % Terminado
field_auth_source: Modo de autenticação
field_hide_mail: Ocultar meu e-mail
@@ -942,6 +941,10 @@ pt-BR:
button_edit_associated_wikipage: "Editar página wiki relacionada: {{page_title}}"
text_are_you_sure_with_children: Excluir a tarefa e suas subtarefas?
field_text: Campo de texto
label_user_mail_option_only_owner: Somente para as coisas que eu criei
setting_default_notification_option: Opção padrão de notificação
label_user_mail_option_only_my_events: Somente para as coisas que eu esteja observando ou esteja envolvido
label_user_mail_option_only_assigned: Somente para as coisas que estejam atribuídas a mim
field_start_date: Start date
label_principal_search: "Search for user or group:"
label_user_search: "Search for user:"

View File

@@ -249,7 +249,6 @@ pt:
field_attr_lastname: Atributo último nome
field_attr_mail: Atributo e-mail
field_onthefly: Criação de utilizadores na hora
field_start_date: Início
field_done_ratio: % Completo
field_auth_source: Modo de autenticação
field_hide_mail: Esconder endereço de e-mail
@@ -926,5 +925,6 @@ pt:
button_edit_associated_wikipage: "Editar página Wiki associada: {{page_title}}"
text_are_you_sure_with_children: Apagar tarefa e todas as sub-tarefas?
field_text: Text field
field_start_date: Start date
label_principal_search: "Search for user or group:"
label_user_search: "Search for user:"

View File

@@ -232,7 +232,6 @@ ro:
field_attr_lastname: Atribut nume
field_attr_mail: Atribut email
field_onthefly: Creare utilizator pe loc
field_start_date: Data începerii
field_done_ratio: Realizat (%)
field_auth_source: Mod autentificare
field_hide_mail: Nu se afișează adresa de email
@@ -911,5 +910,6 @@ ro:
button_edit_associated_wikipage: "Edit associated Wiki page: {{page_title}}"
text_are_you_sure_with_children: Delete issue and all child issues?
field_text: Text field
field_start_date: Start date
label_principal_search: "Search for user or group:"
label_user_search: "Search for user:"

View File

@@ -363,7 +363,6 @@ ru:
field_role: Роль
field_searchable: Доступно для поиска
field_spent_on: Дата
field_start_date: Начата
field_start_page: Стартовая страница
field_status: Статус
field_subject: Тема
@@ -382,9 +381,9 @@ ru:
field_version: Версия
field_watcher: Наблюдатель
general_csv_decimal_separator: ','
general_csv_decimal_separator: '.'
general_csv_encoding: UTF-8
general_csv_separator: ';'
general_csv_separator: ','
general_first_day_of_week: '1'
general_lang_name: 'Russian (Русский)'
general_pdf_encoding: UTF-8
@@ -703,6 +702,9 @@ ru:
label_user_mail_option_all: "О всех событиях во всех моих проектах"
label_user_mail_option_none: "Только о тех событиях, которые я отслеживаю или в которых я участвую"
label_user_mail_option_selected: "О всех событиях только в выбранном проекте..."
label_user_mail_option_only_owner: Только для объектов, для которых я являюсь владельцем
label_user_mail_option_only_my_events: Только для объектов, которые я отслеживаю или в которых участвую
label_user_mail_option_only_assigned: Только для объектов, которые назначены мне
label_user_new: Новый пользователь
label_user_plural: Пользователи
label_version: Версия
@@ -1033,9 +1035,11 @@ ru:
text_zoom_in: Приблизить
notice_unable_delete_time_entry: Невозможно удалить запись журнала.
label_overall_spent_time: Всего затрачено времени
label_user_mail_option_none: Нет событий
field_member_of_group: Группа назначенного
field_assigned_to_role: Роль назначенного
notice_not_authorized_archived_project: Запрашиваемый проект был архивирован.
label_principal_search: "Search for user or group:"
label_user_search: "Search for user:"
field_start_date: Start Date

View File

@@ -231,7 +231,6 @@ sk:
field_attr_lastname: Priezvisko (atribut)
field_attr_mail: Email (atribut)
field_onthefly: Automatické vytváranie užívateľov
field_start_date: Začiatok
field_done_ratio: % hotovo
field_auth_source: Autentifikačný mód
field_hide_mail: Nezobrazovať môj email
@@ -913,5 +912,6 @@ sk:
button_edit_associated_wikipage: "Edit associated Wiki page: {{page_title}}"
text_are_you_sure_with_children: Delete issue and all child issues?
field_text: Text field
field_start_date: Start date
label_principal_search: "Search for user or group:"
label_user_search: "Search for user:"

View File

@@ -236,7 +236,6 @@ sl:
field_attr_lastname: Oznaka za priimek
field_attr_mail: Oznaka za e-naslov
field_onthefly: Sprotna izdelava uporabnikov
field_start_date: Začetek
field_done_ratio: % Narejeno
field_auth_source: Način overovljanja
field_hide_mail: Skrij moj e-naslov
@@ -914,5 +913,6 @@ sl:
button_edit_associated_wikipage: "Edit associated Wiki page: {{page_title}}"
text_are_you_sure_with_children: Delete issue and all child issues?
field_text: Text field
field_start_date: Start date
label_principal_search: "Search for user or group:"
label_user_search: "Search for user:"

View File

@@ -261,7 +261,6 @@ sr-YU:
field_attr_lastname: Atribut prezimena
field_attr_mail: Atribut e-adrese
field_onthefly: Kreiranje korisnika u toku rada
field_start_date: Početak
field_done_ratio: % urađeno
field_auth_source: Režim potvrde identiteta
field_hide_mail: Sakrij moju e-adresu
@@ -918,5 +917,6 @@ sr-YU:
button_edit_associated_wikipage: "Edit associated Wiki page: {{page_title}}"
text_are_you_sure_with_children: Delete issue and all child issues?
field_text: Text field
field_start_date: Start date
label_principal_search: "Search for user or group:"
label_user_search: "Search for user:"

View File

@@ -261,7 +261,6 @@ sr:
field_attr_lastname: Атрибут презимена
field_attr_mail: Атрибут е-адресе
field_onthefly: Креирање корисника у току рада
field_start_date: Почетак
field_done_ratio: % урађено
field_auth_source: Режим потврде идентитета
field_hide_mail: Сакриј моју е-адресу
@@ -919,5 +918,6 @@ sr:
button_edit_associated_wikipage: "Edit associated Wiki page: {{page_title}}"
text_are_you_sure_with_children: Delete issue and all child issues?
field_text: Text field
field_start_date: Start date
label_principal_search: "Search for user or group:"
label_user_search: "Search for user:"

View File

@@ -972,5 +972,6 @@ sv:
button_edit_associated_wikipage: "Edit associated Wiki page: {{page_title}}"
text_are_you_sure_with_children: Delete issue and all child issues?
field_text: Text field
field_start_date: Start date
label_principal_search: "Search for user or group:"
label_user_search: "Search for user:"

View File

@@ -233,7 +233,6 @@ th:
field_attr_lastname: นามสกุล attribute
field_attr_mail: อีเมล์ attribute
field_onthefly: สร้างผู้ใช้ทันที
field_start_date: เริ่ม
field_done_ratio: % สำเร็จ
field_auth_source: วิธีการยืนยันตัวตน
field_hide_mail: ซ่อนอีเมล์ของฉัน
@@ -915,5 +914,6 @@ th:
button_edit_associated_wikipage: "Edit associated Wiki page: {{page_title}}"
text_are_you_sure_with_children: Delete issue and all child issues?
field_text: Text field
field_start_date: Start date
label_principal_search: "Search for user or group:"
label_user_search: "Search for user:"

View File

@@ -260,7 +260,6 @@ tr:
field_attr_lastname: Soyad Niteliği
field_attr_mail: E-Posta Niteliği
field_onthefly: Anında kullanıcı oluşturma
field_start_date: Başlangıç
field_done_ratio: % tamamlandı
field_auth_source: Kimlik Denetim Modu
field_hide_mail: E-posta adresimi gizle
@@ -941,5 +940,6 @@ tr:
button_edit_associated_wikipage: "Edit associated Wiki page: {{page_title}}"
text_are_you_sure_with_children: Delete issue and all child issues?
field_text: Text field
field_start_date: Start date
label_principal_search: "Search for user or group:"
label_user_search: "Search for user:"

View File

@@ -227,7 +227,6 @@ uk:
field_attr_lastname: Атрибут Прізвище
field_attr_mail: Атрибут Email
field_onthefly: Створення користувача на льоту
field_start_date: Початок
field_done_ratio: % зроблено
field_auth_source: Режим аутентифікації
field_hide_mail: Приховувати мій email
@@ -914,5 +913,6 @@ uk:
button_edit_associated_wikipage: "Edit associated Wiki page: {{page_title}}"
text_are_you_sure_with_children: Delete issue and all child issues?
field_text: Text field
field_start_date: Start date
label_principal_search: "Search for user or group:"
label_user_search: "Search for user:"

View File

@@ -294,7 +294,6 @@ vi:
field_attr_lastname: Lastname attribute
field_attr_mail: Email attribute
field_onthefly: On-the-fly user creation
field_start_date: Bắt đầu
field_done_ratio: Tiến độ
field_auth_source: Authentication mode
field_hide_mail: Không làm lộ email của bạn
@@ -973,5 +972,6 @@ vi:
button_edit_associated_wikipage: "Edit associated Wiki page: {{page_title}}"
text_are_you_sure_with_children: Delete issue and all child issues?
field_text: Text field
field_start_date: Start date
label_principal_search: "Search for user or group:"
label_user_search: "Search for user:"

View File

@@ -278,10 +278,10 @@
mail_body_account_activation_request: "有位新用戶 ({{value}}) 已經完成註冊,正等候您的審核:"
mail_subject_reminder: "您有 {{count}} 個項目即將到期 ({{days}})"
mail_body_reminder: "{{count}} 個指派給您的項目,將於 {{days}} 天之內到期:"
mail_subject_wiki_content_added: "'{{page}}' wiki 頁面已被新增"
mail_body_wiki_content_added: "The '{{page}}' wiki 頁面已被 {{author}} 新增。"
mail_subject_wiki_content_updated: "'{{page}}' wiki 頁面已被更新"
mail_body_wiki_content_updated: "The '{{page}}' wiki 頁面已被 {{author}} 更新。"
mail_subject_wiki_content_added: "'{{id}}' wiki 頁面已被新增"
mail_body_wiki_content_added: "The '{{id}}' wiki 頁面已被 {{author}} 新增。"
mail_subject_wiki_content_updated: "'{{id}}' wiki 頁面已被更新"
mail_body_wiki_content_updated: "The '{{id}}' wiki 頁面已被 {{author}} 更新。"
gui_validation_error: 1 個錯誤
gui_validation_error_plural: "{{count}} 個錯誤"
@@ -816,6 +816,9 @@
label_user_mail_option_all: "提醒與我的專案有關的全部事件"
label_user_mail_option_selected: "只提醒我所選擇專案中的事件..."
label_user_mail_option_none: "取消提醒"
label_user_mail_option_only_my_events: "只提醒我觀察中或參與中的事物"
label_user_mail_option_only_assigned: "只提醒我被指派的事物"
label_user_mail_option_only_owner: "只提醒我作為擁有者的事物"
label_user_mail_no_self_notified: "不提醒我自己所做的變更"
label_registration_activation_by_email: 透過電子郵件啟用帳戶
label_registration_manual_activation: 手動啟用帳戶

View File

@@ -272,7 +272,6 @@ zh:
field_attr_lastname: 姓氏属性
field_attr_mail: 邮件属性
field_onthefly: 即时用户生成
field_start_date: 开始
field_done_ratio: 完成度
field_auth_source: 认证模式
field_hide_mail: 隐藏我的邮件地址
@@ -936,5 +935,6 @@ zh:
button_edit_associated_wikipage: "Edit associated Wiki page: {{page_title}}"
text_are_you_sure_with_children: Delete issue and all child issues?
field_text: Text field
field_start_date: Start date
label_principal_search: "Search for user or group:"
label_user_search: "Search for user:"

View File

@@ -4,20 +4,6 @@ Redmine - project management software
Copyright (C) 2006-2010 Jean-Philippe Lang
http://www.redmine.org/
== 2010-12-23 v1.0.5
* #6656: Mercurial adapter loses seconds of commit times
* #6996: Migration trac(sqlite3) -> redmine(postgresql) doesnt escape ' char
* #7013: v-1.0.4 trunk - see {{count}} in page display rather than value
* #7016: redundant 'field_start_date' in ja.yml
* #7018: 'undefined method `reschedule_after' for nil:NilClass' on new issues
* #7024: E-mail notifications about Wiki changes.
* #7033: 'class' attribute of <pre> tag shouldn't be truncate
* #7035: CSV value separator in russian
* #7122: Issue-description Quote-button missing
* #7144: custom queries making use of deleted custom fields cause a 500 error
* #7162: Multiply defined label in french translation
== 2010-11-28 v1.0.4
* #5324: Git not working if color.ui is enabled

View File

@@ -9,16 +9,14 @@ http://www.redmine.org/
* Ruby 1.8.6 or 1.8.7
* RubyGems 1.3.1
* Ruby on Rails 2.3.5 (official downloadable Redmine releases are packaged with
the appropriate Rails version)
* Rack 1.0.1 gem
* Rack 1.0.1
* Rake 0.8.3 gem
* RubyGems 1.3.1
* I18n 0.4.2 gem
* Rake 0.8.3
* A database:
* MySQL (tested with MySQL 5)

View File

@@ -1078,7 +1078,7 @@ class RedCloth3 < String
line = "<redpre##{ @pre_list.length }>"
first.match(/<#{ OFFTAGS }([^>]*)>/)
tag = $1
$2.to_s.match(/(class\=("[^"]+"|'[^']+'))/i)
$2.to_s.match(/(class\=\S+)/i)
tag << " #{$1}" if $1
@pre_list << "<#{ tag }>#{ aftertag }"
end

View File

@@ -37,7 +37,7 @@ module Redmine
def format_date(date)
return nil unless date
Setting.date_format.blank? ? ::I18n.l(date.to_date) : date.strftime(Setting.date_format)
Setting.date_format.blank? ? ::I18n.l(date.to_date, :count => date.strftime('%d')) : date.strftime(Setting.date_format)
end
def format_time(time, include_date = true)
@@ -45,7 +45,7 @@ module Redmine
time = time.to_time if time.is_a?(String)
zone = User.current.time_zone
local = zone ? time.in_time_zone(zone) : (time.utc? ? time.localtime : time)
Setting.time_format.blank? ? ::I18n.l(local, :format => (include_date ? :default : :time)) :
Setting.time_format.blank? ? ::I18n.l(local, :count => local.strftime('%d'), :format => (include_date ? :default : :time)) :
((include_date ? "#{format_date(time)} " : "") + "#{local.strftime(Setting.time_format)}")
end

View File

@@ -74,10 +74,10 @@ module Redmine
def revisions(path=nil, identifier_from=nil, identifier_to=nil, options={})
path ||= ''
identifier_from = (identifier_from and identifier_from.to_i > 0) ? identifier_from.to_i : 'last:1'
identifier_to = (identifier_to and identifier_to.to_i > 0) ? identifier_to.to_i : 1
identifier_from = 'last:1' unless identifier_from and identifier_from.to_i > 0
identifier_to = 1 unless identifier_to and identifier_to.to_i > 0
revisions = Revisions.new
cmd = "#{BZR_BIN} log -v --show-ids -r#{identifier_to}..#{identifier_from} #{target(path)}"
cmd = "#{BZR_BIN} log -v --show-ids -r#{identifier_to.to_i}..#{identifier_from} #{target(path)}"
shellout(cmd) do |io|
revision = nil
parsing = nil
@@ -140,9 +140,6 @@ module Redmine
else
identifier_to = identifier_from.to_i - 1
end
if identifier_from
identifier_from = identifier_from.to_i
end
cmd = "#{BZR_BIN} diff -r#{identifier_to}..#{identifier_from} #{target(path)}"
diff = []
shellout(cmd) do |io|

View File

@@ -63,7 +63,7 @@ module Redmine
logger.debug "<cvs> entries '#{path}' with identifier '#{identifier}'"
path_with_project="#{url}#{with_leading_slash(path)}"
entries = Entries.new
cmd = "#{CVS_BIN} -d #{shell_quote root_url} rls -e"
cmd = "#{CVS_BIN} -d #{root_url} rls -e"
cmd << " -D \"#{time_to_cvstime(identifier)}\"" if identifier
cmd << " #{shell_quote path_with_project}"
shellout(cmd) do |io|
@@ -108,7 +108,7 @@ module Redmine
logger.debug "<cvs> revisions path:'#{path}',identifier_from #{identifier_from}, identifier_to #{identifier_to}"
path_with_project="#{url}#{with_leading_slash(path)}"
cmd = "#{CVS_BIN} -d #{shell_quote root_url} rlog"
cmd = "#{CVS_BIN} -d #{root_url} rlog"
cmd << " -d\">#{time_to_cvstime(identifier_from)}\"" if identifier_from
cmd << " #{shell_quote path_with_project}"
shellout(cmd) do |io|
@@ -229,7 +229,7 @@ module Redmine
def diff(path, identifier_from, identifier_to=nil)
logger.debug "<cvs> diff path:'#{path}',identifier_from #{identifier_from}, identifier_to #{identifier_to}"
path_with_project="#{url}#{with_leading_slash(path)}"
cmd = "#{CVS_BIN} -d #{shell_quote root_url} rdiff -u -r#{identifier_to} -r#{identifier_from} #{shell_quote path_with_project}"
cmd = "#{CVS_BIN} -d #{root_url} rdiff -u -r#{identifier_to} -r#{identifier_from} #{shell_quote path_with_project}"
diff = []
shellout(cmd) do |io|
io.each_line do |line|
@@ -244,7 +244,7 @@ module Redmine
identifier = (identifier) ? identifier : "HEAD"
logger.debug "<cvs> cat path:'#{path}',identifier #{identifier}"
path_with_project="#{url}#{with_leading_slash(path)}"
cmd = "#{CVS_BIN} -d #{shell_quote root_url} co"
cmd = "#{CVS_BIN} -d #{root_url} co"
cmd << " -D \"#{time_to_cvstime(identifier)}\"" if identifier
cmd << " -p #{shell_quote path_with_project}"
cat = nil
@@ -256,10 +256,10 @@ module Redmine
end
def annotate(path, identifier=nil)
identifier = (identifier) ? identifier.to_i : "HEAD"
identifier = (identifier) ? identifier : "HEAD"
logger.debug "<cvs> annotate path:'#{path}',identifier #{identifier}"
path_with_project="#{url}#{with_leading_slash(path)}"
cmd = "#{CVS_BIN} -d #{shell_quote root_url} rannotate -r#{identifier} #{shell_quote path_with_project}"
cmd = "#{CVS_BIN} -d #{root_url} rannotate -r#{identifier} #{shell_quote path_with_project}"
blame = Annotate.new
shellout(cmd) do |io|
io.each_line do |line|

View File

@@ -66,7 +66,7 @@ module Redmine
path_prefix = (path.blank? ? '' : "#{path}/")
path = '.' if path.blank?
entries = Entries.new
cmd = "#{DARCS_BIN} annotate --repodir #{shell_quote @url} --xml-output"
cmd = "#{DARCS_BIN} annotate --repodir #{@url} --xml-output"
cmd << " --match #{shell_quote("hash #{identifier}")}" if identifier
cmd << " #{shell_quote path}"
shellout(cmd) do |io|
@@ -90,7 +90,7 @@ module Redmine
def revisions(path=nil, identifier_from=nil, identifier_to=nil, options={})
path = '.' if path.blank?
revisions = Revisions.new
cmd = "#{DARCS_BIN} changes --repodir #{shell_quote @url} --xml-output"
cmd = "#{DARCS_BIN} changes --repodir #{@url} --xml-output"
cmd << " --from-match #{shell_quote("hash #{identifier_from}")}" if identifier_from
cmd << " --last #{options[:limit].to_i}" if options[:limit]
shellout(cmd) do |io|
@@ -116,7 +116,7 @@ module Redmine
def diff(path, identifier_from, identifier_to=nil)
path = '*' if path.blank?
cmd = "#{DARCS_BIN} diff --repodir #{shell_quote @url}"
cmd = "#{DARCS_BIN} diff --repodir #{@url}"
if identifier_to.nil?
cmd << " --match #{shell_quote("hash #{identifier_from}")}"
else
@@ -135,7 +135,7 @@ module Redmine
end
def cat(path, identifier=nil)
cmd = "#{DARCS_BIN} show content --repodir #{shell_quote @url}"
cmd = "#{DARCS_BIN} show content --repodir #{@url}"
cmd << " --match #{shell_quote("hash #{identifier}")}" if identifier
cmd << " #{shell_quote path}"
cat = nil
@@ -170,7 +170,7 @@ module Redmine
# Retrieve changed paths for a single patch
def get_paths_for_patch(hash)
cmd = "#{DARCS_BIN} annotate --repodir #{shell_quote @url} --summary --xml-output"
cmd = "#{DARCS_BIN} annotate --repodir #{@url} --summary --xml-output"
cmd << " --match #{shell_quote("hash #{hash}")} "
paths = []
shellout(cmd) do |io|

View File

@@ -117,7 +117,7 @@ module Redmine
cmd = "#{GIT_BIN} --git-dir #{target('')} log --no-color --raw --date=iso --pretty=fuller "
cmd << " --reverse " if options[:reverse]
cmd << " --all " if options[:all]
cmd << " -n #{options[:limit].to_i} " if options[:limit]
cmd << " -n #{options[:limit]} " if options[:limit]
cmd << "#{shell_quote(identifier_from + '..')}" if identifier_from
cmd << "#{shell_quote identifier_to}" if identifier_to
cmd << " --since=#{shell_quote(options[:since].strftime("%Y-%m-%d %H:%M:%S"))}" if options[:since]

View File

@@ -1,7 +1,7 @@
changeset = 'This template must be used with --debug option\n'
changeset_quiet = 'This template must be used with --debug option\n'
changeset_verbose = 'This template must be used with --debug option\n'
changeset_debug = '<logentry revision="{rev}" node="{node|short}">\n<author>{author|escape}</author>\n<date>{date|isodatesec}</date>\n<paths>\n{file_mods}{file_adds}{file_dels}{file_copies}</paths>\n<msg>{desc|escape}</msg>\n{tags}</logentry>\n\n'
changeset_debug = '<logentry revision="{rev}" node="{node|short}">\n<author>{author|escape}</author>\n<date>{date|isodate}</date>\n<paths>\n{file_mods}{file_adds}{file_dels}{file_copies}</paths>\n<msg>{desc|escape}</msg>\n{tags}</logentry>\n\n'
file_mod = '<path action="M">{file_mod|escape}</path>\n'
file_add = '<path action="A">{file_add|escape}</path>\n'

View File

@@ -80,7 +80,7 @@ module Redmine
path ||= ''
entries = Entries.new
cmd = "#{HG_BIN} -R #{target('')} --cwd #{target('')} locate"
cmd << " -r " + shell_quote(identifier ? identifier.to_s : "tip")
cmd << " -r " + (identifier ? identifier.to_s : "tip")
cmd << " " + shell_quote("path:#{path}") unless path.empty?
shellout(cmd) do |io|
io.each_line do |line|
@@ -112,7 +112,7 @@ module Redmine
cmd << " -r #{identifier_from.to_i}:"
end
cmd << " --limit #{options[:limit].to_i}" if options[:limit]
cmd << " #{shell_quote path}" unless path.blank?
cmd << " #{path}" if path
shellout(cmd) do |io|
begin
# HG doesn't close the XML Document...
@@ -157,9 +157,6 @@ module Redmine
else
identifier_to = identifier_from.to_i - 1
end
if identifier_from
identifier_from = identifier_from.to_i
end
cmd = "#{HG_BIN} -R #{target('')} diff -r #{identifier_to} -r #{identifier_from} --nodates"
cmd << " -I #{target(path)}" unless path.empty?
diff = []
@@ -174,7 +171,7 @@ module Redmine
def cat(path, identifier=nil)
cmd = "#{HG_BIN} -R #{target('')} cat"
cmd << " -r " + shell_quote(identifier ? identifier.to_s : "tip")
cmd << " -r " + (identifier ? identifier.to_s : "tip")
cmd << " #{target(path)}"
cat = nil
shellout(cmd) do |io|
@@ -189,7 +186,7 @@ module Redmine
path ||= ''
cmd = "#{HG_BIN} -R #{target('')}"
cmd << " annotate -n -u"
cmd << " -r " + shell_quote(identifier ? identifier.to_s : "tip")
cmd << " -r " + (identifier ? identifier.to_s : "tip")
cmd << " -r #{identifier.to_i}" if identifier
cmd << " #{target(path)}"
blame = Annotate.new

View File

@@ -135,8 +135,8 @@ module Redmine
def revisions(path=nil, identifier_from=nil, identifier_to=nil, options={})
path ||= ''
identifier_from = (identifier_from && identifier_from.to_i > 0) ? identifier_from.to_i : "HEAD"
identifier_to = (identifier_to && identifier_to.to_i > 0) ? identifier_to.to_i : 1
identifier_from = (identifier_from and identifier_from.to_i > 0) ? identifier_from.to_i : "HEAD"
identifier_to = (identifier_to and identifier_to.to_i > 0) ? identifier_to.to_i : 1
revisions = Revisions.new
cmd = "#{SVN_BIN} log --xml -r #{identifier_from}:#{identifier_to}"
cmd << credentials_string

View File

@@ -4,7 +4,7 @@ module Redmine
module VERSION #:nodoc:
MAJOR = 1
MINOR = 0
TINY = 5
TINY = 4
# Branch values:
# * official release: nil

View File

@@ -167,7 +167,7 @@ namespace :redmine do
has_many :attachments, :class_name => "TracAttachment",
:finder_sql => "SELECT DISTINCT attachment.* FROM #{TracMigrate::TracAttachment.table_name}" +
" WHERE #{TracMigrate::TracAttachment.table_name}.type = 'ticket'" +
' AND #{TracMigrate::TracAttachment.table_name}.id = \'#{TracMigrate::TracAttachment.connection.quote_string(id.to_s)}\''
' AND #{TracMigrate::TracAttachment.table_name}.id = \'#{id}\''
has_many :customs, :class_name => "TracTicketCustom", :foreign_key => :ticket
def ticket_type
@@ -207,7 +207,7 @@ namespace :redmine do
has_many :attachments, :class_name => "TracAttachment",
:finder_sql => "SELECT DISTINCT attachment.* FROM #{TracMigrate::TracAttachment.table_name}" +
" WHERE #{TracMigrate::TracAttachment.table_name}.type = 'wiki'" +
' AND #{TracMigrate::TracAttachment.table_name}.id = \'#{TracMigrate::TracAttachment.connection.quote_string(id.to_s)}\''
' AND #{TracMigrate::TracAttachment.table_name}.id = \'#{id}\''
def self.columns
# Hides readonly Trac field to prevent clash with AR readonly? method (Rails 2.0)

View File

@@ -250,9 +250,6 @@ class IssuesControllerTest < ActionController::TestCase
get :show, :id => 1
assert_response :success
assert_tag :tag => 'a',
:content => /Quote/
assert_tag :tag => 'form',
:descendant => { :tag => 'fieldset',
:child => { :tag => 'legend',

View File

@@ -40,20 +40,14 @@ class JournalsControllerTest < ActionController::TestCase
def test_reply_to_issue
@request.session[:user_id] = 2
get :new, :id => 6
get :new, :id => 1
assert_response :success
assert_select_rjs :show, "update"
end
def test_reply_to_issue_without_permission
@request.session[:user_id] = 7
get :new, :id => 6
assert_response 403
end
def test_reply_to_note
@request.session[:user_id] = 2
get :new, :id => 6, :journal_id => 4
get :new, :id => 1, :journal_id => 2
assert_response :success
assert_select_rjs :show, "update"
end

View File

@@ -22,7 +22,6 @@ require 'repositories_controller'
class RepositoriesController; def rescue_action(e) raise e end; end
class RepositoriesCvsControllerTest < ActionController::TestCase
fixtures :projects, :users, :roles, :members, :member_roles, :repositories, :enabled_modules
# No '..' in the repository path
REPOSITORY_PATH = RAILS_ROOT.gsub(%r{config\/\.\.}, '') + '/tmp/test/cvs_repository'

View File

@@ -284,9 +284,6 @@ RAW
"<!-- opening comment" => "<p>&lt;!-- opening comment</p>",
# remove attributes except class
"<pre class='foo'>some text</pre>" => "<pre class='foo'>some text</pre>",
'<pre class="foo">some text</pre>' => '<pre class="foo">some text</pre>',
"<pre class='foo bar'>some text</pre>" => "<pre class='foo bar'>some text</pre>",
'<pre class="foo bar">some text</pre>' => '<pre class="foo bar">some text</pre>',
"<pre onmouseover='alert(1)'>some text</pre>" => "<pre>some text</pre>",
}
to_test.each { |text, result| assert_equal result, textilizable(text) }

View File

@@ -63,14 +63,4 @@ class IssueRelationTest < ActiveSupport::TestCase
assert_equal IssueRelation::TYPE_PRECEDES, relation.relation_type_for(from)
assert_equal IssueRelation::TYPE_FOLLOWS, relation.relation_type_for(to)
end
def test_set_issue_to_dates_without_issue_to
r = IssueRelation.new(:issue_from => Issue.new(:start_date => Date.today), :relation_type => IssueRelation::TYPE_PRECEDES, :delay => 1)
assert_nil r.set_issue_to_dates
end
def test_set_issue_to_dates_without_issues
r = IssueRelation.new(:relation_type => IssueRelation::TYPE_PRECEDES, :delay => 1)
assert_nil r.set_issue_to_dates
end
end

View File

@@ -29,7 +29,7 @@ class Redmine::I18nTest < ActiveSupport::TestCase
set_language_if_valid 'en'
today = Date.today
Setting.date_format = ''
assert_equal I18n.l(today), format_date(today)
assert_equal I18n.l(today, :count => today.strftime('%d')), format_date(today)
end
def test_date_format
@@ -47,7 +47,7 @@ class Redmine::I18nTest < ActiveSupport::TestCase
format_date(Date.today)
format_time(Time.now)
format_time(Time.now, false)
assert_not_equal 'default', ::I18n.l(Date.today, :format => :default), "date.formats.default missing in #{lang}"
assert_not_equal 'default', ::I18n.l(Date.today, :count => Date.today.strftime('%d'), :format => :default), "date.formats.default missing in #{lang}"
assert_not_equal 'time', ::I18n.l(Time.now, :format => :time), "time.formats.time missing in #{lang}"
end
assert l('date.day_names').is_a?(Array)
@@ -63,8 +63,8 @@ class Redmine::I18nTest < ActiveSupport::TestCase
now = Time.now
Setting.date_format = ''
Setting.time_format = ''
assert_equal I18n.l(now), format_time(now)
assert_equal I18n.l(now, :format => :time), format_time(now, false)
assert_equal I18n.l(now, :count => now.strftime('%d')), format_time(now)
assert_equal I18n.l(now, :count => now.strftime('%d'), :format => :time), format_time(now, false)
end
def test_time_format

View File

@@ -305,26 +305,6 @@ class MailerTest < ActiveSupport::TestCase
end
end
def test_wiki_content_added
content = WikiContent.find(:first)
valid_languages.each do |lang|
Setting.default_language = lang.to_s
assert_difference 'ActionMailer::Base.deliveries.size' do
assert Mailer.deliver_wiki_content_added(content)
end
end
end
def test_wiki_content_updated
content = WikiContent.find(:first)
valid_languages.each do |lang|
Setting.default_language = lang.to_s
assert_difference 'ActionMailer::Base.deliveries.size' do
assert Mailer.deliver_wiki_content_updated(content)
end
end
end
def test_account_information
user = User.find(2)
valid_languages.each do |lang|

View File

@@ -225,22 +225,6 @@ class QueryTest < ActiveSupport::TestCase
q = Query.new
assert q.groupable_columns.detect {|c| c.is_a? QueryCustomFieldColumn}
end
def test_grouped_with_valid_column
q = Query.new(:group_by => 'status')
assert q.grouped?
assert_not_nil q.group_by_column
assert_equal :status, q.group_by_column.name
assert_not_nil q.group_by_statement
assert_equal 'status', q.group_by_statement
end
def test_grouped_with_invalid_column
q = Query.new(:group_by => 'foo')
assert !q.grouped?
assert_nil q.group_by_column
assert_nil q.group_by_statement
end
def test_default_sort
q = Query.new

View File

@@ -62,20 +62,12 @@ class RepositoryMercurialTest < ActiveSupport::TestCase
assert_equal 2, @repository.entries("images", 2).size
end
def test_cat
assert @repository.scm.cat("sources/welcome_controller.rb", 2)
assert_nil @repository.scm.cat("sources/welcome_controller.rb")
end
def test_isodatesec
# Template keyword 'isodatesec' supported in Mercurial 1.0 and higher
if @repository.scm.class.client_version_above?([1, 0])
@repository.fetch_changesets
@repository.reload
rev0_committed_on = Time.gm(2007, 12, 14, 9, 22, 52)
assert_equal @repository.changesets.find_by_revision('0').committed_on, rev0_committed_on
end
end
else
puts "Mercurial test repository NOT FOUND. Skipping unit tests !!!"
def test_fake; assert true end