Commit Graph

115 Commits

Author SHA1 Message Date
Eric Davis 878bb55522 Refactor: move method to Project#css_classes
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@4080 e93f8b46-1217-0410-a6f0-8f06a7374b81
2010-09-10 23:07:10 +00:00
Eric Davis bdb3937e0f Rewrite the Gantt chart. #6276
This version of the Gantt chart supports nested charts. So Projects,
Versions, and Issues will be nested underneath their parents correctly.

Additional features:

* Move all Gantt code to Redmine::Helpers::Gantt class instead of having it in
  the Gantt class, controller, and view
* Recursive and nest sub-projects
* Recursive and nest versions
* Recursive and nest issues
* Draw a line showing when a Project is active and it's progress
* Draw a line showing when a Version is active and it's progress
* Show a version's % complete
* Change the color of Projects, Versions, and Issues if they are late or
  behind schedule
* Added Project#start_date and #due_date
* Added Project#completed_percent
* Use a mini-gravatar on the Gantt chart
* Added tests for the Gantt rendering

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@4072 e93f8b46-1217-0410-a6f0-8f06a7374b81
2010-09-10 03:09:02 +00:00
Eric Davis f3cc84b343 Show subproject versions on the Roadmap.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3760 e93f8b46-1217-0410-a6f0-8f06a7374b81
2010-05-27 17:16:10 +00:00
Jean-Philippe Lang 8e3d1b694a Adds subtasking (#443) including:
* priority, start/due dates, progress, estimate, spent time roll-up to parent issues
* descendant issues tree displayed on the issue view with context menu support
* issue tree display on the gantt chart
* issue tree copy on project copy
* unlimited nesting

Defining subtasks requires the new permission 'Manage subtasks'.
Subtasks can not belong to a different project than the parent task.

Implementation is based on scoped nested sets for fast reads and updates.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3573 e93f8b46-1217-0410-a6f0-8f06a7374b81
2010-03-13 14:56:49 +00:00
Eric Davis 39c97279ca Optimize: Only select the name when getting the module names.
This has speed up TimelogController#details by 100% with larger databases
(demo.redmine went from 4077ms down to 2085ms).

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3484 e93f8b46-1217-0410-a6f0-8f06a7374b81
2010-02-25 04:55:33 +00:00
Jean-Philippe Lang 46ecc488a9 Fixed: projects are referenced by id in search results.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3482 e93f8b46-1217-0410-a6f0-8f06a7374b81
2010-02-24 21:08:08 +00:00
Jean-Philippe Lang b2dee55e72 Makes project identifiers searchable (#4897).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3481 e93f8b46-1217-0410-a6f0-8f06a7374b81
2010-02-24 21:05:14 +00:00
Jean-Philippe Lang 541d830d2a Fixed: Project copy loses wiki pages hierarchy (#4797).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3412 e93f8b46-1217-0410-a6f0-8f06a7374b81
2010-02-11 19:30:53 +00:00
Jean-Philippe Lang d02ddefff4 Fixed: parent project field doesn't include blank value when a member with 'add subproject' permission edits a child project (#4790).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3405 e93f8b46-1217-0410-a6f0-8f06a7374b81
2010-02-10 20:38:23 +00:00
Jean-Philippe Lang a1a24483b5 Fixed: deleting a project with subprojects breaks the project tree (#4701).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3354 e93f8b46-1217-0410-a6f0-8f06a7374b81
2010-01-31 10:39:42 +00:00
Jean-Philippe Lang 04455783a7 Fixed: project copy doesn't copy group memberships (#3975).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3250 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-12-26 16:14:55 +00:00
Eric Davis 9fb40b1a2f Project#activities should check all overridden activities, not just active ones.
Fixes #4084

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3239 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-12-24 18:25:49 +00:00
Jean-Philippe Lang 62c83bdd2e Adds a 'Add subprojects' permission.
* 'Add project' permission will let user create a root project
* 'Add subprojects' permission will let project members create subprojects

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3238 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-12-24 16:18:15 +00:00
Eric Davis 17512e7efd Copy issue relations when copying a project. (#3367)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3164 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-12-13 03:37:21 +00:00
Jean-Philippe Lang 0fe389b841 Optimize updates of issue's shared versions.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3137 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-12-08 20:47:52 +00:00
Jean-Philippe Lang 40e2af7ab9 Optimize issue updates when a version sharing changes.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3135 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-12-08 16:22:21 +00:00
Jean-Philippe Lang 5266e328c0 Fixes Project#shared_versions for descendants sharing (#465).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3130 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-12-07 19:28:47 +00:00
Jean-Philippe Lang 5f8e9d7118 Version sharing (#465) + optional inclusion of subprojects in the roadmap view (#2666).
Each version of a project can be shared with:
* subprojects
* projects in the project hierarchy: ancestors + descendants (needs versions management permission on the root project)
* projects in the project tree: root project + all its descendants (same as above)
* all projects (can be set by admin users only)

Notes:
* when sharing a version of a private project with others projects, its name will be visible within the other projects
* a project with versions used by non descendant projects can not be archived

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3123 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-12-06 10:28:20 +00:00
Jean-Philippe Lang c870a7b9ef Do not notify users that are no longer allowed to view an issue (#3589, #4263).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3121 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-12-03 21:28:14 +00:00
Jean-Philippe Lang d8c5549168 Changes misleading scopes on Enumeration.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3083 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-11-21 12:00:49 +00:00
Jean-Philippe Lang d73fb1fab8 Load roles when loading project members.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3078 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-11-20 13:08:17 +00:00
Jean-Philippe Lang 6838677e30 Remove dead code.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3061 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-11-15 13:43:44 +00:00
Jean-Philippe Lang 534ce51154 Allow non admin users to add subprojects (#2963).
Subprojects can be added to the projects for which the user has add_project permission.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3059 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-11-15 13:22:08 +00:00
Jean-Philippe Lang 28f0b5ce4a Fixed: Project#enabled_module_names= does not test if a module is already enabled (#4200).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3036 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-11-13 17:50:21 +00:00
Jean-Philippe Lang 8f40750ad7 Adds a link to automatically close completed versions in project settings (#1245).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3023 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-11-09 18:53:12 +00:00
Jean-Philippe Lang 6fedbf60d5 Allow project forums copy.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2976 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-10-25 11:23:46 +00:00
Jean-Philippe Lang a18676b669 Prevent mass-assignment warnings.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2973 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-10-25 10:51:21 +00:00
Jean-Philippe Lang 4e73685af7 Reset timestamps and wiki page hierarchy on project copy.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2972 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-10-25 10:44:03 +00:00
Jean-Philippe Lang 875eb47ad1 Prevent mass-assignment warnings.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2971 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-10-25 10:35:59 +00:00
Jean-Philippe Lang a9fb11c0f5 Fixes project wiki copy.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2969 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-10-25 10:30:39 +00:00
Jean-Philippe Lang 5b787785b4 Project copy: let the user choose what to copy from the source project (everything by default).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2966 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-10-24 13:30:23 +00:00
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 e615266e9a Changed the Timelogs to use both the Systemwide and Project specific TimeEntryActivities
* Added Project#activities to return all the Systemwide and Project specific
  activities, excluding Systemwide ones that are overridden.
* Added some tests for TimelogHelper.

  #4077

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2948 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-10-21 22:34:39 +00:00
Eric Davis d40756d611 Renamed Project#public named_scope so it will not override Ruby's public method
#4056

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2941 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-10-21 03:21:31 +00:00
Eric Davis a150689be9 Improved Project#copy to copy more data from the source Project. #3367
* Versions
* Associate the copied issues with the new versions
* Wiki
* WikiPages
* WikiContents
* IssueCategories

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2934 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-10-19 00:07:37 +00:00
Eric Davis 6531c3f887 Preselect the issue custom fields from the source project when copying. #4045
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2933 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-10-19 00:07:32 +00:00
Jean-Philippe Lang 041277235b Slight change to the visibility SQL statement.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2878 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-09-12 11:22:42 +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 36d8f35192 Prevent creation of project with identifier 'new' (#3602).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2821 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-07-18 08:06:51 +00:00
Jean-Philippe Lang bd42b7cd9e Validate project identifier only when changed (#3352).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2762 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-05-25 18:01:27 +00:00
Jean-Philippe Lang da2854cf75 Display all users roles on project overview (#3339).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2734 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-05-12 19:04:52 +00:00
Jean-Philippe Lang 88532b6817 Fixes project members copy with multiple roles.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2728 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-05-10 11:17:23 +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 e40241761a Set minimum identifier lenght to 1 (#3073).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2646 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-04-04 09:55:17 +00:00
Eric Davis c2dfffd7f2 Added some RDoc documentation for some models.
Submitted by austenito on Github.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2612 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-03-21 00:39:53 +00:00
Jean-Philippe Lang fe28193e4e Merged Rails 2.2 branch. Redmine now requires Rails 2.2.2.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2493 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-02-21 11:04:50 +00:00
Jean-Philippe Lang b05ed594a0 Do not DELETE/INSERT enabled_modules when updating project modules.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2473 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-02-15 16:26:48 +00:00
Jean-Philippe Lang e1f96ca4db Replaces the obsolete robots.txt with a cached action (#2491).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2319 e93f8b46-1217-0410-a6f0-8f06a7374b81
2009-01-27 17:27:50 +00:00