Commit Graph

265 Commits

Author SHA1 Message Date
Eric Davis 37d401ac58 When a specific TimeEntryActivity are change, associated TimeEntries will be
re-assigned to the correct record.

* Renamed build to create since the methods now create objects.
* Removed call to Project#save that isn't needed since objects are saved directly now.
* Wrapped the activity creation and updates in a SQL transaction so TimeEntries
  will remain in a consistent state if there is an error.
* When a Project's TimeEntryActivities are destroyed, they are now
  reassigned to the parent TimeEntryActivity.

  #4077

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2950 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-10-21 22:34:52 +00:00
Eric Davis 5833ba9f81 Added a Activities tab to Project Settings
* Changed Project#activities to allow getting inactive Activities also:
  * Changed the Enumeration#all named_scope to exclude project specific Activities
  * Changed the Project has_many time_entry_activities to include all by default
    and provided an #active method to filter them to active ones only
  * Split Project#activities to two methods and gave it a parameter that is used
    to determine if inactive activities are included (default is no)
* Added a reset button to delete all project specific activities.
* Added ProjectsController#reset_activities to remove the project
  specific activities
* Added a HTTP DELETE route for reset_activities
* Changed the permissions for managing project activities to have access to the
  ProjectsController#reset_activities action
* Added a way to bulk save Project specific Activities in ProjectsController
  * #save_activities will save all the changed activities, including update the
    existing records
  * Added helper methods to the controller which will be refactored later
  * Allow the same TimeEntryActivity names on different projects

  #4077

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2949 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-10-21 22:34:45 +00:00
Eric Davis e76d4c5c4c Added an active field track if an Enumeration is active on the frontend view.
* Changed TimelogHelper#activity_collection_for_select_options to only use
  active TimeEntryActivities.
