move process task to afform
authorKurund Jalmi <kurundjalmi@thirdsectordesign.org>
Tue, 26 Sep 2023 14:27:42 +0000 (15:27 +0100)
committerKurund Jalmi <kurundjalmi@thirdsectordesign.org>
Wed, 6 Dec 2023 00:23:33 +0000 (00:23 +0000)
ext/afform/core/afform.php
ext/afform/core/ang/afSearchTasks.ang.php [new file with mode: 0644]
ext/afform/core/ang/afSearchTasks.module.js [new file with mode: 0644]
ext/afform/core/ang/afSearchTasks/afformSubmissionProcessTask.ctrl..js [moved from ext/search_kit/ang/crmSearchTasks/crmSearchTaskProcess.ctrl.js with 89% similarity]
ext/afform/core/ang/afSearchTasks/afformSubmissionProcessTask.html [moved from ext/search_kit/ang/crmSearchTasks/crmSearchTaskProcess.html with 69% similarity]
ext/search_kit/Civi/Api4/Action/SearchDisplay/GetSearchTasks.php

index 1cb373eb4e7e82a08fe30c39a957a1a4f7c0708f..0725a2bd1965e3d2610b7422e10b2eea042c557c 100644 (file)
@@ -645,3 +645,19 @@ function afform_shortcode_content($content, $atts, $args, $context) {
   }
   return $content;
 }
+
+/**
+ * Implements hook_civicrm_searchKitTasks().
+ *
+ * @param array[] $tasks
+ * @param bool $checkPermissions
+ * @param int|null $userID
+ */
+function afform_civicrm_searchKitTasks(array &$tasks, bool $checkPermissions, ?int $userID) {
+  $tasks['AfformSubmission']['process'] = [
+    'module' => 'afSearchTasks',
+    'title' => E::ts('Process Submissions'),
+    'icon' => 'fa-check-square-o',
+    'uiDialog' => ['templateUrl' => '~/afSearchTasks/afformSubmissionProcessTask.html'],
+  ];
+}
diff --git a/ext/afform/core/ang/afSearchTasks.ang.php b/ext/afform/core/ang/afSearchTasks.ang.php
new file mode 100644 (file)
index 0000000..47d50ff
--- /dev/null
@@ -0,0 +1,15 @@
+<?php
+// This file declares an Angular module which can be autoloaded
+return [
+  'js' => [
+    'ang/afSearchTasks.module.js',
+    'ang/afSearchTasks/*.js',
+    'ang/afSearchTasks/*/*.js',
+  ],
+  'partials' => [
+    'ang/afSearchTasks',
+  ],
+  'css' => [],
+  'settings' => [],
+  'requires' => [],
+];
diff --git a/ext/afform/core/ang/afSearchTasks.module.js b/ext/afform/core/ang/afSearchTasks.module.js
new file mode 100644 (file)
index 0000000..35a07ee
--- /dev/null
@@ -0,0 +1,7 @@
+(function(angular, $, _) {
+  "use strict";
+
+  // Declare module
+  angular.module('afSearchTasks', CRM.angRequires('afSearchTasks'));
+
+})(angular, CRM.$, CRM._);
similarity index 89%
rename from ext/search_kit/ang/crmSearchTasks/crmSearchTaskProcess.ctrl.js
rename to ext/afform/core/ang/afSearchTasks/afformSubmissionProcessTask.ctrl..js
index 5270a9f286516c962f48b615b831041563b2056d..8ad6d9e3b157c1d7b4983c16248167f3516f0c9e 100644 (file)
@@ -1,8 +1,8 @@
 (function(angular, $, _) {
   "use strict";
 
-  angular.module('crmSearchTasks').controller('crmSearchTaskProcess', function ($scope, $timeout, crmApi4, searchTaskBaseTrait) {
-    var ts = $scope.ts = CRM.ts('org.civicrm.search_kit'),
+  angular.module('afSearchTasks').controller('afformSubmissionProcessTask', function ($scope, $timeout, crmApi4, searchTaskBaseTrait) {
+    var ts = $scope.ts = CRM.ts('org.civicrm.afform'),
       // Combine this controller with model properties (ids, entity, entityInfo) and searchTaskBaseTrait
       ctrl = angular.extend(this, $scope.model, searchTaskBaseTrait);
 
similarity index 69%
rename from ext/search_kit/ang/crmSearchTasks/crmSearchTaskProcess.html
rename to ext/afform/core/ang/afSearchTasks/afformSubmissionProcessTask.html
index 4ca8fbe3ba7d3a751f9e4b7f6cacbdd7adc5b02c..8c341266910c5b425d6c0fb64e7181c96fb96db8 100644 (file)
@@ -1,7 +1,7 @@
 <div id="bootstrap-theme" crm-dialog="crmSearchTask">
-  <form name="crmSearchTaskProcessForm" ng-controller="crmSearchTaskProcess as $ctrl">
+  <form name="afformSubmissionProcessTaskForm" ng-controller="afformSubmissionProcessTask as $ctrl">
     <p><strong>{{:: ts('Process the %1 selected %2 submission(s):', {1: model.ids.length, 2: $ctrl.entityTitle}) }}</strong></p>
     <crm-dialog-button text="ts('Cancel')" icons="{primary: 'fa-times'}" on-click="$ctrl.cancel()" disabled="$ctrl.run" ></crm-dialog-button>
-    <crm-dialog-button text="ts('Process submission(s)')" icons="{primary: $ctrl.run ? 'fa-spin fa-spinner' : 'fa-check'}" on-click="$ctrl.save()" disabled="$ctrl.run || !crmSearchTaskProcessForm.$valid" ></crm-dialog-button>
+    <crm-dialog-button text="ts('Process submission(s)')" icons="{primary: $ctrl.run ? 'fa-spin fa-spinner' : 'fa-check'}" on-click="$ctrl.save()" disabled="$ctrl.run || !afformSubmissionProcessTaskForm.$valid" ></crm-dialog-button>
   </form>
 </div>
index bf36ac6476ba73e6a69fea52a955736030c44a70..56595b207a5be6f3e21d5b389fc91fe9ab0257f1 100644 (file)
@@ -71,13 +71,6 @@ class GetSearchTasks extends \Civi\Api4\Generic\AbstractAction {
       'number' => '>= 0',
     ];
 
-    $tasks[$entity['name']]['process'] = [
-      'module' => 'crmSearchTasks',
-      'title' => E::ts('Process Submissions'),
-      'icon' => 'fa-check-square-o',
-      'uiDialog' => ['templateUrl' => '~/crmSearchTasks/crmSearchTaskProcess.html'],
-    ];
-
     if (array_key_exists('update', $entity['actions'])) {
       $tasks[$entity['name']]['update'] = [
         'module' => 'crmSearchTasks',