1
0
mirror of https://github.com/meineerde/redmine.git synced 2025-10-17 17:01:01 +00:00

Merge branch 'master' of git://github.com/edavis10/redmine into deployment

This commit is contained in:
Holger Just 2010-07-23 00:27:23 +02:00
commit 1ba1858df8
19 changed files with 231 additions and 67 deletions

View File

@ -2,4 +2,4 @@
Redmine is a flexible project management web application written using Ruby on Rails framework.
More details can be found at http://www.redmine.org
More details can be found at in the doc directory or on the official website http://www.redmine.org

View File

@ -3,7 +3,7 @@
<li><%= link_to l(:label_project_plural), {:controller => 'admin', :action => 'projects'}, :class => 'projects' %></li>
<li><%= link_to l(:label_user_plural), {:controller => 'users'}, :class => 'users' %></li>
<li><%= link_to l(:label_group_plural), {:controller => 'groups'}, :class => 'groups' %></li>
<li><%= link_to l(:label_ldap_authentication), :controller => 'ldap_auth_sources', :action => 'index' %></li>
<li><%= link_to l(:label_ldap_authentication), {:controller => 'ldap_auth_sources', :action => 'index'}, :class => 'server_authentication' %></li>
<li><%= link_to l(:label_role_and_permissions), {:controller => 'roles'}, :class => 'roles' %></li>
<li><%= link_to l(:label_tracker_plural), {:controller => 'trackers'}, :class => 'trackers' %></li>
<li><%= link_to l(:label_issue_status_plural), {:controller => 'issue_statuses'}, :class => 'issue_statuses' %></li>

View File

@ -70,6 +70,7 @@
<% end %>
<% end %>
<%= call_hook(:view_issues_index_bottom, { :issues => @issues, :project => @project, :query => @query }) %>
<% content_for :sidebar do %>
<%= render :partial => 'issues/sidebar' %>

View File

@ -20,7 +20,7 @@
</div>
<div style="float:right;">
<%= link_to l(:label_ldap_authentication), :controller => 'ldap_auth_sources', :action => 'index' %>
<%= link_to l(:label_ldap_authentication), {:controller => 'ldap_auth_sources', :action => 'index'}, :class => 'icon icon-server-authentication' %>
</div>
<%= submit_tag l(:button_save) %>

View File

@ -930,5 +930,5 @@ pt-BR:
notice_failed_to_save_members: "Falha ao gravar membro(s): {{errors}}."
text_zoom_out: Afastar zoom
text_zoom_in: Aproximar zoom
notice_unable_delete_time_entry: Unable to delete time log entry.
label_overall_spent_time: Overall spent time
notice_unable_delete_time_entry: Não foi possível excluir a entrada no registro de horas trabalhadas.
label_overall_spent_time: Tempo gasto geral

View File

@ -1022,5 +1022,5 @@ ru:
field_principal: Глава
text_zoom_out: Отдалить
text_zoom_in: Приблизить
notice_unable_delete_time_entry: Unable to delete time log entry.
label_overall_spent_time: Overall spent time
notice_unable_delete_time_entry: Невозможно удалить запись журнала.
label_overall_spent_time: Всего затрачено времени

View File

@ -203,6 +203,7 @@ sv:
notice_account_pending: "Ditt konto skapades och avvaktar nu administratörens godkännande."
notice_default_data_loaded: Standardkonfiguration inläst.
notice_unable_delete_version: Denna version var inte möjlig att ta bort.
notice_unable_delete_time_entry: Tidloggning kunde inte tas bort.
notice_issue_done_ratios_updated: % klart uppdaterade.
error_can_t_load_default_data: "Standardkonfiguration gick inte att läsa in: {{value}}"
@ -689,6 +690,7 @@ sv:
label_changes_details: Detaljer om alla ändringar
label_issue_tracking: Ärendeuppföljning
label_spent_time: Spenderad tid
label_overall_spent_time: Total tid spenderad
label_f_hour: "{{value}} timme"
label_f_hour_plural: "{{value}} timmar"
label_time_tracking: Tidsuppföljning
@ -951,5 +953,3 @@ sv:
enumeration_doc_categories: Dokumentkategorier
enumeration_activities: Aktiviteter (tidsuppföljning)
enumeration_system_activity: Systemaktivitet
notice_unable_delete_time_entry: Unable to delete time log entry.
label_overall_spent_time: Overall spent time

