Commit Graph

119 Commits

Author SHA1 Message Date
Eric Davis 0316af7f6b Converted User#mail_notification from a boolean to a string.
The string will now store which type of notification option to use.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@4216 e93f8b46-1217-0410-a6f0-8f06a7374b81
2010-09-28 18:22:00 +00:00
Eric Davis 83bfb8cd2b Revert "Fixed: gantt broken when no due date on project issues and versions."
It broke the tests for overdue projects and isn't a good way to fix #6350
because it makes an assumption that a project is due Today and will still
error if issue tracking is disabled.

This reverts commit a7fd592db4. (r4178)

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@4184 e93f8b46-1217-0410-a6f0-8f06a7374b81
2010-09-26 17:35:18 +00:00
Jean-Philippe Lang a7fd592db4 Fixed: gantt broken when no due date on project issues and versions.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@4178 e93f8b46-1217-0410-a6f0-8f06a7374b81
2010-09-26 08:16:05 +00:00
Eric Davis cdfc57d544 Change the TimelogController's to/from dates based on the project time entries
Instead of looking for the earliest and latest time entry system wide for the
dates in the form, now TimelogController will only look at the time entries
for the current project (and parent/sub projects).

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@4087 e93f8b46-1217-0410-a6f0-8f06a7374b81
2010-09-14 19:02:25 +00:00
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