Compare commits

...

16 Commits
1.4.1 ... 1.2.0

Author SHA1 Message Date
Jean-Philippe Lang
1faf02c9f5 tagged version 1.2.0
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/tags/1.2.0@5968 e93f8b46-1217-0410-a6f0-8f06a7374b81
2011-05-30 16:41:28 +00:00
Jean-Philippe Lang
1be21f2413 Merged r5965 from trunk.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/1.2-stable@5967 e93f8b46-1217-0410-a6f0-8f06a7374b81
2011-05-30 16:40:52 +00:00
Jean-Philippe Lang
eaf430b630 Merged r5964 from trunk.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/1.2-stable@5966 e93f8b46-1217-0410-a6f0-8f06a7374b81
2011-05-30 16:40:17 +00:00
Toshi MARUYAMA
d2789248f7 Merged r5962 from trunk.
Bulgarian translation updated by Ivan Cenov.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/1.2-stable@5963 e93f8b46-1217-0410-a6f0-8f06a7374b81
2011-05-29 14:54:06 +00:00
Jean-Philippe Lang
f08f09a9d3 Merged r5950 to r5960 from trunk.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/1.2-stable@5961 e93f8b46-1217-0410-a6f0-8f06a7374b81
2011-05-29 12:06:05 +00:00
Toshi MARUYAMA
2c2760d041 Merged r5887 from trunk.
scm: replace a tab to two spaces in app/views/settings/_repositories.rhtml.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/1.2-stable@5959 e93f8b46-1217-0410-a6f0-8f06a7374b81
2011-05-29 11:32:16 +00:00
Toshi MARUYAMA
218e2f32ee Merged r5886 from trunk.
scm: remove trailing white-spaces from app/views/settings/_repositories.rhtml.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/1.2-stable@5958 e93f8b46-1217-0410-a6f0-8f06a7374b81
2011-05-29 11:31:48 +00:00
Jean-Philippe Lang
f2b01aeb4d Merged r5948 from trunk.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/1.2-stable@5949 e93f8b46-1217-0410-a6f0-8f06a7374b81
2011-05-29 08:15:18 +00:00
Jean-Philippe Lang
fabf54a368 Merged r5944 from trunk.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/1.2-stable@5947 e93f8b46-1217-0410-a6f0-8f06a7374b81
2011-05-29 07:47:25 +00:00
Jean-Philippe Lang
6b07f86883 Merged r5881 from trunk.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/1.2-stable@5946 e93f8b46-1217-0410-a6f0-8f06a7374b81
2011-05-29 07:24:15 +00:00
Jean-Philippe Lang
36d2ea9a6c Merged r5880 from trunk.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/1.2-stable@5945 e93f8b46-1217-0410-a6f0-8f06a7374b81
2011-05-29 07:18:05 +00:00
Toshi MARUYAMA
2dca48be53 Merged r5940 from trunk.
remove trailing white-spaces from rake redmine:email:test task source.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/1.2-stable@5943 e93f8b46-1217-0410-a6f0-8f06a7374b81
2011-05-28 03:34:47 +00:00
Toshi MARUYAMA
7678aa9445 Merged r5939 from trunk.
handle a nil user in rake redmine:email:test task.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/1.2-stable@5942 e93f8b46-1217-0410-a6f0-8f06a7374b81
2011-05-28 03:34:23 +00:00
Toshi MARUYAMA
9c355ee6c3 Merged r5938 from trunk.
use rake task parameter style message if redmine:email:test parameter is blank.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/1.2-stable@5941 e93f8b46-1217-0410-a6f0-8f06a7374b81
2011-05-28 03:33:55 +00:00
Jean-Philippe Lang
723030e40a Set version to stable.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/1.2-stable@5879 e93f8b46-1217-0410-a6f0-8f06a7374b81
2011-05-22 09:20:14 +00:00
Jean-Philippe Lang
e6ed112d9d 1.2-stable branch added.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/1.2-stable@5878 e93f8b46-1217-0410-a6f0-8f06a7374b81
2011-05-22 09:17:45 +00:00
61 changed files with 385 additions and 82 deletions

View File