View File

@ -243,6 +243,7 @@
notice_account_pending: "您的帳號已經建立,正在等待管理員的審核。"
notice_default_data_loaded: 預設組態已載入成功。
notice_unable_delete_version: 無法刪除版本。
notice_unable_delete_time_entry: 無法刪除工時記錄項目。
notice_issue_done_ratios_updated: 項目完成百分比已更新。
error_can_t_load_default_data: "無法載入預設組態: {{value}}"
@ -729,6 +730,7 @@
label_changes_details: 所有變更的明細
label_issue_tracking: 項目追蹤
label_spent_time: 耗用工時
label_overall_spent_time: 整體耗用工時
label_f_hour: "{{value}} 小時"
label_f_hour_plural: "{{value}} 小時"
label_time_tracking: 工時追蹤
@ -991,5 +993,3 @@
enumeration_doc_categories: 文件分類
enumeration_activities: 活動 (時間追蹤)
enumeration_system_activity: 系統活動
notice_unable_delete_time_entry: Unable to delete time log entry.
label_overall_spent_time: Overall spent time

View File

@ -428,7 +428,7 @@ zh:
one: 1 个项目
other: "{{count}} 个项目"
label_project_all: 所有的项目
label_project_latest: 最近更新的项目
label_project_latest: 最近的项目
label_issue: 问题
label_issue_new: 新建问题
label_issue_plural: 问题
@ -592,10 +592,10 @@ zh:
label_all_time: 全部时间
label_yesterday: 昨天
label_this_week: 本周
label_last_week:
label_last_week:
label_last_n_days: "最后 {{count}} 天"
label_this_month: 本月
label_last_month:
label_last_month:
label_this_year: 今年
label_date_range: 日期范围
label_less_than_ago: 之前天数少于

View File

