mantisbt:alternative_custom_field_display_requirements
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| mantisbt:alternative_custom_field_display_requirements [2008/02/04 17:10] – daryn | mantisbt:alternative_custom_field_display_requirements [2008/10/29 04:25] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 4: | Line 4: | ||
| * **Status**: Work in progress, Draft | * **Status**: Work in progress, Draft | ||
| * **Associated Issue**: [[http:// | * **Associated Issue**: [[http:// | ||
| + | |||
| Line 11: | Line 12: | ||
| ===== Introduction ===== | ===== Introduction ===== | ||
| + | |||
| + | ===== Current Approach ===== | ||
| Mantis allows for creation of custom field definitions for bugs. Currently, Mantis allows users to configure when each custom field is displayed and when it is required. The current implementation allows the user to specify the display/ | Mantis allows for creation of custom field definitions for bugs. Currently, Mantis allows users to configure when each custom field is displayed and when it is required. The current implementation allows the user to specify the display/ | ||
| - | This feature | + | |
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | ===== Proposed Approach ===== | ||
| + | This feature | ||
| + | |||
| + | The feature allows administrators to set custom permission levels depending on the page the field is on. | ||
| + | |||
| + | For example, management wants a custom field to be required when opening a bug. However, after the bug is opened | ||
| + | that field should only be editable by a manager. | ||
| + | bug_report_advanced page is that all users have write permissions to the field and the field is required. | ||
| + | for the field on all other update pages is that all users have read permissions but only management users have write permissions. | ||
| + | |||
| + | Standard permissions rules are applied as the default. | ||
| + | |||
| + | ==== Phase 1 ==== | ||
| + | Expand the ability to display/ | ||
| + | |||
| + | ==== Phase 2 ==== | ||
| ===== Implementation Notes ===== | ===== Implementation Notes ===== | ||
| Line 22: | Line 50: | ||
| - | ==== Database Changes ==== | ||
| - | * Required database changes to '' | ||
| - | * New Tables: | + | |
| - | * Create Table mantis_config_actions_table | + | |
| - | * Create Table mantis_config_pages_table | + | |
| - | * Create Table mantis_field_rule_config_table | + | ==== Database Changes ==== |
| - | * Create Table mantis_field_rule_definition_table | + | |
| - | * Create Table mantis_field_rule_definition_table | + | |
| - | * Create Table mantis_field_rule_link_table | + | |
| - | * Create Table mantis_field_ruleset_action_table | + | * action varchar(32) NOT NULL unique key |
| - | * Create Table mantis_field_ruleset_operators_table | + | * description varchar(256) |
| - | * Create Table mantis_field_ruleset_table | + | |
| + | | ||
| + | * name varchar(30) NOT NULL | ||
| + | * page_type enum(' | ||
| + | * access_type enum(' | ||
| + | * UNIQUE KEY `name` (`name`, | ||
| + | | ||
| + | * id int(11) | ||
| + | | ||
| + | * config_object_type enum(' | ||
| + | * field_name varchar(75) NOT NULL, | ||
| + | * field_type enum(' | ||
| + | | ||
| + | | ||
| + | * rule_config_id int(11) NOT NULL, | ||
| + | * comparison_operator enum(' | ||
| + | * comparison_value varchar(75) NOT NULL, | ||
| + | | ||
| + | | ||
| + | * page_id int(11) NOT NULL, | ||
| + | * field_id int(11) NOT NULL default ' | ||
| + | * field_name varchar(64) NOT NULL, | ||
| + | * access_level_r smallint(6) NOT NULL, | ||
| + | * access_level_rw smallint(6) NOT NULL, | ||
| + | * UNIQUE KEY `page_id` (`page_id`, | ||
| + | | ||
| + | | ||
| + | * action_id int(11) NOT NULL | ||
| + | * ruleset_id int(11) NOT NULL default ' | ||
| + | * UNIQUE KEY `rule_link_id` (`rule_link_id`, | ||
| + | | ||
| + | | ||
| + | * operator enum('&&',' | ||
| + | | ||
| + | * ruleset_id` int(11) NOT NULL | ||
| + | * id int(11) NOT NULL COMMENT | ||
| + | * type enum(' | ||
| + | * PRIMARY KEY (`ruleset_id`, | ||
| ==== Configuration ==== | ==== Configuration ==== | ||
mantisbt/alternative_custom_field_display_requirements.1202163010.txt.gz · Last modified: (external edit)