@@ -67,13 +67,13 @@ class TimelogController < ApplicationController
}
format.api {
@entry_count = TimeEntry.visible.count(:include => [:project, :issue], :conditions => cond.conditions)
@entry_pages = Paginator.new self, @entry_count, per_page_option, params['page']
@offset, @limit = api_offset_and_limit
@entries = TimeEntry.visible.find(:all,
:include => [:project, :activity, :user, {:issue => :tracker}],
:conditions => cond.conditions,
:order => sort_clause,
:limit => @entry_pages.items_per_page,
:offset => @entry_pages.current.offset)
:limit => @limit,
:offset => @offset)
}
format.atom {
entries = TimeEntry.visible.find(:all,

View File

@@ -33,7 +33,9 @@ module SettingsHelper
choices = [[blank_text.is_a?(Symbol) ? l(blank_text) : blank_text, '']] + choices
end
setting_label(setting, options) +
select_tag("settings[#{setting}]", options_for_select(choices, Setting.send(setting).to_s), options)
select_tag("settings[#{setting}]",
options_for_select(choices, Setting.send(setting).to_s),
options)
end
def setting_multiselect(setting, choices, options={})
@@ -44,10 +46,15 @@ module SettingsHelper
hidden_field_tag("settings[#{setting}][]", '') +
choices.collect do |choice|
text, value = (choice.is_a?(Array) ? choice : [choice, choice])
content_tag('label',
check_box_tag("settings[#{setting}][]", value, Setting.send(setting).include?(value)) + text.to_s,
content_tag(
'label',
check_box_tag(
"settings[#{setting}][]",
value,
Setting.send(setting).include?(value)
) + text.to_s,
:class => 'block'
)
)
end.join
end
@@ -64,7 +71,7 @@ module SettingsHelper
def setting_check_box(setting, options={})
setting_label(setting, options) +
hidden_field_tag("settings[#{setting}]", 0) +
check_box_tag("settings[#{setting}]", 1, Setting.send("#{setting}?"), options)
check_box_tag("settings[#{setting}]", 1, Setting.send("#{setting}?"), options)
end
def setting_label(setting, options={})

View File

@@ -32,7 +32,6 @@ class Journal < ActiveRecord::Base
:url => Proc.new {|o| {:controller => 'issues', :action => 'show', :id => o.issue.id, :anchor => "change-#{o.id}"}}
acts_as_activity_provider :type => 'issues',
:permission => :view_issues,
:author_key => :user_id,
:find_options => {:include => [{:issue => :project}, :details, :user],
:conditions => "#{Journal.table_name}.journalized_type = 'Issue' AND" +

View File

@@ -8,12 +8,9 @@
<div class="box tabular">
<p>
<%= label_tag('repository_scm', l(:label_scm)) %><%= scm_select_tag(@repository) %>
<% if @repository %>
<br />
<%= image_tag((@repository.class.scm_available ? 'true.png' : 'exclamation.png'))%>
<%= l(:text_scm_command) -%>: <%= @repository.class.scm_command %>
|
<%= l(:text_scm_command_version) -%>: <%= @repository.class.scm_version_string %>
<% if @repository && ! @repository.class.scm_available %>
<br />
<em><%= content_tag 'span', l(:text_scm_command_not_available), :class => 'error' %></em>
<% end %>
</p>
<% button_disabled = true %>

View File

@@ -1,41 +1,95 @@
<% form_tag({:action => 'edit', :tab => 'repositories'}) do %>
<fieldset class="box tabular settings enabled_scm">
<legend><%= l(:setting_enabled_scm) %></legend>
<table>
<tr>
<th></th>
<th><%= l(:text_scm_command) %></th>
<th><%= l(:text_scm_command_version) %></th>
</tr>
<% Redmine::Scm::Base.all.collect do |choice| %>
<% scm_class = "Repository::#{choice}".constantize %>
<% text, value = (choice.is_a?(Array) ? choice : [choice, choice]) %>
<% setting = :enabled_scm %>
<tr>
<td class="scm_name">
<%=
check_box_tag(
"settings[#{setting}][]",
value,
Setting.send(setting).include?(value))
%>
<%= text.to_s %>
</td>
<td>
<%=
image_tag(
(scm_class.scm_available ? 'true.png' : 'exclamation.png'),
:style => "vertical-align:bottom;"
)
%>
<%= scm_class.scm_command %>
</td>
<td>
<%= scm_class.scm_version_string %>
</td>
</tr>
<% end %>
</table>
<p class="scm_config">
<%= l(:text_scm_config) %>
</p>
</fieldset>
<div class="box tabular settings">
<p><%= setting_check_box :autofetch_changesets %></p>
<p><%= setting_check_box :sys_api_enabled,
:onclick => "if (this.checked) { Form.Element.enable('settings_sys_api_key'); } else { Form.Element.disable('settings_sys_api_key'); }" %></p>
<p><%= setting_check_box :sys_api_enabled,
:onclick =>
"if (this.checked) { Form.Element.enable('settings_sys_api_key'); } else { Form.Element.disable('settings_sys_api_key'); }" %></p>
<p><%= setting_text_field :sys_api_key, :size => 30,
:id => 'settings_sys_api_key',
:disabled => !Setting.sys_api_enabled?,
:label => :setting_mail_handler_api_key %>
<%= link_to_function l(:label_generate_key), "if ($('settings_sys_api_key').disabled == false) { $('settings_sys_api_key').value = randomKey(20) }" %>
<p><%= setting_text_field :sys_api_key,
:size => 30,
:id => 'settings_sys_api_key',
:disabled => !Setting.sys_api_enabled?,
:label => :setting_mail_handler_api_key %>
<%= link_to_function l(:label_generate_key),
"if ($('settings_sys_api_key').disabled == false) { $('settings_sys_api_key').value = randomKey(20) }" %>
</p>
<p><%= setting_multiselect(:enabled_scm, Redmine::Scm::Base.all) %></p>
<p><%= setting_text_field :repositories_encodings, :size => 60 %><br />
<em><%= l(:text_comma_separated) %></em></p>
<p><%= setting_text_field :repository_log_display_limit, :size => 6 %></p>
</div>
<fieldset class="box tabular settings"><legend><%= l(:text_issues_ref_in_commit_messages) %></legend>
<fieldset class="box tabular settings">
<legend><%= l(:text_issues_ref_in_commit_messages) %></legend>
<p><%= setting_text_field :commit_ref_keywords, :size => 30 %><br />
<em><%= l(:text_comma_separated) %></em></p>
<p><%= setting_text_field :commit_fix_keywords, :size => 30 %>
&nbsp;<%= l(:label_applied_status) %>: <%= setting_select :commit_fix_status_id, [["", 0]] + IssueStatus.find(:all).collect{|status| [status.name, status.id.to_s]}, :label => false %>
&nbsp;<%= l(:field_done_ratio) %>: <%= setting_select :commit_fix_done_ratio, (0..10).to_a.collect {|r| ["#{r*10} %", "#{r*10}"] }, :blank => :label_no_change_option, :label => false %>
&nbsp;<%= l(:label_applied_status) %>: <%= setting_select :commit_fix_status_id,
[["", 0]] +
IssueStatus.find(:all).collect{
|status| [status.name, status.id.to_s]
},
:label => false %>
&nbsp;<%= l(:field_done_ratio) %>: <%= setting_select :commit_fix_done_ratio,
(0..10).to_a.collect {|r| ["#{r*10} %", "#{r*10}"] },
:blank => :label_no_change_option,
:label => false %>
<br /><em><%= l(:text_comma_separated) %></em></p>
<p><%= setting_check_box :commit_logtime_enabled,
:onclick => "if (this.checked) { Form.Element.enable('settings_commit_logtime_activity_id'); } else { Form.Element.disable('settings_commit_logtime_activity_id'); }"%></p>
:onclick =>
"if (this.checked) { Form.Element.enable('settings_commit_logtime_activity_id'); } else { Form.Element.disable('settings_commit_logtime_activity_id'); }"%></p>
<p><%= setting_select :commit_logtime_activity_id,
[[l(:label_default), 0]] + TimeEntryActivity.shared.all.collect{|activity| [activity.name, activity.id.to_s]},
:disabled => !Setting.commit_logtime_enabled?%></p>
<p><%= setting_select :commit_logtime_activity_id,
[[l(:label_default), 0]] +
TimeEntryActivity.shared.all.collect{|activity| [activity.name, activity.id.to_s]},
:disabled => !Setting.commit_logtime_enabled?%></p>
</fieldset>
<%= submit_tag l(:button_save) %>

View File

@@ -1,4 +1,4 @@
api.array :time_entries do
api.array :time_entries, api_meta(:total_count => @entry_count, :offset => @offset, :limit => @limit) do
@entries.each do |time_entry|
api.time_entry do
api.id time_entry.id

View File

@@ -946,6 +946,8 @@ bg:
text_mercurial_repository_note: Локално хранилище (например /hgrepo, c:\hgrepo)
text_scm_command: SCM команда
text_scm_command_version: Версия
text_scm_config: Можете да конфигурирате SCM командите в config/configuration.yml. За да активирате промените, рестартирайте Redmine.
text_scm_command_not_available: SCM командата не е налична или достъпна. Проверете конфигурацията в административния панел.
default_role_manager: Мениджър
default_role_developer: Разработчик

View File

@@ -988,3 +988,5 @@ bs:
text_scm_command: Command
text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.

View File

@@ -977,3 +977,5 @@ ca:
text_scm_command: Command
text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.

View File

@@ -978,3 +978,5 @@ cs:
text_scm_command: Command
text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.

View File

@@ -991,3 +991,5 @@ da:
text_scm_command: Command
text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.

View File

@@ -991,3 +991,5 @@ de:
text_scm_command: Command
text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.

View File

@@ -974,3 +974,5 @@ el:
text_scm_command: Command
text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.

View File

@@ -977,3 +977,5 @@ en-GB:
text_scm_command: Command
text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.

View File

@@ -867,17 +867,17 @@ en:
button_quote: Quote
button_duplicate: Duplicate
button_show: Show
status_active: active
status_registered: registered
status_locked: locked
version_status_open: open
version_status_locked: locked
version_status_closed: closed
field_active: Active
text_select_mail_notifications: Select actions for which email notifications should be sent.
text_regexp_info: eg. ^[A-Z0-9]+$
text_min_max_length_info: 0 means no restriction
@@ -946,6 +946,8 @@ en:
text_mercurial_repository_note: "Local repository (e.g. /hgrepo, c:\hgrepo)"
text_scm_command: Command
text_scm_command_version: Version
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.
default_role_manager: Manager
default_role_developer: Developer

View File

@@ -1011,3 +1011,5 @@ es:
text_scm_command: Command
text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.

View File

@@ -978,3 +978,5 @@ eu:
text_scm_command: Komandoa
text_scm_command_version: Bertsioa
label_git_report_last_commit: Report last commit for files and directories
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.

View File

@@ -977,3 +977,5 @@ fa:
text_scm_command: Command
text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.

View File

@@ -995,3 +995,5 @@ fi:
text_scm_command: Command
text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.

View File

@@ -962,7 +962,7 @@ fr:
text_zoom_in: Zoom avant
notice_unable_delete_time_entry: Impossible de supprimer le temps passé.
label_overall_spent_time: Temps passé global
field_time_entries: Log time
field_time_entries: Temps passé
project_module_gantt: Gantt
project_module_calendar: Calendrier
button_edit_associated_wikipage: "Modifier la page wiki associée: %{page_title}"
@@ -976,16 +976,18 @@ fr:
field_member_of_group: Groupe de l'assigné
field_assigned_to_role: Rôle de l'assigné
setting_emails_header: En-tête des emails
label_bulk_edit_selected_time_entries: Bulk edit selected time entries
text_time_entries_destroy_confirmation: Are you sure you want to delete the selected time entr(y/ies)?
field_scm_path_encoding: Path encoding
text_scm_path_encoding_note: "Default: UTF-8"
field_path_to_repository: Path to repository
field_root_directory: Root directory
label_bulk_edit_selected_time_entries: Modifier les temps passés sélectionnées
text_time_entries_destroy_confirmation: "Etes-vous sûr de vouloir supprimer les temps passés sélectionnés ?"
field_scm_path_encoding: Encodage des chemins
text_scm_path_encoding_note: "Défaut : UTF-8"
field_path_to_repository: Chemin du dépôt
field_root_directory: Répertoire racine
field_cvs_module: Module
field_cvsroot: CVSROOT
text_git_repository_note: Bare and local repository (e.g. /gitrepo, c:\gitrepo)
text_mercurial_repository_note: Local repository (e.g. /hgrepo, c:\hgrepo)
text_scm_command: Command
text_git_repository_note: "Dépôt nu (bare) et local (exemples : /gitrepo, c:\gitrepo)"
text_mercurial_repository_note: "Dépôt local (exemples : /hgrepo, c:\hgrepo)"
text_scm_command: Commande
text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories
label_git_report_last_commit: Afficher le dernier commit des fichiers et répertoires
text_scm_config: Vous pouvez configurer les commandes des SCM dans config/configuration.yml. Redémarrer l'application après modification.
text_scm_command_not_available: Ce SCM n'est pas disponible. Vérifier les paramètres dans la section administration.

View File

@@ -986,3 +986,5 @@ gl:
text_scm_command: Command
text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.

View File

@@ -979,3 +979,5 @@ he:
text_scm_command: Command
text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.

View File

@@ -981,3 +981,5 @@ hr:
text_scm_command: Command
text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.

View File

@@ -993,3 +993,5 @@
text_scm_command: Parancs
text_scm_command_version: Verzió
label_git_report_last_commit: Report last commit for files and directories
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.

View File

@@ -982,3 +982,5 @@ id:
text_scm_command: Command
text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.

View File

@@ -975,3 +975,5 @@ it:
text_scm_command: Command
text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.

View File

@@ -392,7 +392,7 @@ ja:
setting_commit_logtime_enabled: コミット時に作業時間を記録する
setting_commit_logtime_activity_id: 作業時間の作業分類
setting_gantt_items_limit: ガントチャート最大表示項目数
permission_add_project: プロジェクトの追加
permission_add_subprojects: サブプロジェクトの追加
permission_edit_project: プロジェクトの編集
@@ -448,7 +448,7 @@ ja:
permission_delete_messages: メッセージの削除
permission_delete_own_messages: 自身が記入したメッセージの削除
permission_manage_subtasks: 子チケットの管理
project_module_issue_tracking: チケットトラッキング
project_module_time_tracking: 時間トラッキング
project_module_news: ニュース
@@ -459,7 +459,7 @@ ja:
project_module_boards: フォーラム
project_module_gantt: ガントチャート
project_module_calendar: カレンダー
label_user: ユーザ
label_user_plural: ユーザ
label_user_new: 新しいユーザ
@@ -950,6 +950,8 @@ ja:
text_mercurial_repository_note: "ローカルリポジトリ (例: /hgrepo, c:\hgrepo)"
text_scm_command: コマンド
text_scm_command_version: バージョン
text_scm_config: バージョン管理システムのコマンドをconfig/configuration.ymlで設定できます。設定後、Redmineを再起動してください。
text_scm_command_not_available: バージョン管理システムのコマンドが利用できません。管理画面にて設定を確認してください。
default_role_manager: 管理者
default_role_developer: 開発者

View File

@@ -1026,3 +1026,5 @@ ko:
text_scm_command: Command
text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.

View File

@@ -1034,3 +1034,5 @@ lt:
text_scm_command: Command
text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.

View File

@@ -969,3 +969,5 @@ lv:
text_scm_command: Command
text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.

View File

@@ -974,3 +974,5 @@ mk:
text_scm_command: Command
text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.

View File

@@ -975,3 +975,5 @@ mn:
text_scm_command: Command
text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.

View File

@@ -956,3 +956,5 @@ nl:
text_scm_command: Command
text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.

View File

@@ -961,3 +961,5 @@
text_scm_command: Command
text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.

View File

@@ -991,3 +991,5 @@ pl:
text_scm_command: Command
text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.

View File

@@ -994,3 +994,5 @@ pt-BR:
text_scm_command: Command
text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.

View File

@@ -979,3 +979,5 @@ pt:
text_scm_command: Command
text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.

View File

@@ -967,3 +967,5 @@ ro:
text_scm_command: Command
text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.

View File

@@ -1087,3 +1087,5 @@ ru:
text_scm_command: Command
text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.

View File

@@ -969,3 +969,5 @@ sk:
text_scm_command: Command
text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.

View File

@@ -970,3 +970,5 @@ sl:
text_scm_command: Command
text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.

View File

@@ -974,3 +974,5 @@ sr-YU:
text_scm_command: Command
text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.

View File

@@ -975,3 +975,5 @@ sr:
text_scm_command: Command
text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.

View File

@@ -1015,3 +1015,5 @@ sv:
text_scm_command: Command
text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.

View File

@@ -971,3 +971,5 @@ th:
text_scm_command: Command
text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.

View File

@@ -993,3 +993,5 @@ tr:
text_scm_command: Command
text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.

View File

@@ -970,3 +970,5 @@ uk:
text_scm_command: Command
text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.

View File

@@ -1025,3 +1025,5 @@ vi:
text_scm_command: Command
text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.

View File

@@ -1055,3 +1055,5 @@
enumeration_doc_categories: 文件分類
enumeration_activities: 活動 (時間追蹤)
enumeration_system_activity: 系統活動
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.

View File

@@ -977,3 +977,5 @@ zh:
text_scm_command: Command
text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.

View File

@@ -4,6 +4,117 @@ Redmine - project management software
Copyright (C) 2006-2011 Jean-Philippe Lang
http://www.redmine.org/
== 2011-05-30 v1.2.0
* Defect #61: Broken character encoding in pdf export
* Defect #1965: Redmine is not Tab Safe
* Defect #2274: Filesystem Repository path encoding of non UTF-8 characters
* Defect #2664: Mercurial: Repository path encoding of non UTF-8 characters
* Defect #3421: Mercurial reads files from working dir instead of changesets
* Defect #3462: CVS: Repository path encoding of non UTF-8 characters
* Defect #3715: Login page should not show projects link and search box if authentication is required
* Defect #3724: Mercurial repositories display revision ID instead of changeset ID
* Defect #3761: Most recent CVS revisions are missing in "revisions" view
* Defect #4270: CVS Repository view in Project doesn't show Author, Revision, Comment
* Defect #5138: Don't use Ajax for pagination
* Defect #5152: Cannot use certain characters for user and role names.
* Defect #5251: Git: Repository path encoding of non UTF-8 characters
* Defect #5373: Translation missing when adding invalid watchers
* Defect #5817: Shared versions not shown in subproject's gantt chart
* Defect #6013: git tab,browsing, very slow -- even after first time
* Defect #6148: Quoting, newlines, and nightmares...
* Defect #6256: Redmine considers non ASCII and UTF-16 text files as binary in SCM
* Defect #6476: Subproject's issues are not shown in the subproject's gantt
* Defect #6496: Remove i18n 0.3.x/0.4.x hack for Rails 2.3.5
* Defect #6562: Context-menu deletion of issues deletes all subtasks too without explicit prompt
* Defect #6604: Issues targeted at parent project versions' are not shown on gantt chart
* Defect #6706: Resolving issues with the commit message produces the wrong comment with CVS
* Defect #6901: Copy/Move an issue does not give any history of who actually did the action.
* Defect #6905: Specific heading-content breaks CSS
* Defect #7000: Project filter not applied on versions in Gantt chart
* Defect #7097: Starting day of week cannot be set to Saturday
* Defect #7114: New gantt doesn't display some projects
* Defect #7146: Git adapter lost commits before 7 days from database latest changeset
* Defect #7218: Date range error on issue query
* Defect #7257: "Issues by" version links bad criterias
* Defect #7279: CSS class ".icon-home" is not used.
* Defect #7320: circular dependency >2 issues
* Defect #7352: Filters not working in Gantt charts
* Defect #7367: Receiving pop3 email should not output debug messages
* Defect #7373: Error with PDF output and ruby 1.9.2
* Defect #7379: Remove extraneous hidden_field on wiki history
* Defect #7516: Redmine does not work with RubyGems 1.5.0
* Defect #7518: Mercurial diff can be wrong if the previous changeset isn't the parent
* Defect #7581: Not including a spent time value on the main issue update screen causes silent data loss
* Defect #7582: hiding form pages from search engines
* Defect #7597: Subversion and Mercurial log have the possibility to miss encoding
* Defect #7604: ActionView::TemplateError (undefined method `name' for nil:NilClass)
* Defect #7605: Using custom queries always redirects to "Issues" tab
* Defect #7615: CVS diffs do not handle new files properly
* Defect #7618: SCM diffs do not handle one line new files properly
* Defect #7639: Some date fields do not have requested format.
* Defect #7657: Wrong commit range in git log command on Windows
* Defect #7818: Wiki pages don't use the local timezone to display the "Updated ? hours ago" mouseover
* Defect #7821: Git "previous" and "next" revisions are incorrect
* Defect #7827: CVS: Age column on repository view is off by timezone delta
* Defect #7843: Add a relation between issues = explicit login window ! (basic authentication popup is prompted on AJAX request)
* Defect #8011: {{toc}} does not display headlines with inline code markup
* Defect #8029: List of users for adding to a group may be empty if 100 first users have been added
* Defect #8064: Text custom fields do not wrap on the issue list
* Defect #8071: Watching a subtask from the context menu updates main issue watch link
* Defect #8072: Two untranslatable default role names
* Defect #8075: Some "notifiable" names are not i18n-enabled
* Defect #8081: GIT: Commits missing when user has the "decorate" git option enabled
* Defect #8088: Colorful indentation of subprojects must be on right in RTL locales
* Defect #8239: notes field is not propagated during issue copy
* Defect #8356: GET /time_entries.xml ignores limit/offset parameters
* Defect #8432: Private issues information shows up on Activity page for unauthorized users
* Feature #746: Versioned issue descriptions
* Feature #1067: Differentiate public/private saved queries in the sidebar
* Feature #1236: Make destination folder for attachment uploads configurable
* Feature #1735: Per project repository log encoding setting
* Feature #1763: Autologin-cookie should be configurable
* Feature #1981: display mercurial tags
* Feature #2074: Sending email notifications when comments are added in the news section
* Feature #2096: Custom fields referencing system tables (users and versions)
* Feature #2732: Allow additional workflow transitions for author and assignee
* Feature #2910: Warning on leaving edited issue/wiki page without saving
* Feature #3396: Git: use --encoding=UTF-8 in "git log"
* Feature #4273: SCM command availability automatic check in administration panel
* Feature #4477: Use mime types in downloading from repository
* Feature #5518: Graceful fallback for "missing translation" needed
* Feature #5520: Text format buttons and preview link missing when editing comment
* Feature #5831: Parent Task to Issue Bulk Edit
* Feature #6887: Upgrade to Rails 2.3.11
* Feature #7139: Highlight changes inside diff lines
* Feature #7236: Collapse All for Groups
* Feature #7246: Handle "named branch" for mercurial
* Feature #7296: Ability for admin to delete users
* Feature #7318: Add user agent to Redmine Mailhandler
* Feature #7408: Add an application configuration file
* Feature #7409: Cross project Redmine links
* Feature #7410: Add salt to user passwords
* Feature #7411: Option to cipher LDAP ans SCM passwords stored in the database
* Feature #7412: Add an issue visibility level to each role
* Feature #7414: Private issues
* Feature #7517: Configurable path of executable for scm adapters
* Feature #7640: Add "mystery man" gravatar to options
* Feature #7858: RubyGems 1.6 support
* Feature #7893: Group filter on the users list
* Feature #7899: Box for editing comments should open with the formatting toolbar
* Feature #7921: issues by pulldown should have 'status' option
* Feature #7996: Bulk edit and context menu for time entries
* Feature #8006: Right click context menu for Related Issues
* Feature #8209: I18n YAML files not parsable with psych yaml library
* Feature #8345: Link to user profile from account page
* Feature #8365: Git: per project setting to report last commit or not in repository tree
* Patch #5148: metaKey not handled in issues selection
* Patch #5629: Wrap text fields properly in PDF
* Patch #7418: Redmine Persian Translation
* Patch #8295: Wrap title fields properly in PDF
* Patch #8310: fixes automatic line break problem with TCPDF
* Patch #8312: Switch to TCPDF from FPDF for PDF export
== 2011-04-29 v1.1.3
* Defect #5773: Email reminders are sent to locked users

View File

@@ -1,7 +1,7 @@
== Redmine installation
Redmine - project management software
Copyright (C) 2006-2010 Jean-Philippe Lang
Copyright (C) 2006-2011 Jean-Philippe Lang
http://www.redmine.org/
@@ -9,21 +9,21 @@ http://www.redmine.org/
* Ruby 1.8.6 or 1.8.7
* RubyGems 1.3.1
* RubyGems 1.3.7
* Ruby on Rails 2.3.5 (official downloadable Redmine releases are packaged with
* Ruby on Rails 2.3.11 (official downloadable Redmine releases are packaged with
the appropriate Rails version)
* Rack 1.0.1 gem
* Rack 1.1.0 gem
* Rake 0.8.3 gem
* I18n 0.4.2 gem
* A database:
* MySQL (tested with MySQL 5)
* PostgreSQL (tested with PostgreSQL 8.1)
* SQLite (tested with SQLite 3)
* MySQL (tested with MySQL 5.1)
* PostgreSQL (tested with PostgreSQL 8.4)
* SQLite3 (tested with SQLite 3.6)
Optional:
* SCM binaries (e.g. svn), for repository browsing (must be available in PATH)

View File

@@ -1,7 +1,7 @@
== Redmine upgrade
Redmine - project management software
Copyright (C) 2006-2010 Jean-Philippe Lang
Copyright (C) 2006-2011 Jean-Philippe Lang
http://www.redmine.org/
@@ -30,7 +30,7 @@ http://www.redmine.org/
6. Migrate your database
If you are upgrading to Rails 2.3.5 as part of this migration, you
If you are upgrading to Rails 2.3.11 as part of this migration, you
need to upgrade the plugin migrations before running the plugin migrations
using:
rake db:migrate:upgrade_plugin_migrations RAILS_ENV="production"
@@ -56,7 +56,7 @@ http://www.redmine.org/
== Notes
* Rails 2.3.5 is required for versions 0.9.x and 1.0.x.
* Rails 2.3.11 is required for versions 1.2.x.
== References

View File

@@ -10,7 +10,7 @@ module Redmine
# * official release: nil
# * stable branch: stable
# * trunk: devel
BRANCH = 'devel'
BRANCH = 'stable'
def self.revision
revision = nil

View File

@@ -1,16 +1,16 @@
# Redmine - project management software
# Copyright (C) 2006-2008 Jean-Philippe Lang
# Copyright (C) 2006-2011 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
@@ -29,7 +29,7 @@ General options:
create: create a user account
no_permission_check=1 disable permission checking when receiving
the email
Issue attributes control options:
project=PROJECT identifier of the target project
status=STATUS name of the target status
@@ -58,10 +58,10 @@ END_DESC
options[:allow_override] = ENV['allow_override'] if ENV['allow_override']
options[:unknown_user] = ENV['unknown_user'] if ENV['unknown_user']
options[:no_permission_check] = ENV['no_permission_check'] if ENV['no_permission_check']
MailHandler.receive(STDIN.read, options)
end
desc <<-END_DESC
Read emails from an IMAP server.
@@ -73,7 +73,7 @@ General options:
create: create a user account
no_permission_check=1 disable permission checking when receiving
the email
Available IMAP options:
host=HOST IMAP server host (default: 127.0.0.1)
port=PORT IMAP server port (default: 143)
@@ -81,7 +81,7 @@ Available IMAP options:
username=USERNAME IMAP account
password=PASSWORD IMAP password
folder=FOLDER IMAP folder to read (default: INBOX)
Issue attributes control options:
project=PROJECT identifier of the target project
status=STATUS name of the target status
@@ -91,22 +91,22 @@ Issue attributes control options:
allow_override=ATTRS allow email content to override attributes
specified by previous options
ATTRS is a comma separated list of attributes
Processed emails control options:
move_on_success=MAILBOX move emails that were successfully received
to MAILBOX instead of deleting them
move_on_failure=MAILBOX move emails that were ignored to MAILBOX
Examples:
# No project specified. Emails MUST contain the 'Project' keyword:
rake redmine:email:receive_iamp RAILS_ENV="production" \\
host=imap.foo.bar username=redmine@example.net password=xxx
# Fixed project and default tracker specified, but emails can override
# both tracker and priority attributes:
rake redmine:email:receive_iamp RAILS_ENV="production" \\
host=imap.foo.bar username=redmine@example.net password=xxx ssl=1 \\
project=foo \\
@@ -123,7 +123,7 @@ END_DESC
:folder => ENV['folder'],
:move_on_success => ENV['move_on_success'],
:move_on_failure => ENV['move_on_failure']}
options = { :issue => {} }
%w(project status tracker category priority).each { |a| options[:issue][a.to_sym] = ENV[a] if ENV[a] }
options[:allow_override] = ENV['allow_override'] if ENV['allow_override']
@@ -132,7 +132,7 @@ END_DESC
Redmine::IMAP.check(imap_options, options)
end
desc <<-END_DESC
Read emails from an POP3 server.
@@ -148,7 +148,7 @@ Available POP3 options:
See redmine:email:receive_imap for more options and examples.
END_DESC
task :receive_pop3 => :environment do
pop_options = {:host => ENV['host'],
:port => ENV['port'],
@@ -156,24 +156,24 @@ END_DESC
:username => ENV['username'],
:password => ENV['password'],
:delete_unprocessed => ENV['delete_unprocessed']}
options = { :issue => {} }
%w(project status tracker category priority).each { |a| options[:issue][a.to_sym] = ENV[a] if ENV[a] }
options[:allow_override] = ENV['allow_override'] if ENV['allow_override']
options[:unknown_user] = ENV['unknown_user'] if ENV['unknown_user']
options[:no_permission_check] = ENV['no_permission_check'] if ENV['no_permission_check']
Redmine::POP3.check(pop_options, options)
end
desc "Send a test email to the user with the provided login name"
task :test, :login, :needs => :environment do |task, args|
include Redmine::I18n
abort l(:notice_email_error, "Please include the user login to test with. Example: login=examle-login") if args[:login].blank?
abort l(:notice_email_error, "Please include the user login to test with. Example: rake redmine:email:test[login]") if args[:login].blank?
user = User.find_by_login(args[:login])
abort l(:notice_email_error, "User #{args[:login]} not found") unless user.logged?
abort l(:notice_email_error, "User #{args[:login]} not found") unless user && user.logged?
ActionMailer::Base.raise_delivery_errors = true
begin
Mailer.deliver_test(User.current)

View File

@@ -434,6 +434,10 @@ input#time_entry_comments { width: 90%;}
.tabular.settings label{ margin-left: -300px; width: 295px; }
.tabular.settings textarea { width: 99%; }
.tabular.settings.enabled_scm table {width:100%}
.tabular.settings.enabled_scm td.scm_name{ font-weight: bold; }
.tabular.settings.enabled_scm p.scm_config{ padding-left: 8px; font-style:italic;}
fieldset.settings label { display: block; }
fieldset#notified_events .parent { padding-left: 20px; }
@@ -505,6 +509,8 @@ div.flash.warning {
color: #A6750C;
}
span.error {padding-left:20px; background:url(../images/exclamation.png) no-repeat 0 50%;}
#errorExplanation ul { font-size: 0.9em;}
#errorExplanation h2, #errorExplanation p { display: none; }

View File

@@ -27,3 +27,10 @@ journals_004:
journalized_type: Issue
user_id: 1
journalized_id: 6
journals_005:
id: 5
created_on: <%= 1.days.ago.to_date.to_s(:db) %>
notes: "A comment on a private issue."
user_id: 2
journalized_type: Issue
journalized_id: 14

View File

@@ -32,6 +32,16 @@ class ApiTest::TimeEntriesTest < ActionController::IntegrationTest
assert_tag :tag => 'time_entries',
:child => {:tag => 'time_entry', :child => {:tag => 'id', :content => '2'}}
end
context "with limit" do
should "return limited results" do
get '/time_entries.xml?limit=2', {}, :authorization => credentials('jsmith')
assert_response :success
assert_equal 'application/xml', @response.content_type
assert_tag :tag => 'time_entries',
:children => {:count => 2}
end
end
end
context "GET /time_entries/2.xml" do

View File

@@ -52,6 +52,9 @@ class ActivityTest < ActiveSupport::TestCase
assert events.include?(Message.find(5))
# Issue of a private project
assert !events.include?(Issue.find(4))
# Private issue and comment
assert !events.include?(Issue.find(14))
assert !events.include?(Journal.find(5))
end
def test_global_activity_logged_user

View File

@@ -47,7 +47,28 @@ class WatcherTest < ActiveSupport::TestCase
assert Issue.watched_by(@user).include?(@issue)
end
def test_watcher_users
watcher_users = Issue.find(2).watcher_users
assert_kind_of Array, watcher_users
assert_kind_of User, watcher_users.first
end
def test_watcher_users_should_not_validate_user
User.update_all("firstname = ''", "id=1")
@user.reload
assert !@user.valid?
issue = Issue.new(:project => Project.find(1), :tracker_id => 1, :subject => "test", :author => User.find(2))
issue.watcher_users << @user
issue.save!
assert issue.watched_by?(@user)
end
def test_watcher_user_ids
assert_equal [1, 3], Issue.find(2).watcher_user_ids.sort
end
def test_watcher_user_ids=
issue = Issue.new
issue.watcher_user_ids = ['1', '3']
assert issue.watched_by?(User.find(1))

View File

@@ -13,7 +13,7 @@ module Redmine
class_eval do
has_many :watchers, :as => :watchable, :dependent => :delete_all
has_many :watcher_users, :through => :watchers, :source => :user
has_many :watcher_users, :through => :watchers, :source => :user, :validate => false
named_scope :watched_by, lambda { |user_id|
{ :include => :watchers,