@ -4,11 +4,89 @@ Redmine - project management software
Copyright (C) 2006-2010 Jean-Philippe Lang
http://www.redmine.org/
== v1.0.0
== 2010-07-18 v1.0.0 (Release candidate)
Adds context menu to the roadmap issue lists
#443: Adds context menu to the roadmap issue lists
#443: Subtasking
#741: Description preview while editing an issue
#1131: Add support for alternate (non-LDAP) authentication
#1214: REST API for Issues
#1223: File upload on wiki edit form
#1755: add "blocked by" as a related issues option
#2420: Fetching emails from an POP server
#2482: Named scopes in Issue and ActsAsWatchable plus some view refactoring (logic extraction).
#2924: Make the right click menu more discoverable using a cursor property
#2985: Make syntax highlighting pluggable
#3201: Workflow Check/Uncheck All Rows/Columns
#3359: Update CodeRay 0.9
#3706: Allow assigned_to field configuration on Issue creation by email
#3936: configurable list of models to include in search
#4480: Create a link to the user profile from the administration interface
#4482: Cache textile rendering
#4572: Make it harder to ruin your database
#4573: Move github gems to Gemcutter
#4664: Add pagination to forum threads
#4732: Make login case-insensitive also for PostgreSQL
#4812: Create links to other projects
#4819: Replace images with smushed ones for speed
#4945: Allow custom fields attached to project to be searchable
#5121: Fix issues list layout overflow
#5169: Issue list view hook request
#5208: Aibility to edit wiki sidebar
#5281: Remove empty ul tags in the issue history
#5291: Updated basque translations
#5328: Automatically add "Repository" menu_item after repository creation
#5415: Fewer SQL statements generated for watcher_recipients
#5416: Exclude "fields_for" from overridden methods in TabularFormBuilder
#5573: Allow issue assignment in email
#5595: Allow start date and due dates to be set via incoming email
#5752: The projects view (/projects) renders ul's wrong
#5781: Allow to use more macros on the welcome page and project list
Fixed #1288: Unable to past escaped wiki syntax in an issue description
Fixed #1334: Wiki formatting character *_ and _*
Fixed #1416: Inline code with less-then/greater-than produces @lt; and @gt; respectively
Fixed #2473: Login and mail should not be case sensitive
Fixed #2990: Ruby 1.9 - wrong number of arguments (1 for 0) on rake db:migrate
Fixed #3089: Text formatting sometimes breaks when combined
Fixed #3690: Status change info duplicates on the issue screen
Fixed #3691: Redmine allows two files with the same file name to be uploaded to the same issue
Fixed #3764: ApplicationHelperTest fails with JRuby
Fixed #4265: Unclosed code tags in issue descriptions affects main UI
Fixed #4745: Bug in index.xml.builder (issues)
Fixed #4852: changing user/roles of project member not possible without javascript
Fixed #4857: Week number calculation in date picker is wrong if a week starts with Sunday
Fixed #4883: Bottom "contextual" placement in issue with associated changeset
Fixed #4918: Revisions r3453 and r3454 broke On-the-fly user creation with LDAP
Fixed #4935: Navigation to the Master Timesheet page (time_entries)
Fixed #5043: Flash messages are not displayed after the project settings[module/activity] saved
Fixed #5081: Broken links on public/help/wiki_syntax_detailed.html
Fixed #5104: Description of document not wikified on documents index
Fixed #5108: Issue linking fails inside of []s
Fixed #5199: diff code coloring using coderay
Fixed #5233: Add a hook to the issue report (Summary) view
Fixed #5265: timetracking: subtasks time is added to the main task
Fixed #5343: acts_as_event Doesn't Accept Outside URLs
Fixed #5440: UI Inconsistency : Administration > Enumerations table row headers should be enclosed in <thead>
Fixed #5463: 0.9.4 INSTALL and/or UPGRADE, missing session_store.rb
Fixed #5524: Update_parent_attributes doesn't work for the old parent issue when reparenting
Fixed #5548: SVN Repository: Can not list content of a folder which includes square brackets.
Fixed #5589: "with subproject" malfunction
Fixed #5676: Search for Numeric Value
Fixed #5696: Redmine + PostgreSQL 8.4.4 fails on _dir_list_content.rhtml
Fixed #5698: redmine:email:receive_imap fails silently for mails with subject longer than 255 characters
Fixed #5700: TimelogController#destroy assumes success
Fixed #5751: developer role is mispelled
Fixed #5769: Popup Calendar doesn't Advance in Chrome
Fixed #5771: Problem when importing git repository
Fixed #5823: Error in comments in plugin.rb
== 2010-07-07 v0.9.6
Fixed: Redmine.pm access by unauthorized users
== 2010-06-24 v0.9.5
Linkify folder names on revision view
"fiters" and "options" should be hidden in print view via css
Fixed: NoMethodError when no issue params are submitted

View File

