View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0005932 | mantisbt | administration | public | 2005-07-13 05:34 | 2005-09-11 08:12 |
| Reporter | masala | Assigned To | thraxisp | ||
| Priority | normal | Severity | minor | Reproducibility | always |
| Status | closed | Resolution | fixed | ||
| Product Version | 1.0.0a3 | ||||
| Fixed in Version | 1.0.0rc2 | ||||
| Summary | 0005932: Manage eMail notification access rigths | ||||
| Description | I configured mantis to enable managers to change the e-mail notification configuration. On the other hand, if a user has global access level of 'Manager' she can alter the configuration for the projects, she is a 'Manager' in and she only can see the configuration of the projects she has minimum access level of 'Viewer'. Further she can alter configuration of 'all projects'. I would prefer it, if a user may manage certain projects, but is not allowed to change configuration of 'all projects'. | ||||
| Additional Information | thanks.. | ||||
| Tags | No tags attached. | ||||
| Attached Files | x.diff (1,443 bytes)
--- manage_config_workflow_page.php.orig 2005-07-29 11:25:09.000000000 +0200
+++ manage_config_workflow_page.php 2005-07-29 11:27:35.000000000 +0200
@@ -24,6 +24,13 @@
$t_project = helper_get_current_project();
$t_can_change_flags = $t_access >= config_get_access( 'status_enum_workflow' );
+ $t_show_submit_button =
+ ( $t_access >= config_get_access( 'set_status_threshold' ) ) ||
+ ( $t_access >= config_get_access( 'status_enum_workflow' ) ) ||
+ ( $t_access >= config_get_access( 'bug_submit_status' ) ) ||
+ ( $t_access >= config_get_access( 'bug_resolved_status_threshold' ) ) ||
+ ( $t_access >= config_get_access( 'bug_reopen_status' ) );
+
function parse_workflow( $p_enum_workflow ) {
$t_status_arr = get_enum_to_array( config_get( 'status_enum_string' ) );
if ( 0 == count( $p_enum_workflow ) ) {
@@ -346,7 +353,7 @@
$t_colour_project = config_get( 'colour_project');
$t_colour_global = config_get( 'colour_global');
- if ( $t_can_change_flags ) {
+ if ( $t_show_submit_button ) {
echo "<form name=\"workflow_config_action\" method=\"post\" action=\"manage_config_workflow_set.php\">\n";
}
if ( ALL_PROJECTS == $t_project ) {
@@ -407,7 +414,7 @@
echo '</select> </p><br />';
}
- if ( $t_can_change_flags ) {
+ if ( $t_show_submit_button ) {
echo "<input type=\"submit\" class=\"button\" value=\"" . lang_get( 'change_configuration' ) . "\" />\n";
echo "</form>\n";
| ||||
|
When you changed the access level to configure email, was the setting for "All Projects" or for the specific project. I believe that the latter will do what you are looking for. That is, select the specific project, then update the notification settings to lower the access level. |
|
|
Thanks, the limitation not to configure email of "All Projects" works: The problem is that a user with global access level < Manager never sees the link 'Email Notification'. If a user changes to a project he has access level = Manager, and then follows the link 'Manage', there appears the link 'Manage Configuration' which must be followed to configure email, but the result of the link is 'access denied'. |
|
|
similar problems occur on custom fields: in the config_inc.php I set $g_manage_custom_fields_threshold = MANAGER and as a result, if the user switches to a project he is a manager in and clicks on 'Manage', the link 'Manage Custom Fields' appears, but when clicked, there is an 'Access Denied' |
|
|
The manage configuration pages should be shown if the user meets the view_configuration_threshold (default DEVELOPER). The thresholds to show the controls vs just the settings are done in an individual control basis based on the current project settings. The Manage custom fields page does mix the project and global settings. It should use the global settings since CFs are global in nature and affect all projects. |
|
|
the link 'Manage Configuration' is shown when but the linked page adm_permissions_report.php shows itself only if which does not make sense in my opinion (maybe you now better.. :) ) so i changed adm_permissions_report.php as follows an it works for me: --- mantis-1.0.0rc1.orig/adm_permissions_report.php 2005-07-26 15:37:54.000000000 +0200
..now a user can view configuration for projects he is manager in, also if global access level is e.g. viewer what do you think about this patch? |
|
|
The reports noted in the last message have been fixed. adm_permissions_report.php ->1.11 Does the problem with the email configuration still exist? |
|
|
in manage_config_email.set.php ~ line 18 (v1.6) access_ensure_global_level( $t_can_change_level ); must be changed to access_ensure_project_level( $t_can_change_level ); to be able to edit project specifc email-configs .. i guess manage_config_workflow_set.php needs to be changed the same way |
|
|
another problem with access rights: the page manage_config_work_threshold_page.php works well, but manage_config_workflow_page.php seems to have some errors, propably based on a not so perfect use of var t_can_change_flags.. (?): the submit button on the page end (in fact the form-tags) depends on $t_can_change_flags which seems to be true only if the user can change workflow settings another bug: the code generating the combo-box to choose who can alter access-levels for status change at the page end has 2 bugs i guess:
.. should be better (?) |
|
|
Fixes submitted to CVS. Thanks for the debugging. core/html_api.php -> 1.182 |
|
|
the first bug of note 0011003 still exists (manage_config_workflow_page.php) situaton: |
|
|
the attached file x.diff is a possible patch for manage_config_workflow_page.php (v1.14) to fix bug mentioned in note 0011011 |
|
|
Fixed in CVS. I used a method similar to that used in manage_config_work_thresholds_page.php. manage_config_workflow_page.php -> 1.15 |
|