? configurable_components_4.patch
Index: project_issue.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/project_issue/project_issue.module,v
retrieving revision 1.152
diff -u -p -r1.152 project_issue.module
--- project_issue.module	24 Mar 2009 00:19:11 -0000	1.152
+++ project_issue.module	27 Mar 2009 04:58:35 -0000
@@ -537,7 +537,13 @@ function project_issue_settings_form(&$f
     '#cols' => 20,
     '#rows' => 6,
     '#required' => TRUE,
-    '#description' => t("Enter the default list of components that new projects will have.  The project owner will be able to change this list on the project's edit/issues page.")
+    '#description' => t("Enter the default list of components that new projects will have.  The project owner will be able to change this list on the project's edit/issues page."),
+    '#element_validate' => array('project_issue_validate_default_components'),
+  );
+
+  $form['project_issue_default_components_original'] = array(
+    '#type' => 'value',
+    '#value' => $components,
   );
 
   if (module_exists('mailhandler')) {
@@ -572,6 +578,12 @@ function project_issue_settings_form(&$f
   return system_settings_form($form);
 }
 
+function project_issue_validate_default_components($form, &$form_state) {
+  if ($form['#value'] != $form_state['values']['project_issue_default_components_original']) {
+    drupal_set_message(t("The list of default components has changed.  This will only affect newly created projects.  Existing projects will retain their component choices, however the project owner may change them on the project's edit/issues page."));
+  }
+}
+
 function project_issue_validate_issues_per_page($form) {
   if (!is_numeric($form['#value'])) {
     form_error($form, t('%setting must be a number.', array('%setting' => t('Issues per page'))));