* Changed TimelogHelper#activity_collection_for_select_options to return a blank
  option if the time_entry's current activity is inactive.

  #4077

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2946 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-10-21 22:34:28 +00:00
Jean-Philippe Lang 07aa3c55bd Contextual quick search (#3263).
Eg. when viewing issues, the quick search will search issues only.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2943 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-10-21 17:07:18 +00:00
Jean-Philippe Lang ac8a67191f Renames uploaded_test_file helper.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2909 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-10-10 14:56:29 +00:00
Jean-Philippe Lang 30ad78e57d Fixed: RepositoriesController#revision may show wrong revision (#3779).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2898 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-09-20 15:20:22 +00:00
Jean-Philippe Lang 21e18c1eb4 Adds missing native eol properties.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2895 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-09-20 14:06:57 +00:00
Jean-Philippe Lang 52a6b0a21e Fixed: Custom values with a nil value cause error on (project|account)/show (#3705).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2894 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-09-20 09:56:06 +00:00
Jean-Philippe Lang 41cbd239c4 Makes timelog report work at issue level (#2935).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2893 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-09-20 09:30:41 +00:00
Eric Davis 7b0cb6aba8 Upgraded to Rails 2.3.4 (#3597)
* Ran the Rails upgrade
* Upgraded to Rails Engines 2.3.2
* Added a plugin to let Engines override application views.
* Converted tests to use the new classes:
** ActionController::TestCase for functional
** ActiveSupport::TestCase for units
* Converted ActiveRecord::Error message to a string.
* ActiveRecord grouping returns an ordered hash which doesn't have #sort!
* Updated the I18n storage_units format.
* Added some default initializers from a fresh rails app
* Changed the order of check_box_tags and hidden_field_tags.  The hidden tag
  needs to appear first in Rails 2.3, otherwise it will override any value in
  the check_box_tag.
* Removed the custom handler for when the cookie store is tampered with.
  Rails 2.3 removed the TamperedWithCookie exception and instead Rails will not
  load the data from it when it's been tampered with (e.g. no user login).
* Fixed mail layouts, 2.3 has problems with implicit multipart emails that
  use layouts.  Also removed some custom Redmine mailer code.
* Fixed a bug that occurred in tests where the "required" span tag would be
  added to the :field_status translation.  This resulted in an email string of:

    <li>Status<span class="required"> *</span><span class="required"> *</span>

  Instead of:

    <li>Status: New</li>

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2887 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-09-13 17:14:35 +00:00
Jean-Philippe Lang 7707457145 User groups branch merged.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2869 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-09-12 08:36:46 +00:00
Jean-Philippe Lang 5b97570693 SCM:
* add latest changesets for the current directory when browsing the repository and a link to the full log
* ability to diff a directory (#3575)

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2849 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-09-01 12:13:17 +00:00
Jean-Philippe Lang e10577e9ed SCM:
* Fixes file log for non-Git repositories (Repository#latest_changesets ignores path argument)
* No longer used Repository#changesets_for_path method removed

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2844 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-08-17 16:32:24 +00:00
Eric Davis c28b044d68 Added branch and tag support to the git repository viewer. (#1406)
Many thanks to Adam Soltys and everyone else who tested this patch.

* Updated git test repository so it has a branch with some differences from the master branch
* Moved redmine diff class into a module so as not to clash with diff-lcs gem which is required by grit
* Find changesets from all branches, not just master
* Got revision browsing working
* Got file actions working properly
* Allow browsing by short form of commit identifier
* Added a method to retrieve repository branches
* Allow browsing by branch names as well as commit numbers
* Handle the case where a git repository has no master branch
* Expand revision box and handle finding revisions by first 8 characters
* Added branches dropdown to repository show page
* Combined repository browse and show into a single action.  Moved branch/revision navigation into a partial.
* Renamed partial navigation -> breadcrumbs
* Made it so latest revisions list uses branch and path context
* Preserve current path when changing branch or revision
* Perform slightly more graceful error handling in the case of invalid repository URLs
* Allow branch names to contain periods
* Allow dashes in branch names
* Sort branches by name
* Adding tags dropdown
* Need to disable both branches and tags dropdowns before submitting revision form
* Support underscores in revision (branch/tag) names
* Making file history sensitive to current branch/tag/revision, adding common navigation to changes page
* Updated translation files to include labels for 'branch', 'tag', and 'view all revisions'
* Reenable fields after submit so they don't look disabled and don't stay disabled on browser back button
* Instead of dashes just use empty string for default dropdown value
* Individual entry views now sport the upgraded revision navigation
* Don't display dropdowns with no entries
* Consider all revisions when doing initial load
* Fixed bug grabbing changesets.  Thanks to Bernhard Furtmueller for catching.
* Always check the entire log to find new revisions, rather than trying to go forward from the latest known one
* Added some cleverness to avoid selecting the whole changesets table any time someone views the repository root
* File copies and renames being detected properly
* Return gracefully if no revisions are found in the git log
* Applied patch from Babar Le Lapin to improve Windows compatibility

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2840 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-08-15 22:41:40 +00:00
Jean-Philippe Lang d41bd93acb Fixed: error raised when trying to add an empty comment to a news (#3615).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2820 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-07-18 07:51:17 +00:00
Jean-Philippe Lang e54d183d20 Ability to send an email with password when changing a user's password (#3566).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2813 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-07-05 14:06:14 +00:00
Eric Davis 62e58f26b0 Changed Enumerations to use a Single Table Inheritance
* Added migrations to change Enumerations to an STI relationship
* Added TimeEntryActivity model (STI)
* Added DocumentCategory model (STI)
* Added IssuePriority model (STI)
* Added Enumeration#get_subclasses to get a list of the subclasses of Enumeration
* Changed Enumeration to use the STI type field instead of the opt field
* Changed Enumeration#opt to return the old opt values but with a deprecation warning.
* Removed Enumeration::OPTIONS
* Removed the dynamic named_scopes in favor of specific named_scopes.  Kept for
  compatibility reasons.
* Added Enumeration#default so each subclass can easily find it's default record.
* Fixed Enumeration#default to use the STI scoping with a fake default scope for finding Enumeration's default.
* Added a 'all' named scope for getting all records in order by position.
* Added Deprecation warnings to the old named_scopes in Enumerations.
* Moved various methods off of Enumeration and onto the concrete classes
* Changed the EnumerationsController to use types
* Updated the Enumeration list template
* Added has_many relationships to the Enumeration STI classes.
* Fixes for tests.

  #3007

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2777 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-05-30 23:30:36 +00:00
Eric Davis 68c7af6c91 Fixed failing test in #3391. Quotes (") are html escaped.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2770 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-05-30 21:47:10 +00:00
Jean-Philippe Lang c082cfc90e FIxed: inline images not displayed in atom feeds (#3391).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2768 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-05-26 08:28:36 +00:00
Jean-Philippe Lang 8141110eb2 Ability to allow non-admin users to create projects (#1007).
This can be enabled in permissions settings. A non-admin user who creates a project is automatically added as a project member (the first role is given, TODO: make this given role configurable).
Projects can be added from the public projects list.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2750 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-05-17 12:59:14 +00:00
Jean-Philippe Lang f7d7186c13 Fixed: issue status bulk edit broken by r2726 (#3347).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2744 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-05-14 18:18:29 +00:00
Jean-Philippe Lang e5ed2b0f73 Fixed: issue bulk edit view broken by r2726 (#3347).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2739 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-05-13 16:06:14 +00:00
Jean-Philippe Lang 566d0a6ceb Fixed: issue move by non-admin broken by r2726 (#3354).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2738 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-05-13 15:58:54 +00:00
Jean-Philippe Lang 7dccf9fda6 Allows multiple roles on the same project (#706). Prerequisite for user groups feature.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2726 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-05-10 10:54:31 +00:00
Eric Davis fa7bd1c71d Added the ability to copy a project in the Project Administration panel.
* Added Copy project button.
* Added Project#copy_from to duplicate a project to be modified and saved by the user
* Added a ProjectsController#copy based off the add method
** Used Project#copy_from to create a duplicate project in memory
* Implemented Project#copy to copy data for a project from another and save it.
** Members
** Project level queries
** Project custom fields
* Added a plugin hook for Project#copy.

  #1125  #1556  #886  #309

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2704 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-05-03 21:25:37 +00:00
Jean-Philippe Lang b557393252 Ticket grouping (#2679).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2696 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-04-26 13:09:14 +00:00
Jean-Philippe Lang 15a14e55cd Returns a 404 error when trying to view/download an attachment that can't be read from disk.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2692 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-04-25 09:31:36 +00:00
Jean-Philippe Lang a7e32302a6 Adds single forum atom feed (#3181).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2682 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-04-24 16:51:07 +00:00
Jean-Philippe Lang bb44430b63 Ask user what to do with child pages when deleting a parent wiki page (#3202).
3 options are available:
* move child pages as root pages
* move child pages to another parent page
* delete all descendants

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2676 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-04-21 12:19:56 +00:00
Jean-Philippe Lang 2a3fe1604a Fixed: Issue status in the notify email's subject is the issue's old status, should be its new status (#3194).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2673 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-04-19 08:33:56 +00:00
Jean-Philippe Lang 43200e2122 Adds mime type specific css classes to the SCM browser.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2672 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-04-19 08:25:25 +00:00
Jean-Philippe Lang 04e181b8b0 Adds a user search field with autocompleter on project members screen.
User selection with checkboxes is disabled if there are more than 300 users available (#2993).

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2638 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-03-28 12:07:05 +00:00
Eric Davis b4be8849c0 Added observers to watch model objects for mail delivery instead of calling Mailer.
* Added an IssueObserver to watch when Issues are created
* Added a JournalObserver to watch when Journals are created (Issue updates)
* Added a NewsObserver for News items.
* Added a DocumentObserver for Document notifications.
* Setup IssuesController#new to use the IssueObserver.
* Setup IssuesController#edit to use the IssueObserver.
* Setup IssuesController#bulk_edit to use the JournalObserver.
* Removed the Mailer call in Changeset#scan_commit_for_issue_ids, the
  JournalObserver will handle it.
* Removed Mailer calls in MailHandler in favor of the Observers.

  #2659

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2637 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-03-28 00:38:57 +00:00
Jean-Philippe Lang 90810c0741 Ability to add multiple project members in a single action (#1556).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2635 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-03-27 18:10:36 +00:00
Jean-Philippe Lang adbe164246 Fixing tests (sort refactoring).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2577 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-03-12 18:43:19 +00:00
Jean-Philippe Lang c7c8dc71f2 Ability to save "sort order" in custom queries (#2899).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2572 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-03-12 18:06:54 +00:00
Jean-Philippe Lang 03572ec569 Adds a sortable "Project" column to the issue list.
It's displayed by default on the cross-project issue list (#2889). It's also available for saved queries.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2566 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-03-07 15:58:39 +00:00
Jean-Philippe Lang 3227b32763 Adds some functional tests.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2547 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-03-01 12:58:30 +00:00
Jean-Philippe Lang 47f5713b1e Reorder links refactoring (follows r2526).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2546 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-03-01 12:03:48 +00:00
Jean-Philippe Lang 56bdcf407f Adds some functional tests.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2545 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-03-01 11:39:01 +00:00
Jean-Philippe Lang 59dec17ddf Fixes a failure when running rake test:coverage.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2543 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-03-01 10:55:01 +00:00
Jean-Philippe Lang 38db62f1e7 Fixed that some error messages were not displayed (#2866).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2542 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-03-01 10:15:38 +00:00
Jean-Philippe Lang a95a8aa40b Fixes tests broken by r2532 (#2853).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2535 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-02-28 09:21:49 +00:00
Jean-Philippe Lang 589320337d Trackers controller refactoring.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2526 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-02-26 09:21:41 +00:00
Jean-Philippe Lang 21eb3c089d Fixed: When logging in via an autologin cookie the user's last_login_on should be updated (#2820).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2524 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-02-25 14:59:33 +00:00
Jean-Philippe Lang 1c5a2ddfb0 Limit the size of repository files displayed inline too.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2505 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-02-21 16:04:51 +00:00
Jean-Philippe Lang 79c074dbe5 Fixes new setting name.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2504 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-02-21 15:44:00 +00:00
Jean-Philippe Lang 66afc8c054 Adds a setting to limit the size of text attachments that can be displayed by the file viewer (default set to 512KB). Larger files are sent for download.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2503 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-02-21 15:34:11 +00:00
Jean-Philippe Lang 9c4a86d96c Moves project menu tests to a dedicated integration test.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2498 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-02-21 12:28:19 +00:00
Jean-Philippe Lang cf70f187dd Fixes UsersControllerTest.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2494 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-02-21 11:07:22 +00:00