@ -11,61 +11,85 @@ http://www.redmine.org/
* Ruby on Rails 2.3.5 (official downloadable Redmine releases are packaged with
the appropriate Rails version)
* Rack 1.0.1
* RubyGems 1.3.1
* Rake 0.8.3
* A database:
* MySQL (tested with MySQL 5)
* PostgreSQL (tested with PostgreSQL 8.1)
* SQLite (tested with SQLite 3)
Optional:
* SVN binaries >= 1.3 (needed for repository browsing, must be available in PATH)
* RMagick (gantt export to png)
* SCM binaries (e.g. svn), for repository browsing (must be available in PATH)
* RMagick (to enable Gantt export to png images)
* Ruby OpenID Library >= version 2 (to enable OpenID support)
== Installation
1. Uncompress the program archive
2. Create an empty database: "redmine" for example
3. Configure database parameters in config/database.yml
for "production" environment (default database is MySQL)
3. Configure the database parameters in config/database.yml
for the "production" environment (default database is MySQL)
4. Generate a session store secret
Redmine stores session data in cookies by default, which requires
a secret to be generated. Run:
rake generate_session_store
a secret to be generated. Under the application main directory run:
rake generate_session_store
5. Create the database structure
5. Create the database structure. Under the application main directory:
rake db:migrate RAILS_ENV="production"
It will create tables and an administrator account.
Under the application main directory run:
rake db:migrate RAILS_ENV="production"
It will create all the tables and an administrator account.
6. Setting up permissions (Windows users have to skip this section)
6. Setting up permissions
The user who runs Redmine must have write permission on the following
subdirectories: files, log, tmp (create the last one if not present).
subdirectories: files, log, tmp & public/plugin_assets (create the last
two if they are not yet present).
Assuming you run Redmine with a user named "redmine":
mkdir tmp public/plugin_assets
sudo chown -R redmine:redmine files log tmp public/plugin_assets
sudo chmod -R 755 files log tmp public/plugin_assets
Assuming you run Redmine with a user named redmine:
mkdir tmp
sudo chown -R redmine:redmine files log tmp
sudo chmod -R 755 files log tmp
7. Test the installation by running WEBrick web server:
ruby script/server -e production
7. Test the installation by running the WEBrick web server
Under the main application directory run:
ruby script/server -e production
Once WEBrick has started, point your browser to http://localhost:3000/
You should now see the application welcome page
You should now see the application welcome page.
8. Use default administrator account to log in:
8. Use the default administrator account to log in:
login: admin
password: admin
Go to "Administration" to load the default configuration data (roles,
trackers, statuses, workflow) and adjust application settings
Go to "Administration" to load the default configuration data (roles,
trackers, statuses, workflow) and to adjust the application settings
== Email delivery Configuration
== SMTP server Configuration
Copy config/email.yml.example to config/email.yml and edit this file
to adjust your SMTP settings.
Don't forget to restart the application after any change to this file.
Do not forget to restart the application after any change to this file.
Please do not enter your SMTP settings in environment.rb.
== References
* http://www.redmine.org/wiki/redmine/RedmineInstall
* http://www.redmine.org/wiki/redmine/EmailConfiguration
* http://www.redmine.org/wiki/redmine/RedmineSettings
* http://www.redmine.org/wiki/redmine/RedmineRepositories
* http://www.redmine.org/wiki/redmine/RedmineReceivingEmails
* http://www.redmine.org/wiki/redmine/RedmineReminderEmails
* http://www.redmine.org/wiki/redmine/RedmineLDAP

View File

@ -1,4 +1,4 @@
== Redmine upgrade procedure
== Redmine upgrade
Redmine - project management software
Copyright (C) 2006-2010 Jean-Philippe Lang
@ -8,26 +8,54 @@ http://www.redmine.org/
== Upgrading
1. Uncompress the program archive in a new directory
2. Copy your database settings (RAILS_ROOT/config/database.yml)
and SMTP settings (RAILS_ROOT/config/email.yml)
into the new config directory
and SMTP settings (RAILS_ROOT/config/email.yml) into the new
config directory
3. Copy the RAILS_ROOT/files directory content into your new installation
This directory contains all the attached files.
4. Copy the folders of the installed plugins and themes into new installation
5. Generate a session store secret
Redmine stores session data in cookies by default, which requires
a secret to be generated. Under the new application directory run:
rake generate_session_store
DO NOT REPLACE OR EDIT ANY OTHER FILES.
3. Generate a session store secret
Redmine stores session data in cookies by default, which requires
a secret to be generated. Run:
rake generate_session_store
4. Migrate your database (please make a backup before doing this):
rake db:migrate RAILS_ENV="production"
6. Migrate your database
5. Copy the RAILS_ROOT/files directory content into your new installation
This directory contains all the attached files
If you are upgrading to Rails 2.3.5 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"
Please make a backup before doing this! Under the new application
directory run:
rake db:migrate RAILS_ENV="production"
If you have installed any plugins, you should also run their database
migrations using:
rake db:migrate_plugins RAILS_ENV="production"
7. Clean up
Clear the cache and the existing sessions by running:
rake tmp:cache:clear
rake tmp:sessions:clear
8. Restart the application server (e.g. mongrel, thin, passenger)
9. Finally go to "Administration -> Roles & permissions" to check/set permissions
for new features, if any
== Notes
1. Rails 2.3.5 is required for version 0.9.
* Rails 2.3.5 is required for versions 0.9.x and 1.0.x.
2. When upgrading your code with svn update, don't forget to clear
the application cache (RAILS_ROOT/tmp/cache) before restarting.
== References
* http://www.redmine.org/wiki/redmine/RedmineUpgrade

