Fix #10 add prefix to new afforms to prevent name conflicts
authorColeman Watts <coleman@civicrm.org>
Sat, 28 Dec 2019 01:23:30 +0000 (20:23 -0500)
committerCiviCRM <info@civicrm.org>
Wed, 16 Sep 2020 02:13:20 +0000 (19:13 -0700)
ext/afform/core/Civi/Api4/Utils/AfformSaveTrait.php

index 8581583e34fc70fd45638af062ebacb9971b2469..48e21b27f1cbf69f1b818f45dd0276bf43bcc678 100644 (file)
@@ -16,7 +16,8 @@ trait AfformSaveTrait {
 
     // If no name given, create a unique name based on the title
     if (empty($item['name'])) {
-      $item['name'] = _afform_angular_module_name(\CRM_Utils_String::munge($item['title'], '-'));
+      $prefix = !empty($item['join']) ? "afjoin-{$item['join']}" : !empty($item['block']) ? 'afblock-' . str_replace('*', 'all', $item['block']) : 'afform';
+      $item['name'] = _afform_angular_module_name($prefix . '-' . \CRM_Utils_String::munge($item['title'], '-'));
       $suffix = '';
       while (
         file_exists($scanner->createSiteLocalPath($item['name'] . $suffix, \CRM_Afform_AfformScanner::METADATA_FILE))