https://www.redmine.org/https://www.redmine.org/favicon.ico?16793021292015-07-11T04:29:56ZRedmineRedmine - Defect #20282: Error message when editing a child project without add project/subprojects permissionshttps://www.redmine.org/issues/20282?journal_id=647702015-07-11T04:29:56ZMischa The Evil
<ul><li><strong>Status</strong> changed from <i>New</i> to <i>Confirmed</i></li></ul><a name="Summary"></a>
<h2 >Summary<a href="#Summary" class="wiki-anchor">¶</a></h2>
<ul class="toc right"><li><strong>Table of contents</strong></li><li><a href="#Summary">Summary</a></li><li><a href="#Details">Details</a><ul><li><a href="#Project-setup">Project setup</a></li><li><a href="#User-setup">User setup</a></li><li><a href="#Role-setup">Role setup</a></li><li><a href="#Steps-to-replicate-the-error-message">Steps to replicate the error message</a></li><li><a href="#Deployment-details">Deployment details</a></li><li><a href="#Log-snippets">Log snippets</a></li></ul></li></ul>
<p>I have been able to replicate the display of the error message using <a class="source" href="https://www.redmine.org/projects/redmine/repository/svn/revisions/14420/entry/trunk">source:/trunk@14420</a>, but I should also note that the changes made are actually being saved to the DB, despite the error message.<br />The error message can be triggered only by editing of and saving from <em>"/projects/child-20282/settings"</em> and <em>"/projects/child-20282/settings/info"</em>.</p>
<a name="Details"></a>
<h2 >Details<a href="#Details" class="wiki-anchor">¶</a></h2>
<a name="Project-setup"></a>
<h3 >Project setup<a href="#Project-setup" class="wiki-anchor">¶</a></h3>
<pre>
/--------------\
| Parent-20282 | <<-- private root project on which role "20282" has no roles/permissions
\--------------/ (project does not have any members)
||
||
\\ /-------------\
== >>> | Child-20282 | <<-- private sub project on which user "tester1" has role "20282"
\-------------/ (no further members)
</pre>
<a name="User-setup"></a>
<h3 >User setup<a href="#User-setup" class="wiki-anchor">¶</a></h3>
<ul>
<li>Login: "tester1" </li>
<li>Made sure that this user is not an "Administrator"</li>
</ul>
<a name="Role-setup"></a>
<h3 >Role setup<a href="#Role-setup" class="wiki-anchor">¶</a></h3>
<ul>
<li>Name: "20282" </li>
<li>Created by copying the default "Reporter" role</li>
<li>Added all project management permissions:
<ul>
<li>"Edit project" </li>
<li>"Select project modules" </li>
<li>"Manage members" </li>
<li>"Manage versions" </li>
<li>"Manage forums" </li>
<li>"Manage issue categories" </li>
<li>"Manage repository" </li>
<li>"Manage project activities" </li>
<li>"Manage wiki" </li>
</ul>
</li>
<li>Made sure that the role does not have the "Create subprojects" permission</li>
</ul>
<a name="Steps-to-replicate-the-error-message"></a>
<h3 >Steps to replicate the error message<a href="#Steps-to-replicate-the-error-message" class="wiki-anchor">¶</a></h3>
<ol>
<li>login as "tester1" </li>
<li>browse to project settings of "Child-20282" (<em>"/projects/child-20282/settings"</em>)
<ol>
<li>notice that "tester1" can browse further directly to any of the sub tabs:<br /> - Modules, Members, Versions, Issue categories, Wiki, Repositories, Forums and Activities (time tracking)<br /> and modify any of these and save the changes correctly to the DB without the error message showing up</li>
</ol>
</li>
<li>make any kind of change (eg. disable/enable a tracker, add/modify "Homepage" field, etc) on "Information tab" </li>
<li>click "Save" --> page is reloaded</li>
</ol>
<ul>
<li>notice that the reported error message is shown: "Subproject of is invalid" </li>
<li>notice that the changes made are actually being saved to the DB</li>
<li>notice that no errors/warnings are being logged</li>
</ul>
<a name="Deployment-details"></a>
<h3 >Deployment details<a href="#Deployment-details" class="wiki-anchor">¶</a></h3>
<pre>
Environment:
Redmine version 3.1.0.devel (trunk@r14420)
OS Ubuntu 12.04.5 LTS
Ruby and Gemset manager rvm 1.26.11 (master@20150627)
Ruby version 2.1.6-p336 (2015-04-13) [i686-linux]
Rails version 4.2.3
Environment development
Database PostgreSQL 9.1.18 on i686-pc-linux-gnu, compiled by gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3, 32-bit
Database adapter pg 0.18.2
Application server n/a
Webserver WEBrick 1.3.1
SCM:
Subversion 1.6.17
Git 1.7.9.5
Filesystem
Redmine plugins:
no plugin installed
</pre>
<a name="Log-snippets"></a>
<h3 >Log snippets<a href="#Log-snippets" class="wiki-anchor">¶</a></h3>
<p><a href="#" onclick="$('#collapse-b6f6d532-show, #collapse-b6f6d532-hide').toggle(); $('#collapse-b6f6d532').fadeToggle(150);; return false;" id="collapse-b6f6d532-show" class="icon icon-collapsed collapsible">View development log snippets...</a><a href="#" onclick="$('#collapse-b6f6d532-show, #collapse-b6f6d532-hide').toggle(); $('#collapse-b6f6d532').fadeToggle(150);; return false;" id="collapse-b6f6d532-hide" class="icon icon-expended collapsible" style="display:none;">View development log snippets...</a><div id="collapse-b6f6d532" class="collapsed-text" style="display:none;"><pre>
Started GET "/projects/child-20282" for 192.168.1.3 at 2015-07-11 05:31:58 +0200
Processing by ProjectsController#show as HTML
Parameters: {"id"=>"child-20282"}
[1m[36m (0.4ms)[0m [1mSELECT MAX("settings"."updated_on") FROM "settings"[0m
[1m[35mUser Load (0.3ms)[0m SELECT "users".* FROM "users" WHERE "users"."type" IN ('User', 'AnonymousUser') AND "users"."status" = $1 AND "users"."id" = $2 LIMIT 1 [["status", 1], ["id", 3]]
Current user: tester1 (id=3)
[1m[36mProject Load (0.3ms)[0m [1mSELECT "projects".* FROM "projects" WHERE "projects"."identifier" = $1 LIMIT 1[0m [["identifier", "child-20282"]]
[1m[35m (0.2ms)[0m SELECT "enabled_modules"."name" FROM "enabled_modules" WHERE "enabled_modules"."project_id" = $1 [["project_id", 5]]
[1m[36mMember Load (0.4ms)[0m [1mSELECT "members".* FROM "members" INNER JOIN "projects" ON "projects"."id" = "members"."project_id" WHERE "members"."user_id" = $1 AND (projects.status<>9) AND "members"."project_id" = $2 ORDER BY projects.name LIMIT 1[0m [["user_id", 3], ["project_id", 5]]
[1m[35mProject Load (0.4ms)[0m SELECT "projects".* FROM "projects" WHERE "projects"."id" IN (5)
[1m[36mMemberRole Load (0.0ms)[0m [1mSELECT "member_roles".* FROM "member_roles" WHERE "member_roles"."member_id" IN (4)[0m
[1m[35mRole Load (0.3ms)[0m SELECT "roles".* FROM "roles" WHERE "roles"."id" IN (6)
[1m[36mRole Load (0.3ms)[0m [1mSELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1[0m [["member_id", 4]]
[1m[35mMember Load (0.2ms)[0m SELECT "members".* FROM "members" INNER JOIN "users" ON "users"."id" = "members"."user_id" WHERE "members"."project_id" = $1 AND "users"."type" = $2 AND "users"."status" = $3 [["project_id", 5], ["type", "User"], ["status", 1]]
[1m[36mUser Load (0.4ms)[0m [1mSELECT "users".* FROM "users" WHERE "users"."type" IN ('User', 'AnonymousUser') AND "users"."id" IN (3)[0m
[1m[35mCACHE (0.0ms)[0m SELECT "member_roles".* FROM "member_roles" WHERE "member_roles"."member_id" IN (4)
[1m[36mCACHE (0.0ms)[0m [1mSELECT "roles".* FROM "roles" WHERE "roles"."id" IN (6)[0m
[1m[35mRole Load (0.6ms)[0m SELECT "roles".* FROM "roles" WHERE "roles"."builtin" = $1 ORDER BY "roles"."id" ASC LIMIT 1 [["builtin", 1]]
[1m[36mMember Load (0.9ms)[0m [1mSELECT "members".* FROM "members" INNER JOIN "projects" ON "projects"."id" = "members"."project_id" INNER JOIN "users" ON "users"."id" = "members"."user_id" WHERE (projects.status <> 9) AND (members.user_id = 3 OR (projects.is_public = 't' AND users.type = 'GroupNonMember'))[0m
[1m[35mCACHE (0.0ms)[0m SELECT "projects".* FROM "projects" WHERE "projects"."id" IN (5)
[1m[36mCACHE (0.0ms)[0m [1mSELECT "member_roles".* FROM "member_roles" WHERE "member_roles"."member_id" IN (4)[0m
[1m[35mCACHE (0.0ms)[0m SELECT "roles".* FROM "roles" WHERE "roles"."id" IN (6)
[1m[36mProject Load (0.2ms)[0m [1mSELECT "projects".* FROM "projects" WHERE "projects"."parent_id" = $1 AND (((projects.status <> 9) AND (projects.is_public = 't' OR projects.id IN (5)))) ORDER BY "projects"."lft" ASC[0m [["parent_id", 5]]
[1m[35mNews Load (0.2ms)[0m SELECT "news".* FROM "news" WHERE "news"."project_id" = $1 ORDER BY news.created_on DESC LIMIT 5 [["project_id", 5]]
[1m[36mTracker Load (1.8ms)[0m [1mSELECT DISTINCT "trackers".* FROM "trackers" INNER JOIN "projects_trackers" ON "projects_trackers"."tracker_id" = "trackers"."id" INNER JOIN "projects" ON "projects"."id" = "projects_trackers"."project_id" JOIN enabled_modules ON enabled_modules.project_id = projects.id AND enabled_modules.name = 'issue_tracking' WHERE (projects.lft >= 8 AND projects.rgt <= 9 AND projects.status <> 9) ORDER BY "trackers"."position" ASC[0m
[1m[35mSetting Load (0.5ms)[0m SELECT "settings".* FROM "settings" WHERE "settings"."name" = $1 ORDER BY "settings"."id" DESC LIMIT 1 [["name", "display_subprojects_issues"]]
[1m[36mGroup Load (0.2ms)[0m [1mSELECT "users".* FROM "users" INNER JOIN "groups_users" ON "users"."id" = "groups_users"."group_id" WHERE "users"."type" IN ('Group', 'GroupBuiltin', 'GroupAnonymous', 'GroupNonMember') AND "groups_users"."user_id" = $1[0m [["user_id", 3]]
[1m[35m (2.2ms)[0m SELECT COUNT(*) AS count_all, tracker_id AS tracker_id FROM "issues" INNER JOIN "projects" ON "projects"."id" = "issues"."project_id" INNER JOIN "issue_statuses" ON "issue_statuses"."id" = "issues"."status_id" WHERE (((projects.status <> 9 AND projects.id IN (SELECT em.project_id FROM enabled_modules em WHERE em.name='issue_tracking')) AND ((projects.is_public = 't' AND ((issues.is_private = 'f' OR issues.author_id = 3 OR issues.assigned_to_id IN (3)))) OR (projects.id IN (5) AND ((issues.is_private = 'f' OR issues.author_id = 3 OR issues.assigned_to_id IN (3))))))) AND (issue_statuses.is_closed = 'f') AND ((projects.id = 5 OR (projects.lft > 8 AND projects.rgt < 9))) GROUP BY "issues"."tracker_id"
[1m[36m (1.7ms)[0m [1mSELECT COUNT(*) AS count_all, tracker_id AS tracker_id FROM "issues" INNER JOIN "projects" ON "projects"."id" = "issues"."project_id" WHERE (((projects.status <> 9 AND projects.id IN (SELECT em.project_id FROM enabled_modules em WHERE em.name='issue_tracking')) AND ((projects.is_public = 't' AND ((issues.is_private = 'f' OR issues.author_id = 3 OR issues.assigned_to_id IN (3)))) OR (projects.id IN (5) AND ((issues.is_private = 'f' OR issues.author_id = 3 OR issues.assigned_to_id IN (3))))))) AND ((projects.id = 5 OR (projects.lft > 8 AND projects.rgt < 9))) GROUP BY "issues"."tracker_id"[0m
[1m[35mCACHE (0.0ms)[0m SELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1 [["member_id", 4]]
[1m[36m (1.1ms)[0m [1mSELECT SUM("time_entries"."hours") FROM "time_entries" INNER JOIN "projects" ON "projects"."id" = "time_entries"."project_id" WHERE (((projects.status <> 9 AND projects.id IN (SELECT em.project_id FROM enabled_modules em WHERE em.name='time_tracking')) AND (projects.is_public = 't' OR projects.id IN (5)))) AND ((projects.id = 5 OR (projects.lft > 8 AND projects.rgt < 9)))[0m
[1m[35mToken Load (0.3ms)[0m SELECT "tokens".* FROM "tokens" WHERE "tokens"."user_id" = $1 AND (action='feeds') LIMIT 1 [["user_id", 3]]
[1m[36mCACHE (0.0ms)[0m [1mSELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1[0m [["member_id", 4]]
[1m[35mCACHE (0.0ms)[0m SELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1 [["member_id", 4]]
[1m[36mCustomField Load (0.8ms)[0m [1mSELECT "custom_fields".* FROM "custom_fields" WHERE (type = 'ProjectCustomField') ORDER BY "custom_fields"."position" ASC[0m
[1m[35mCACHE (0.0ms)[0m SELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1 [["member_id", 4]]
[1m[36mCACHE (0.0ms)[0m [1mSELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1[0m [["member_id", 4]]
[1m[35mCACHE (0.0ms)[0m SELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1 [["member_id", 4]]
[1m[36mSetting Load (0.3ms)[0m [1mSELECT "settings".* FROM "settings" WHERE "settings"."name" = $1 ORDER BY "settings"."id" DESC LIMIT 1[0m [["name", "user_format"]]
Rendered projects/_members_box.html.erb (2.9ms)
[1m[35mCACHE (0.0ms)[0m SELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1 [["member_id", 4]]
[1m[36mCACHE (0.0ms)[0m [1mSELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1[0m [["member_id", 4]]
Rendered projects/_sidebar.html.erb (3.4ms)
Rendered projects/show.html.erb within layouts/base (25.8ms)
[1m[35mUserPreference Load (0.3ms)[0m SELECT "user_preferences".* FROM "user_preferences" WHERE "user_preferences"."user_id" = $1 LIMIT 1 [["user_id", 3]]
[1m[36mProject Load (0.4ms)[0m [1mSELECT "projects"."id", "projects"."name", "projects"."identifier", "projects"."lft", "projects"."rgt" FROM "projects" INNER JOIN "members" ON "projects"."id" = "members"."project_id" WHERE (projects.status<>9) AND "members"."user_id" = $1 AND (projects.status<>9) AND "projects"."status" = $2 ORDER BY projects.name[0m [["user_id", 3], ["status", 1]]
[1m[35mProject Load (0.6ms)[0m SELECT "projects".* FROM "projects" WHERE (projects.lft < 8 AND projects.rgt > 9) AND (((projects.status <> 9) AND (projects.is_public = 't' OR projects.id IN (5)))) ORDER BY "projects"."lft" ASC
[1m[36mCACHE (0.0ms)[0m [1mSELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1[0m [["member_id", 4]]
[1m[35mCACHE (0.0ms)[0m SELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1 [["member_id", 4]]
[1m[36mCACHE (0.0ms)[0m [1mSELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1[0m [["member_id", 4]]
[1m[35mProject Load (0.5ms)[0m SELECT "projects".* FROM "projects" WHERE (projects.lft <= 8 AND projects.rgt >= 9) ORDER BY "projects"."lft" ASC LIMIT 1
[1m[36m (0.8ms)[0m [1mSELECT COUNT(*) FROM "versions" INNER JOIN "projects" ON "projects"."id" = "versions"."project_id" WHERE (projects.id = 5 OR (projects.status <> 9 AND ( versions.sharing = 'system' OR (projects.lft >= 7 AND projects.rgt <= 10 AND versions.sharing = 'tree') OR (projects.lft < 8 AND projects.rgt > 9 AND versions.sharing IN ('hierarchy', 'descendants')) OR (projects.lft > 8 AND projects.rgt < 9 AND versions.sharing = 'hierarchy'))))[0m
[1m[35mCACHE (0.0ms)[0m SELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1 [["member_id", 4]]
[1m[36mCACHE (0.0ms)[0m [1mSELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1[0m [["member_id", 4]]
[1m[35mTracker Exists (0.2ms)[0m SELECT 1 AS one FROM "trackers" INNER JOIN "projects_trackers" ON "trackers"."id" = "projects_trackers"."tracker_id" WHERE "projects_trackers"."project_id" = $1 LIMIT 1 [["project_id", 5]]
[1m[36mCACHE (0.0ms)[0m [1mSELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1[0m [["member_id", 4]]
[1m[35mCACHE (0.0ms)[0m SELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1 [["member_id", 4]]
[1m[36mCACHE (0.0ms)[0m [1mSELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1[0m [["member_id", 4]]
[1m[35mCACHE (0.0ms)[0m SELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1 [["member_id", 4]]
[1m[36mCACHE (0.0ms)[0m [1mSELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1[0m [["member_id", 4]]
[1m[35mWiki Load (0.2ms)[0m SELECT "wikis".* FROM "wikis" WHERE "wikis"."project_id" = $1 LIMIT 1 [["project_id", 5]]
[1m[36mCACHE (0.0ms)[0m [1mSELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1[0m [["member_id", 4]]
[1m[35mBoard Exists (0.2ms)[0m SELECT 1 AS one FROM "boards" WHERE "boards"."project_id" = $1 LIMIT 1 [["project_id", 5]]
[1m[36mCACHE (0.0ms)[0m [1mSELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1[0m [["member_id", 4]]
[1m[35mCACHE (0.0ms)[0m SELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1 [["member_id", 4]]
[1m[36mRepository Load (0.2ms)[0m [1mSELECT "repositories".* FROM "repositories" WHERE "repositories"."project_id" = $1 AND (is_default = 't') LIMIT 1[0m [["project_id", 5]]
[1m[35mCACHE (0.0ms)[0m SELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1 [["member_id", 4]]
Completed 200 OK in 396ms (Views: 219.1ms | ActiveRecord: 34.3ms)
Started GET "/projects/child-20282/settings" for 192.168.1.3 at 2015-07-11 05:32:02 +0200
Processing by ProjectsController#settings as HTML
Parameters: {"id"=>"child-20282"}
[1m[36m (0.4ms)[0m [1mSELECT MAX("settings"."updated_on") FROM "settings"[0m
[1m[35mUser Load (0.3ms)[0m SELECT "users".* FROM "users" WHERE "users"."type" IN ('User', 'AnonymousUser') AND "users"."status" = $1 AND "users"."id" = $2 LIMIT 1 [["status", 1], ["id", 3]]
Current user: tester1 (id=3)
[1m[36mProject Load (0.2ms)[0m [1mSELECT "projects".* FROM "projects" WHERE "projects"."identifier" = $1 LIMIT 1[0m [["identifier", "child-20282"]]
[1m[35m (0.2ms)[0m SELECT "enabled_modules"."name" FROM "enabled_modules" WHERE "enabled_modules"."project_id" = $1 [["project_id", 5]]
[1m[36mMember Load (0.3ms)[0m [1mSELECT "members".* FROM "members" INNER JOIN "projects" ON "projects"."id" = "members"."project_id" WHERE "members"."user_id" = $1 AND (projects.status<>9) AND "members"."project_id" = $2 ORDER BY projects.name LIMIT 1[0m [["user_id", 3], ["project_id", 5]]
[1m[35mProject Load (0.4ms)[0m SELECT "projects".* FROM "projects" WHERE "projects"."id" IN (5)
[1m[36mMemberRole Load (0.3ms)[0m [1mSELECT "member_roles".* FROM "member_roles" WHERE "member_roles"."member_id" IN (4)[0m
[1m[35mRole Load (0.5ms)[0m SELECT "roles".* FROM "roles" WHERE "roles"."id" IN (6)
[1m[36mRole Load (0.4ms)[0m [1mSELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1[0m [["member_id", 4]]
[1m[35mIssueCustomField Load (0.5ms)[0m SELECT "custom_fields".* FROM "custom_fields" WHERE "custom_fields"."type" IN ('IssueCustomField') ORDER BY "custom_fields"."position" ASC
[1m[36mTracker Load (0.5ms)[0m [1mSELECT "trackers".* FROM "trackers" ORDER BY "trackers"."position" ASC[0m
[1m[35mWiki Load (0.2ms)[0m SELECT "wikis".* FROM "wikis" WHERE "wikis"."project_id" = $1 LIMIT 1 [["project_id", 5]]
[1m[36mCACHE (0.0ms)[0m [1mSELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1[0m [["member_id", 4]]
[1m[35mCACHE (0.0ms)[0m SELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1 [["member_id", 4]]
[1m[36mCACHE (0.0ms)[0m [1mSELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1[0m [["member_id", 4]]
[1m[35mCACHE (0.0ms)[0m SELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1 [["member_id", 4]]
[1m[36mCACHE (0.0ms)[0m [1mSELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1[0m [["member_id", 4]]
[1m[35mCACHE (0.0ms)[0m SELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1 [["member_id", 4]]
[1m[36mCACHE (0.0ms)[0m [1mSELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1[0m [["member_id", 4]]
[1m[35mCACHE (0.0ms)[0m SELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1 [["member_id", 4]]
[1m[36mCACHE (0.0ms)[0m [1mSELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1[0m [["member_id", 4]]
[1m[35mRole Load (0.3ms)[0m SELECT "roles".* FROM "roles" WHERE "roles"."builtin" = $1 ORDER BY "roles"."id" ASC LIMIT 1 [["builtin", 1]]
[1m[36mMember Load (1.6ms)[0m [1mSELECT "members".* FROM "members" INNER JOIN "projects" ON "projects"."id" = "members"."project_id" INNER JOIN "users" ON "users"."id" = "members"."user_id" WHERE (projects.status <> 9) AND (members.user_id = 3 OR (projects.is_public = 't' AND users.type = 'GroupNonMember'))[0m
[1m[35mCACHE (0.0ms)[0m SELECT "projects".* FROM "projects" WHERE "projects"."id" IN (5)
[1m[36mCACHE (0.0ms)[0m [1mSELECT "member_roles".* FROM "member_roles" WHERE "member_roles"."member_id" IN (4)[0m
[1m[35mCACHE (0.0ms)[0m SELECT "roles".* FROM "roles" WHERE "roles"."id" IN (6)
[1m[36mProject Load (0.4ms)[0m [1mSELECT "projects".* FROM "projects" WHERE (1=0)[0m
[1m[35mProject Load (0.4ms)[0m SELECT "projects".* FROM "projects" WHERE (projects.lft >= 8 AND projects.rgt <= 9) ORDER BY "projects"."lft" ASC
[1m[36mMember Load (0.2ms)[0m [1mSELECT "members".* FROM "members" INNER JOIN "projects" ON "projects"."id" = "members"."project_id" WHERE "members"."user_id" = $1 AND (projects.status<>9) ORDER BY projects.name[0m [["user_id", 3]]
[1m[35mCACHE (0.1ms)[0m SELECT "projects".* FROM "projects" WHERE "projects"."id" IN (5)
[1m[36mCACHE (0.0ms)[0m [1mSELECT "member_roles".* FROM "member_roles" WHERE "member_roles"."member_id" IN (4)[0m
[1m[35mCACHE (0.0ms)[0m SELECT "roles".* FROM "roles" WHERE "roles"."id" IN (6)
[1m[36mCACHE (0.0ms)[0m [1mSELECT "roles".* FROM "roles" WHERE "roles"."builtin" = $1 ORDER BY "roles"."id" ASC LIMIT 1[0m [["builtin", 1]]
[1m[35mProject Load (0.2ms)[0m SELECT "projects".* FROM "projects" WHERE "projects"."id" = $1 LIMIT 1 [["id", 4]]
[1m[36mCACHE (0.0ms)[0m [1mSELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1[0m [["member_id", 4]]
[1m[35m (0.3ms)[0m SELECT "enabled_modules"."name" FROM "enabled_modules" WHERE "enabled_modules"."project_id" = $1 [["project_id", 4]]
[1m[36mMember Load (0.3ms)[0m [1mSELECT "members".* FROM "members" INNER JOIN "projects" ON "projects"."id" = "members"."project_id" WHERE "members"."user_id" = $1 AND (projects.status<>9) AND "members"."project_id" = $2 ORDER BY projects.name LIMIT 1[0m [["user_id", 3], ["project_id", 4]]
[1m[35mSetting Load (0.2ms)[0m SELECT "settings".* FROM "settings" WHERE "settings"."name" = $1 ORDER BY "settings"."id" DESC LIMIT 1 [["name", "text_formatting"]]
[1m[36mCustomField Load (0.8ms)[0m [1mSELECT "custom_fields".* FROM "custom_fields" WHERE (type = 'ProjectCustomField') ORDER BY "custom_fields"."position" ASC[0m
[1m[35mEnabledModule Load (0.3ms)[0m SELECT "enabled_modules".* FROM "enabled_modules" WHERE "enabled_modules"."project_id" = $1 [["project_id", 5]]
[1m[36mTracker Load (0.3ms)[0m [1mSELECT "trackers".* FROM "trackers" INNER JOIN "projects_trackers" ON "trackers"."id" = "projects_trackers"."tracker_id" WHERE "projects_trackers"."project_id" = $1 ORDER BY "trackers"."position" ASC[0m [["project_id", 5]]
Rendered projects/_form.html.erb (51.1ms)
Rendered projects/_edit.html.erb (53.0ms)
Rendered projects/settings/_modules.html.erb (5.4ms)
[1m[35mRole Load (0.3ms)[0m SELECT "roles".* FROM "roles" WHERE "roles"."builtin" = $1 ORDER BY "roles"."position" ASC [["builtin", 0]]
[1m[36mSQL (0.4ms)[0m [1mSELECT "members"."id" AS t0_r0, "members"."user_id" AS t0_r1, "members"."project_id" AS t0_r2, "members"."created_on" AS t0_r3, "members"."mail_notification" AS t0_r4, "member_roles"."id" AS t1_r0, "member_roles"."member_id" AS t1_r1, "member_roles"."role_id" AS t1_r2, "member_roles"."inherited_from" AS t1_r3, "roles"."id" AS t2_r0, "roles"."name" AS t2_r1, "roles"."position" AS t2_r2, "roles"."assignable" AS t2_r3, "roles"."builtin" AS t2_r4, "roles"."permissions" AS t2_r5, "roles"."issues_visibility" AS t2_r6, "roles"."users_visibility" AS t2_r7, "roles"."time_entries_visibility" AS t2_r8, "roles"."all_roles_managed" AS t2_r9, "users"."id" AS t3_r0, "users"."login" AS t3_r1, "users"."hashed_password" AS t3_r2, "users"."firstname" AS t3_r3, "users"."lastname" AS t3_r4, "users"."admin" AS t3_r5, "users"."status" AS t3_r6, "users"."last_login_on" AS t3_r7, "users"."language" AS t3_r8, "users"."auth_source_id" AS t3_r9, "users"."created_on" AS t3_r10, "users"."updated_on" AS t3_r11, "users"."type" AS t3_r12, "users"."identity_url" AS t3_r13, "users"."mail_notification" AS t3_r14, "users"."salt" AS t3_r15, "users"."must_change_passwd" AS t3_r16, "users"."passwd_changed_on" AS t3_r17 FROM "members" INNER JOIN "users" ON "users"."id" = "members"."user_id" LEFT OUTER JOIN "member_roles" ON "member_roles"."member_id" = "members"."id" LEFT OUTER JOIN "member_roles" "member_roles_members_join" ON "member_roles_members_join"."member_id" = "members"."id" LEFT OUTER JOIN "roles" ON "roles"."id" = "member_roles_members_join"."role_id" WHERE "members"."project_id" = $1 AND "users"."status" = $2[0m [["project_id", 5], ["status", 1]]
[1m[35mPrincipal Load (0.3ms)[0m SELECT "users".* FROM "users" WHERE "users"."id" = $1 LIMIT 1 [["id", 3]]
[1m[36mCACHE (0.0ms)[0m [1mSELECT "roles".* FROM "roles" WHERE "roles"."builtin" = $1 ORDER BY "roles"."position" ASC[0m [["builtin", 0]]
[1m[35mUser Load (0.4ms)[0m SELECT "users".* FROM "users" WHERE "users"."type" IN ('User', 'AnonymousUser') AND "users"."id" = $1 LIMIT 1 [["id", 3]]
Rendered projects/settings/_members.html.erb (24.8ms)
[1m[36mProject Load (0.5ms)[0m [1mSELECT "projects".* FROM "projects" WHERE (projects.lft <= 8 AND projects.rgt >= 9) ORDER BY "projects"."lft" ASC LIMIT 1[0m
[1m[35m (0.6ms)[0m SELECT COUNT(*) FROM "versions" INNER JOIN "projects" ON "projects"."id" = "versions"."project_id" WHERE (projects.id = 5 OR (projects.status <> 9 AND ( versions.sharing = 'system' OR (projects.lft >= 7 AND projects.rgt <= 10 AND versions.sharing = 'tree') OR (projects.lft < 8 AND projects.rgt > 9 AND versions.sharing IN ('hierarchy', 'descendants')) OR (projects.lft > 8 AND projects.rgt < 9 AND versions.sharing = 'hierarchy'))))
[1m[36mVersion Load (0.8ms)[0m [1mSELECT "versions".* FROM "versions" INNER JOIN "projects" ON "projects"."id" = "versions"."project_id" WHERE (projects.id = 5 OR (projects.status <> 9 AND ( versions.sharing = 'system' OR (projects.lft >= 7 AND projects.rgt <= 10 AND versions.sharing = 'tree') OR (projects.lft < 8 AND projects.rgt > 9 AND versions.sharing IN ('hierarchy', 'descendants')) OR (projects.lft > 8 AND projects.rgt < 9 AND versions.sharing = 'hierarchy'))))[0m
[1m[35mCACHE (0.0ms)[0m SELECT "projects".* FROM "projects" WHERE "projects"."id" IN (5)
[1m[36mCACHE (0.0ms)[0m [1mSELECT "enabled_modules"."name" FROM "enabled_modules" WHERE "enabled_modules"."project_id" = $1[0m [["project_id", 5]]
[1m[35mCACHE (0.0ms)[0m SELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1 [["member_id", 4]]
[1m[36mCACHE (0.0ms)[0m [1mSELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1[0m [["member_id", 4]]
[1m[35mVersion Exists (0.2ms)[0m SELECT 1 AS one FROM "versions" WHERE "versions"."project_id" = $1 LIMIT 1 [["project_id", 5]]
[1m[36mCACHE (0.0ms)[0m [1mSELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1[0m [["member_id", 4]]
Rendered projects/settings/_versions.html.erb (27.1ms)
[1m[35mIssueCategory Exists (0.2ms)[0m SELECT 1 AS one FROM "issue_categories" WHERE "issue_categories"."project_id" = $1 LIMIT 1 [["project_id", 5]]
[1m[36mIssueCategory Load (0.2ms)[0m [1mSELECT "issue_categories".* FROM "issue_categories" WHERE "issue_categories"."project_id" = $1 ORDER BY issue_categories.name[0m [["project_id", 5]]
[1m[35mCACHE (0.0ms)[0m SELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1 [["member_id", 4]]
[1m[36mCACHE (0.0ms)[0m [1mSELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1[0m [["member_id", 4]]
Rendered projects/settings/_issue_categories.html.erb (13.1ms)
Rendered projects/settings/_wiki.html.erb (3.0ms)
[1m[35mRepository Exists (0.2ms)[0m SELECT 1 AS one FROM "repositories" WHERE "repositories"."project_id" = $1 LIMIT 1 [["project_id", 5]]
[1m[36mRepository Load (0.2ms)[0m [1mSELECT "repositories".* FROM "repositories" WHERE "repositories"."project_id" = $1[0m [["project_id", 5]]
[1m[35mCACHE (0.0ms)[0m SELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1 [["member_id", 4]]
[1m[36mCACHE (0.0ms)[0m [1mSELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1[0m [["member_id", 4]]
Rendered projects/settings/_repositories.html.erb (14.4ms)
[1m[35mBoard Exists (0.3ms)[0m SELECT 1 AS one FROM "boards" WHERE "boards"."project_id" = $1 LIMIT 1 [["project_id", 5]]
[1m[36mBoard Load (0.2ms)[0m [1mSELECT "boards".* FROM "boards" WHERE "boards"."project_id" = $1 ORDER BY position ASC[0m [["project_id", 5]]
[1m[35mCACHE (0.0ms)[0m SELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1 [["member_id", 4]]
[1m[36mCACHE (0.0ms)[0m [1mSELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1[0m [["member_id", 4]]
[1m[35mCACHE (0.0ms)[0m SELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1 [["member_id", 4]]
Rendered projects/settings/_boards.html.erb (19.3ms)
[1m[36mCustomField Load (0.7ms)[0m [1mSELECT "custom_fields".* FROM "custom_fields" WHERE (type = 'TimeEntryActivityCustomField') ORDER BY "custom_fields"."position" ASC[0m
[1m[35m (0.2ms)[0m SELECT "enumerations"."parent_id" FROM "enumerations" WHERE "enumerations"."type" IN ('TimeEntryActivity') AND "enumerations"."project_id" = $1 ORDER BY "enumerations"."position" ASC [["project_id", 5]]
[1m[36mTimeEntryActivity Load (0.4ms)[0m [1mSELECT "enumerations".* FROM "enumerations" WHERE "enumerations"."type" IN ('TimeEntryActivity') AND (enumerations.project_id IS NULL OR enumerations.project_id = 5) ORDER BY "enumerations"."position" ASC[0m
[1m[35mCACHE (0.0ms)[0m SELECT "custom_fields".* FROM "custom_fields" WHERE (type = 'TimeEntryActivityCustomField') ORDER BY "custom_fields"."position" ASC
[1m[36mCACHE (0.0ms)[0m [1mSELECT "custom_fields".* FROM "custom_fields" WHERE (type = 'TimeEntryActivityCustomField') ORDER BY "custom_fields"."position" ASC[0m
Rendered projects/settings/_activities.html.erb (28.7ms)
Rendered common/_tabs.html.erb (201.7ms)
Rendered projects/settings.html.erb within layouts/base (213.8ms)
[1m[35mUserPreference Load (0.3ms)[0m SELECT "user_preferences".* FROM "user_preferences" WHERE "user_preferences"."user_id" = $1 LIMIT 1 [["user_id", 3]]
[1m[36mProject Load (0.2ms)[0m [1mSELECT "projects"."id", "projects"."name", "projects"."identifier", "projects"."lft", "projects"."rgt" FROM "projects" INNER JOIN "members" ON "projects"."id" = "members"."project_id" WHERE (projects.status<>9) AND "members"."user_id" = $1 AND (projects.status<>9) AND "projects"."status" = $2 ORDER BY projects.name[0m [["user_id", 3], ["status", 1]]
[1m[35mProject Load (0.5ms)[0m SELECT "projects".* FROM "projects" WHERE (projects.lft < 8 AND projects.rgt > 9) AND (((projects.status <> 9) AND (projects.is_public = 't' OR projects.id IN (5)))) ORDER BY "projects"."lft" ASC
[1m[36mCACHE (0.0ms)[0m [1mSELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1[0m [["member_id", 4]]
[1m[35mCACHE (0.0ms)[0m SELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1 [["member_id", 4]]
[1m[36mCACHE (0.0ms)[0m [1mSELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1[0m [["member_id", 4]]
[1m[35mCACHE (0.0ms)[0m SELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1 [["member_id", 4]]
[1m[36mCACHE (0.0ms)[0m [1mSELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1[0m [["member_id", 4]]
[1m[35mCACHE (0.0ms)[0m SELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1 [["member_id", 4]]
[1m[36mCACHE (0.0ms)[0m [1mSELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1[0m [["member_id", 4]]
[1m[35mCACHE (0.0ms)[0m SELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1 [["member_id", 4]]
[1m[36mCACHE (0.0ms)[0m [1mSELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1[0m [["member_id", 4]]
[1m[35mCACHE (0.0ms)[0m SELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1 [["member_id", 4]]
[1m[36mCACHE (0.0ms)[0m [1mSELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1[0m [["member_id", 4]]
[1m[35mCACHE (0.0ms)[0m SELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1 [["member_id", 4]]
[1m[36mCACHE (0.0ms)[0m [1mSELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1[0m [["member_id", 4]]
[1m[35mRepository Load (0.4ms)[0m SELECT "repositories".* FROM "repositories" WHERE "repositories"."project_id" = $1 AND (is_default = 't') LIMIT 1 [["project_id", 5]]
[1m[36mCACHE (0.0ms)[0m [1mSELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1[0m [["member_id", 4]]
Completed 200 OK in 300ms (Views: 239.1ms | ActiveRecord: 20.1ms)
Started PATCH "/projects/child-20282" for 192.168.1.3 at 2015-07-11 05:32:26 +0200
Processing by ProjectsController#update as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"<<<<token-scrubbed>>>>", "project"=>{"name"=>"Child-20282", "description"=>"", "homepage"=>"http://www.redmine.org", "is_public"=>"1", "tracker_ids"=>["1", "3", ""]}, "commit"=>"Save", "id"=>"child-20282"}
[1m[35m (1.3ms)[0m SELECT MAX("settings"."updated_on") FROM "settings"
[1m[36mUser Load (0.4ms)[0m [1mSELECT "users".* FROM "users" WHERE "users"."type" IN ('User', 'AnonymousUser') AND "users"."status" = $1 AND "users"."id" = $2 LIMIT 1[0m [["status", 1], ["id", 3]]
Current user: tester1 (id=3)
[1m[35mProject Load (0.3ms)[0m SELECT "projects".* FROM "projects" WHERE "projects"."identifier" = $1 LIMIT 1 [["identifier", "child-20282"]]
[1m[36m (0.2ms)[0m [1mSELECT "enabled_modules"."name" FROM "enabled_modules" WHERE "enabled_modules"."project_id" = $1[0m [["project_id", 5]]
[1m[35mMember Load (0.4ms)[0m SELECT "members".* FROM "members" INNER JOIN "projects" ON "projects"."id" = "members"."project_id" WHERE "members"."user_id" = $1 AND (projects.status<>9) AND "members"."project_id" = $2 ORDER BY projects.name LIMIT 1 [["user_id", 3], ["project_id", 5]]
[1m[36mProject Load (0.4ms)[0m [1mSELECT "projects".* FROM "projects" WHERE "projects"."id" IN (5)[0m
[1m[35mMemberRole Load (0.3ms)[0m SELECT "member_roles".* FROM "member_roles" WHERE "member_roles"."member_id" IN (4)
[1m[36mRole Load (0.5ms)[0m [1mSELECT "roles".* FROM "roles" WHERE "roles"."id" IN (6)[0m
[1m[35mRole Load (0.3ms)[0m SELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1 [["member_id", 4]]
[1m[36mRole Load (0.5ms)[0m [1mSELECT "roles".* FROM "roles" WHERE "roles"."builtin" = $1 ORDER BY "roles"."id" ASC LIMIT 1[0m [["builtin", 1]]
[1m[35mMember Load (0.9ms)[0m SELECT "members".* FROM "members" INNER JOIN "projects" ON "projects"."id" = "members"."project_id" INNER JOIN "users" ON "users"."id" = "members"."user_id" WHERE (projects.status <> 9) AND (members.user_id = 3 OR (projects.is_public = 't' AND users.type = 'GroupNonMember'))
[1m[36mCACHE (0.0ms)[0m [1mSELECT "projects".* FROM "projects" WHERE "projects"."id" IN (5)[0m
[1m[35mCACHE (0.0ms)[0m SELECT "member_roles".* FROM "member_roles" WHERE "member_roles"."member_id" IN (4)
[1m[36mCACHE (0.0ms)[0m [1mSELECT "roles".* FROM "roles" WHERE "roles"."id" IN (6)[0m
[1m[35mProject Load (0.4ms)[0m SELECT "projects".* FROM "projects" WHERE (1=0)
[1m[36mProject Load (0.3ms)[0m [1mSELECT "projects".* FROM "projects" WHERE (projects.lft >= 8 AND projects.rgt <= 9) ORDER BY "projects"."lft" ASC[0m
[1m[35mMember Load (0.2ms)[0m SELECT "members".* FROM "members" INNER JOIN "projects" ON "projects"."id" = "members"."project_id" WHERE "members"."user_id" = $1 AND (projects.status<>9) ORDER BY projects.name [["user_id", 3]]
[1m[36mCACHE (0.0ms)[0m [1mSELECT "projects".* FROM "projects" WHERE "projects"."id" IN (5)[0m
[1m[35mCACHE (0.0ms)[0m SELECT "member_roles".* FROM "member_roles" WHERE "member_roles"."member_id" IN (4)
[1m[36mCACHE (0.0ms)[0m [1mSELECT "roles".* FROM "roles" WHERE "roles"."id" IN (6)[0m
[1m[35mCACHE (0.0ms)[0m SELECT "roles".* FROM "roles" WHERE "roles"."builtin" = $1 ORDER BY "roles"."id" ASC LIMIT 1 [["builtin", 1]]
[1m[36mProject Load (0.3ms)[0m [1mSELECT "projects".* FROM "projects" WHERE "projects"."id" = $1 LIMIT 1[0m [["id", 4]]
[1m[35mCACHE (0.0ms)[0m SELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1 [["member_id", 4]]
[1m[36m (0.3ms)[0m [1mSELECT "enabled_modules"."name" FROM "enabled_modules" WHERE "enabled_modules"."project_id" = $1[0m [["project_id", 4]]
[1m[35mMember Load (0.2ms)[0m SELECT "members".* FROM "members" INNER JOIN "projects" ON "projects"."id" = "members"."project_id" WHERE "members"."user_id" = $1 AND (projects.status<>9) AND "members"."project_id" = $2 ORDER BY projects.name LIMIT 1 [["user_id", 3], ["project_id", 4]]
[1m[36mTracker Load (0.7ms)[0m [1mSELECT "trackers".* FROM "trackers" WHERE "trackers"."id" IN (1, 3)[0m
[1m[35mTracker Load (0.2ms)[0m SELECT "trackers".* FROM "trackers" INNER JOIN "projects_trackers" ON "trackers"."id" = "projects_trackers"."tracker_id" WHERE "projects_trackers"."project_id" = $1 ORDER BY "trackers"."position" ASC [["project_id", 5]]
[1m[36m (0.2ms)[0m [1mBEGIN[0m
[1m[35m (0.2ms)[0m ROLLBACK
[1m[36mIssueCustomField Load (0.4ms)[0m [1mSELECT "custom_fields".* FROM "custom_fields" WHERE "custom_fields"."type" IN ('IssueCustomField') ORDER BY "custom_fields"."position" ASC[0m
[1m[35mTracker Load (0.5ms)[0m SELECT "trackers".* FROM "trackers" ORDER BY "trackers"."position" ASC
[1m[36mWiki Load (0.4ms)[0m [1mSELECT "wikis".* FROM "wikis" WHERE "wikis"."project_id" = $1 LIMIT 1[0m [["project_id", 5]]
[1m[35mRole Load (0.4ms)[0m SELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1 [["member_id", 4]]
[1m[36mCACHE (0.0ms)[0m [1mSELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1[0m [["member_id", 4]]
[1m[35mCACHE (0.0ms)[0m SELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1 [["member_id", 4]]
[1m[36mCACHE (0.0ms)[0m [1mSELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1[0m [["member_id", 4]]
[1m[35mCACHE (0.0ms)[0m SELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1 [["member_id", 4]]
[1m[36mCACHE (0.0ms)[0m [1mSELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1[0m [["member_id", 4]]
[1m[35mCACHE (0.0ms)[0m SELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1 [["member_id", 4]]
[1m[36mCACHE (0.0ms)[0m [1mSELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1[0m [["member_id", 4]]
[1m[35mCACHE (0.0ms)[0m SELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1 [["member_id", 4]]
[1m[36mCACHE (0.0ms)[0m [1mSELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1[0m [["member_id", 4]]
[1m[35mCustomField Load (0.5ms)[0m SELECT "custom_fields".* FROM "custom_fields" WHERE (type = 'ProjectCustomField') ORDER BY "custom_fields"."position" ASC
[1m[36mEnabledModule Load (0.3ms)[0m [1mSELECT "enabled_modules".* FROM "enabled_modules" WHERE "enabled_modules"."project_id" = $1[0m [["project_id", 5]]
Rendered projects/_form.html.erb (9.4ms)
Rendered projects/_edit.html.erb (10.7ms)
Rendered projects/settings/_modules.html.erb (4.2ms)
[1m[35mRole Load (0.3ms)[0m SELECT "roles".* FROM "roles" WHERE "roles"."builtin" = $1 ORDER BY "roles"."position" ASC [["builtin", 0]]
[1m[36mSQL (0.6ms)[0m [1mSELECT "members"."id" AS t0_r0, "members"."user_id" AS t0_r1, "members"."project_id" AS t0_r2, "members"."created_on" AS t0_r3, "members"."mail_notification" AS t0_r4, "member_roles"."id" AS t1_r0, "member_roles"."member_id" AS t1_r1, "member_roles"."role_id" AS t1_r2, "member_roles"."inherited_from" AS t1_r3, "roles"."id" AS t2_r0, "roles"."name" AS t2_r1, "roles"."position" AS t2_r2, "roles"."assignable" AS t2_r3, "roles"."builtin" AS t2_r4, "roles"."permissions" AS t2_r5, "roles"."issues_visibility" AS t2_r6, "roles"."users_visibility" AS t2_r7, "roles"."time_entries_visibility" AS t2_r8, "roles"."all_roles_managed" AS t2_r9, "users"."id" AS t3_r0, "users"."login" AS t3_r1, "users"."hashed_password" AS t3_r2, "users"."firstname" AS t3_r3, "users"."lastname" AS t3_r4, "users"."admin" AS t3_r5, "users"."status" AS t3_r6, "users"."last_login_on" AS t3_r7, "users"."language" AS t3_r8, "users"."auth_source_id" AS t3_r9, "users"."created_on" AS t3_r10, "users"."updated_on" AS t3_r11, "users"."type" AS t3_r12, "users"."identity_url" AS t3_r13, "users"."mail_notification" AS t3_r14, "users"."salt" AS t3_r15, "users"."must_change_passwd" AS t3_r16, "users"."passwd_changed_on" AS t3_r17 FROM "members" INNER JOIN "users" ON "users"."id" = "members"."user_id" LEFT OUTER JOIN "member_roles" ON "member_roles"."member_id" = "members"."id" LEFT OUTER JOIN "member_roles" "member_roles_members_join" ON "member_roles_members_join"."member_id" = "members"."id" LEFT OUTER JOIN "roles" ON "roles"."id" = "member_roles_members_join"."role_id" WHERE "members"."project_id" = $1 AND "users"."status" = $2[0m [["project_id", 5], ["status", 1]]
[1m[35mPrincipal Load (0.3ms)[0m SELECT "users".* FROM "users" WHERE "users"."id" = $1 LIMIT 1 [["id", 3]]
[1m[36mCACHE (0.0ms)[0m [1mSELECT "roles".* FROM "roles" WHERE "roles"."builtin" = $1 ORDER BY "roles"."position" ASC[0m [["builtin", 0]]
[1m[35mUser Load (0.3ms)[0m SELECT "users".* FROM "users" WHERE "users"."type" IN ('User', 'AnonymousUser') AND "users"."id" = $1 LIMIT 1 [["id", 3]]
Rendered projects/settings/_members.html.erb (14.7ms)
[1m[36mProject Load (0.4ms)[0m [1mSELECT "projects".* FROM "projects" WHERE (projects.lft <= 8 AND projects.rgt >= 9) ORDER BY "projects"."lft" ASC LIMIT 1[0m
[1m[35m (0.9ms)[0m SELECT COUNT(*) FROM "versions" INNER JOIN "projects" ON "projects"."id" = "versions"."project_id" WHERE (projects.id = 5 OR (projects.status <> 9 AND ( versions.sharing = 'system' OR (projects.lft >= 7 AND projects.rgt <= 10 AND versions.sharing = 'tree') OR (projects.lft < 8 AND projects.rgt > 9 AND versions.sharing IN ('hierarchy', 'descendants')) OR (projects.lft > 8 AND projects.rgt < 9 AND versions.sharing = 'hierarchy'))))
[1m[36mVersion Load (0.6ms)[0m [1mSELECT "versions".* FROM "versions" INNER JOIN "projects" ON "projects"."id" = "versions"."project_id" WHERE (projects.id = 5 OR (projects.status <> 9 AND ( versions.sharing = 'system' OR (projects.lft >= 7 AND projects.rgt <= 10 AND versions.sharing = 'tree') OR (projects.lft < 8 AND projects.rgt > 9 AND versions.sharing IN ('hierarchy', 'descendants')) OR (projects.lft > 8 AND projects.rgt < 9 AND versions.sharing = 'hierarchy'))))[0m
[1m[35mProject Load (0.5ms)[0m SELECT "projects".* FROM "projects" WHERE "projects"."id" IN (5)
[1m[36m (0.3ms)[0m [1mSELECT "enabled_modules"."name" FROM "enabled_modules" WHERE "enabled_modules"."project_id" = $1[0m [["project_id", 5]]
[1m[35mCACHE (0.0ms)[0m SELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1 [["member_id", 4]]
[1m[36mCACHE (0.0ms)[0m [1mSELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1[0m [["member_id", 4]]
[1m[35mVersion Exists (0.3ms)[0m SELECT 1 AS one FROM "versions" WHERE "versions"."project_id" = $1 LIMIT 1 [["project_id", 5]]
[1m[36mCACHE (0.0ms)[0m [1mSELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1[0m [["member_id", 4]]
Rendered projects/settings/_versions.html.erb (15.3ms)
[1m[35mIssueCategory Exists (0.2ms)[0m SELECT 1 AS one FROM "issue_categories" WHERE "issue_categories"."project_id" = $1 LIMIT 1 [["project_id", 5]]
[1m[36mIssueCategory Load (0.2ms)[0m [1mSELECT "issue_categories".* FROM "issue_categories" WHERE "issue_categories"."project_id" = $1 ORDER BY issue_categories.name[0m [["project_id", 5]]
[1m[35mCACHE (0.1ms)[0m SELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1 [["member_id", 4]]
[1m[36mCACHE (0.0ms)[0m [1mSELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1[0m [["member_id", 4]]
Rendered projects/settings/_issue_categories.html.erb (5.8ms)
Rendered projects/settings/_wiki.html.erb (1.2ms)
[1m[35mRepository Exists (1.0ms)[0m SELECT 1 AS one FROM "repositories" WHERE "repositories"."project_id" = $1 LIMIT 1 [["project_id", 5]]
[1m[36mRepository Load (0.3ms)[0m [1mSELECT "repositories".* FROM "repositories" WHERE "repositories"."project_id" = $1[0m [["project_id", 5]]
[1m[35mCACHE (0.0ms)[0m SELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1 [["member_id", 4]]
[1m[36mCACHE (0.1ms)[0m [1mSELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1[0m [["member_id", 4]]
Rendered projects/settings/_repositories.html.erb (22.9ms)
[1m[35mBoard Exists (0.3ms)[0m SELECT 1 AS one FROM "boards" WHERE "boards"."project_id" = $1 LIMIT 1 [["project_id", 5]]
[1m[36mBoard Load (0.8ms)[0m [1mSELECT "boards".* FROM "boards" WHERE "boards"."project_id" = $1 ORDER BY position ASC[0m [["project_id", 5]]
[1m[35mCACHE (0.0ms)[0m SELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1 [["member_id", 4]]
[1m[36mCACHE (0.0ms)[0m [1mSELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1[0m [["member_id", 4]]
[1m[35mCACHE (0.0ms)[0m SELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1 [["member_id", 4]]
Rendered projects/settings/_boards.html.erb (14.3ms)
[1m[36mCustomField Load (0.5ms)[0m [1mSELECT "custom_fields".* FROM "custom_fields" WHERE (type = 'TimeEntryActivityCustomField') ORDER BY "custom_fields"."position" ASC[0m
[1m[35m (0.2ms)[0m SELECT "enumerations"."parent_id" FROM "enumerations" WHERE "enumerations"."type" IN ('TimeEntryActivity') AND "enumerations"."project_id" = $1 ORDER BY "enumerations"."position" ASC [["project_id", 5]]
[1m[36mTimeEntryActivity Load (0.4ms)[0m [1mSELECT "enumerations".* FROM "enumerations" WHERE "enumerations"."type" IN ('TimeEntryActivity') AND (enumerations.project_id IS NULL OR enumerations.project_id = 5) ORDER BY "enumerations"."position" ASC[0m
[1m[35mCACHE (0.1ms)[0m SELECT "custom_fields".* FROM "custom_fields" WHERE (type = 'TimeEntryActivityCustomField') ORDER BY "custom_fields"."position" ASC
[1m[36mCACHE (0.0ms)[0m [1mSELECT "custom_fields".* FROM "custom_fields" WHERE (type = 'TimeEntryActivityCustomField') ORDER BY "custom_fields"."position" ASC[0m
Rendered projects/settings/_activities.html.erb (10.0ms)
Rendered common/_tabs.html.erb (107.5ms)
Rendered projects/settings.html.erb within layouts/base (118.6ms)
[1m[35mUserPreference Load (0.3ms)[0m SELECT "user_preferences".* FROM "user_preferences" WHERE "user_preferences"."user_id" = $1 LIMIT 1 [["user_id", 3]]
[1m[36mProject Load (0.4ms)[0m [1mSELECT "projects"."id", "projects"."name", "projects"."identifier", "projects"."lft", "projects"."rgt" FROM "projects" INNER JOIN "members" ON "projects"."id" = "members"."project_id" WHERE (projects.status<>9) AND "members"."user_id" = $1 AND (projects.status<>9) AND "projects"."status" = $2 ORDER BY projects.name[0m [["user_id", 3], ["status", 1]]
[1m[35mProject Load (0.6ms)[0m SELECT "projects".* FROM "projects" WHERE (projects.lft < 8 AND projects.rgt > 9) AND (((projects.status <> 9) AND (projects.is_public = 't' OR projects.id IN (5)))) ORDER BY "projects"."lft" ASC
[1m[36mCACHE (0.0ms)[0m [1mSELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1[0m [["member_id", 4]]
[1m[35mCACHE (0.0ms)[0m SELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1 [["member_id", 4]]
[1m[36mCACHE (0.0ms)[0m [1mSELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1[0m [["member_id", 4]]
[1m[35mCACHE (0.0ms)[0m SELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1 [["member_id", 4]]
[1m[36mCACHE (0.0ms)[0m [1mSELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1[0m [["member_id", 4]]
[1m[35mCACHE (0.0ms)[0m SELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1 [["member_id", 4]]
[1m[36mCACHE (0.0ms)[0m [1mSELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1[0m [["member_id", 4]]
[1m[35mCACHE (0.0ms)[0m SELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1 [["member_id", 4]]
[1m[36mCACHE (0.0ms)[0m [1mSELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1[0m [["member_id", 4]]
[1m[35mCACHE (0.0ms)[0m SELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1 [["member_id", 4]]
[1m[36mCACHE (0.0ms)[0m [1mSELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1[0m [["member_id", 4]]
[1m[35mCACHE (0.0ms)[0m SELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1 [["member_id", 4]]
[1m[36mCACHE (0.0ms)[0m [1mSELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1[0m [["member_id", 4]]
[1m[35mRepository Load (0.5ms)[0m SELECT "repositories".* FROM "repositories" WHERE "repositories"."project_id" = $1 AND (is_default = 't') LIMIT 1 [["project_id", 5]]
[1m[36mCACHE (0.0ms)[0m [1mSELECT DISTINCT "roles".* FROM "roles" INNER JOIN "member_roles" ON "roles"."id" = "member_roles"."role_id" WHERE "member_roles"."member_id" = $1[0m [["member_id", 4]]
Completed 200 OK in 214ms (Views: 148.0ms | ActiveRecord: 22.1ms)
</pre></div></p> Redmine - Defect #20282: Error message when editing a child project without add project/subprojects permissionshttps://www.redmine.org/issues/20282?journal_id=648202015-07-13T17:42:34ZJames H
<ul></ul><p>interesting, i did not notice that it was still being written.<br />Thank you for looking into this.</p> Redmine - Defect #20282: Error message when editing a child project without add project/subprojects permissionshttps://www.redmine.org/issues/20282?journal_id=653342015-08-08T07:47:54ZToshi MARUYAMA
<ul><li><strong>Target version</strong> set to <i>3.2.0</i></li></ul> Redmine - Defect #20282: Error message when editing a child project without add project/subprojects permissionshttps://www.redmine.org/issues/20282?journal_id=657682015-09-02T06:08:38ZSebastian Paluch
<ul></ul><p>This seems to be related also to the number of projects user can choose from to set subproject.</p>
<p>In our case the error came up for a user that has project administrator role (including creating subprojects) for one project (B) only:</p>
<pre>
Project A
- Project B
</pre>
<p>It seems that in this case the subproject drop down list is not generated at all - user cannot change subproject so drop down list is empty and missing.</p> Redmine - Defect #20282: Error message when editing a child project without add project/subprojects permissionshttps://www.redmine.org/issues/20282?journal_id=661182015-09-21T20:32:47ZJean-Philippe Langjp_lang@yahoo.fr
<ul><li><strong>Subject</strong> changed from <i>Cannot Change Project Settings on a Sub-Project if User Role is not permitted to create Sub-Projects.</i> to <i>Error message when editing a child project without add project/subprojects permissions</i></li><li><strong>Status</strong> changed from <i>Confirmed</i> to <i>Resolved</i></li><li><strong>Assignee</strong> set to <i>Jean-Philippe Lang</i></li><li><strong>Target version</strong> changed from <i>3.2.0</i> to <i>2.6.8</i></li><li><strong>Resolution</strong> set to <i>Fixed</i></li></ul><p>Mischa, thanks for this detailed report. This is fixed in <a class="changeset" title="Error message when editing a child project without add project/subprojects permissions (#20282)." href="https://www.redmine.org/projects/redmine/repository/svn/revisions/14619">r14619</a>.</p> Redmine - Defect #20282: Error message when editing a child project without add project/subprojects permissionshttps://www.redmine.org/issues/20282?journal_id=661342015-09-22T16:49:56ZJames H
<ul></ul><p>Awesome, thanks guys</p> Redmine - Defect #20282: Error message when editing a child project without add project/subprojects permissionshttps://www.redmine.org/issues/20282?journal_id=665522015-10-09T06:40:34ZJean-Philippe Langjp_lang@yahoo.fr
<ul><li><strong>Status</strong> changed from <i>Resolved</i> to <i>Closed</i></li><li><strong>Target version</strong> changed from <i>2.6.8</i> to <i>3.0.6</i></li></ul> Redmine - Defect #20282: Error message when editing a child project without add project/subprojects permissionshttps://www.redmine.org/issues/20282?journal_id=671952015-11-09T15:29:14ZToshi MARUYAMA
<ul><li><strong>Has duplicate</strong> <i><a class="issue tracker-1 status-5 priority-4 priority-default closed" href="/issues/21168">Defect #21168</a>: Cannot save project when associated with a parent project.</i> added</li></ul> Redmine - Defect #20282: Error message when editing a child project without add project/subprojects permissionshttps://www.redmine.org/issues/20282?journal_id=768292017-02-22T04:46:13ZMischa The Evil
<ul><li><strong>Has duplicate</strong> <i><a class="issue tracker-1 status-5 priority-4 priority-default closed" href="/issues/25146">Defect #25146</a>: Issue while modifying subproject configuration without the permission to create a subproject</i> added</li></ul>