View File

@ -227,9 +227,38 @@ sub authen_handler {
}
}
# check if authentication is forced
sub is_authentication_forced {
my $r = shift;
my $dbh = connect_database($r);
my $sth = $dbh->prepare(
"SELECT value FROM settings where settings.name = 'login_required';"
);
$sth->execute();
my $ret = 0;
if (my @row = $sth->fetchrow_array) {
if ($row[0] eq "1" || $row[0] eq "t") {
$ret = 1;
}
}
$sth->finish();
undef $sth;
$dbh->disconnect();
undef $dbh;
$ret;
}
sub is_public_project {
my $project_id = shift;
my $r = shift;
if (is_authentication_forced($r)) {
return 0;
}
my $dbh = connect_database($r);
my $sth = $dbh->prepare(
@ -309,7 +338,9 @@ sub is_member {
bindpw => $rowldap[4] ? $rowldap[4] : "",
filter => "(".$rowldap[6]."=%s)"
);
$ret = 1 if ($ldap->authenticate($redmine_user, $redmine_pass));
my $method = $r->method;
$ret = 1 if ($ldap->authenticate($redmine_user, $redmine_pass) && ((defined $read_only_methods{$method} && $permissions =~ /:browse_repository/) || $permissions =~ /:commit_access/));
}
$sthldap->finish();
undef $sthldap;

View File

@ -202,10 +202,10 @@ module Redmine #:nodoc:
# permission :say_hello, { :example => :say_hello }
#
# # A permission that can be given to registered users only
# permission :say_hello, { :example => :say_hello }, :require => loggedin
# permission :say_hello, { :example => :say_hello }, :require => :loggedin
#
# # A permission that can be given to project members only
# permission :say_hello, { :example => :say_hello }, :require => member
# permission :say_hello, { :example => :say_hello }, :require => :member
def permission(name, actions, options = {})
if @project_module
Redmine::AccessControl.map {|map| map.project_module(@project_module) {|map|map.permission(name, actions, options)}}

View File

@ -2,9 +2,9 @@ require 'rexml/document'
module Redmine
module VERSION #:nodoc:
MAJOR = 0
MINOR = 9
TINY = 5
MAJOR = 1
MINOR = 0
TINY = 0
# Branch values:
# * official release: nil

Binary file not shown.

Before

Width:  |  Height:  |  Size: 0 B

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 746 B

View File

@ -64,6 +64,7 @@ h4, .wiki h3 {font-size: 13px;padding: 2px 10px 1px 0px;margin-bottom: 5px; bord
#admin-menu a.settings { background-image: url(../images/changeset.png); }
#admin-menu a.plugins { background-image: url(../images/plugin.png); }
#admin-menu a.info { background-image: url(../images/help.png); }
#admin-menu a.server_authentication { background-image: url(../images/server_key.png); }
#main {background-color:#EEEEEE;}
@ -837,6 +838,7 @@ padding-bottom: 3px;
.icon-report { background-image: url(../images/report.png); }
.icon-comment { background-image: url(../images/comment.png); }
.icon-summary { background-image: url(../images/lightning.png); }
.icon-server-authentication { background-image: url(../images/server_key.png); }
.icon-file { background-image: url(../images/files/default.png); }
.icon-file.text-plain { background-image: url(../images/files/text.png); }

View File

@ -15,7 +15,7 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
ENV["RAILS_ENV"] ||= "test"
ENV["RAILS_ENV"] = "test"
require File.expand_path(File.dirname(__FILE__) + "/../config/environment")
require 'test_help'
require File.expand_path(File.dirname(__FILE__) + '/helper_testcase')