Scheduled Jobs - add dedicated url's for add, edit/delete
authorAidan Saunders <aidan.saunders@squiffle.uk>
Wed, 12 Apr 2023 16:53:38 +0000 (17:53 +0100)
committerAidan Saunders <aidan.saunders@squiffle.uk>
Wed, 12 Apr 2023 16:53:38 +0000 (17:53 +0100)
to facilitate replacing search page with SearchKit

CRM/Admin/Form/Job.php
CRM/Admin/Page/Job.php
CRM/Admin/Page/JobLog.php
CRM/Core/DAO/Job.php
CRM/Core/xml/Menu/Admin.xml
templates/CRM/Admin/Page/Job.tpl
xml/schema/Core/Job.xml

index 3a53bf9ddfce6b32e2e0a03e18acaf8061f89607..e99f96f73482ef9c4abb2335cae3bce4460182b8 100644 (file)
@@ -34,13 +34,13 @@ class CRM_Admin_Form_Job extends CRM_Admin_Form {
     $this->setTitle(ts('Manage - Scheduled Jobs'));
 
     if ($this->_id) {
-      $refreshURL = CRM_Utils_System::url('civicrm/admin/job',
+      $refreshURL = CRM_Utils_System::url('civicrm/admin/job/edit',
         "reset=1&action=update&id={$this->_id}",
         FALSE, NULL, FALSE
       );
     }
     else {
-      $refreshURL = CRM_Utils_System::url('civicrm/admin/job',
+      $refreshURL = CRM_Utils_System::url('civicrm/admin/job/add',
         "reset=1&action=add",
         FALSE, NULL, FALSE
       );
@@ -49,6 +49,13 @@ class CRM_Admin_Form_Job extends CRM_Admin_Form {
     $this->assign('refreshURL', $refreshURL);
   }
 
+  /**
+   * Explicitly declare the entity api name.
+   */
+  public function getDefaultEntity() {
+    return 'Job';
+  }
+
   /**
    * Build the form object.
    *
index 0beb9c218b3f92d3390514f2cb534a840be9c738..80ba5524ab759915ccee2f95dfab390e5ba0ecbf 100644 (file)
@@ -54,13 +54,13 @@ class CRM_Admin_Page_Job extends CRM_Core_Page_Basic {
         ],
         CRM_Core_Action::UPDATE => [
           'name' => ts('Edit'),
-          'url' => 'civicrm/admin/job',
+          'url' => 'civicrm/admin/job/edit',
           'qs' => 'action=update&id=%%id%%&reset=1',
           'title' => ts('Edit Scheduled Job'),
         ],
         CRM_Core_Action::VIEW => [
           'name' => ts('Execute Now'),
-          'url' => 'civicrm/admin/job',
+          'url' => 'civicrm/admin/job/edit',
           'qs' => 'action=view&id=%%id%%&reset=1',
           'title' => ts('Execute Scheduled Job Now'),
         ],
@@ -76,13 +76,13 @@ class CRM_Admin_Page_Job extends CRM_Core_Page_Basic {
         ],
         CRM_Core_Action::DELETE => [
           'name' => ts('Delete'),
-          'url' => 'civicrm/admin/job',
+          'url' => 'civicrm/admin/job/edit',
           'qs' => 'action=delete&id=%%id%%',
           'title' => ts('Delete Scheduled Job'),
         ],
         CRM_Core_Action::COPY => [
           'name' => ts('Copy'),
-          'url' => 'civicrm/admin/job',
+          'url' => 'civicrm/admin/job/edit',
           'qs' => 'action=copy&id=%%id%%',
           'title' => ts('Copy Scheduled Job'),
         ],
index 5fbf7c59598c4cb702de48afedcf84b65c379c62..2bee42ccf64e67d80f5486d03ee4f0fcefc384ed 100644 (file)
@@ -80,7 +80,7 @@ class CRM_Admin_Page_JobLog extends CRM_Core_Page_Basic {
     if ($jid) {
       $jobName = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_Job', $jid);
       $this->assign('jobName', $jobName);
-      $jobRunUrl = CRM_Utils_System::url('civicrm/admin/job', 'action=view&reset=1&context=joblog&id=' . $jid);
+      $jobRunUrl = CRM_Utils_System::url('civicrm/admin/job/edit', 'action=view&reset=1&context=joblog&id=' . $jid);
       $this->assign('jobRunUrl', $jobRunUrl);
     }
     else {
index 3520d7afab900dab629f307cb2d9b15ec748ca1c..e8875e7c3111afa6cf93a22d33d3574607cd04a1 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/Job.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:512bc14536dfd40680e4de831c8991e9)
+ * (GenCodeChecksum:402e95e8458a1f584023aee6f7fc87f5)
  */
 
 /**
@@ -30,6 +30,17 @@ class CRM_Core_DAO_Job extends CRM_Core_DAO {
    */
   public static $_log = FALSE;
 
+  /**
+   * Paths for accessing this entity in the UI.
+   *
+   * @var string[]
+   */
+  protected static $_paths = [
+    'add' => 'civicrm/admin/job/add?reset=1&action=add',
+    'delete' => 'civicrm/admin/job/edit?reset=1&action=delete&id=[id]',
+    'update' => 'civicrm/admin/job/edit?reset=1&action=edit&id=[id]',
+  ];
+
   /**
    * Job ID
    *
index 3922edb13c5995c21c60aa1a7d8c927f8d43669a..fc29dd479eb5cd59c86cdf1231b3a4927d00598a 100644 (file)
      <adminGroup>System Settings</adminGroup>
      <weight>1370</weight>
   </item>
+  <item>
+     <path>civicrm/admin/job/add</path>
+     <title>Add Scheduled Job</title>
+     <desc>Add a periodially running task.</desc>
+     <page_callback>CRM_Admin_Page_Job</page_callback>
+     <access_arguments>access CiviCRM,administer CiviCRM system</access_arguments>
+     <adminGroup>System Settings</adminGroup>
+     <weight>1371</weight>
+  </item>
+  <item>
+     <path>civicrm/admin/job/edit</path>
+     <title>Edit Scheduled Job</title>
+     <desc>Edit a periodially running task.</desc>
+     <page_callback>CRM_Admin_Page_Job</page_callback>
+     <access_arguments>access CiviCRM,administer CiviCRM system</access_arguments>
+     <adminGroup>System Settings</adminGroup>
+     <weight>1372</weight>
+  </item>
   <item>
      <path>civicrm/admin/joblog</path>
      <title>Scheduled Jobs Log</title>
index 2ba136f5d7c7adc427924283e4761d9b03d3df01..57d54e66924c7276de6c9e1346e4fd41406a99b2 100644 (file)
@@ -22,7 +22,7 @@
 
       {if $action ne 1 and $action ne 2}
         <div class="action-link">
-          {crmButton q="action=add&reset=1" id="newJob"  icon="plus-circle"}{ts}Add New Scheduled Job{/ts}{/crmButton}
+          {crmButton p='civicrm/admin/job/add' q="action=add&reset=1" id="newJob"  icon="plus-circle"}{ts}Add New Scheduled Job{/ts}{/crmButton}
           {crmButton p='civicrm/admin/joblog' q="reset=1" id="jobLog" icon="list-alt"}{ts}View Log (all jobs){/ts}{/crmButton}
         </div>
       {/if}
@@ -57,7 +57,7 @@
 
     {if $action ne 1 and $action ne 2}
         <div class="action-link">
-          {crmButton q="action=add&reset=1" id="newJob-bottom"  icon="plus-circle"}{ts}Add New Scheduled Job{/ts}{/crmButton}
+          {crmButton p='civicrm/admin/job/add' q="action=add&reset=1" id="newJob-bottom"  icon="plus-circle"}{ts}Add New Scheduled Job{/ts}{/crmButton}
           {crmButton p='civicrm/admin/joblog' q="reset=1" id="jobLog-bottom" icon="list-alt"}{ts}View Log (all jobs){/ts}{/crmButton}
         </div>
     {/if}
@@ -68,7 +68,7 @@
         {ts}There are no jobs configured.{/ts}
      </div>
      <div class="action-link">
-       <a href="{crmURL p='civicrm/admin/job' q="action=add&reset=1"}" id="newJob-nojobs" class="button"><span><i class="crm-i fa-plus-circle" aria-hidden="true"></i> {ts}Add New Scheduled Job{/ts}</span></a>
+       <a href="{crmURL p='civicrm/admin/job/add' q="action=add&reset=1"}" id="newJob-nojobs" class="button"><span><i class="crm-i fa-plus-circle" aria-hidden="true"></i> {ts}Add New Scheduled Job{/ts}</span></a>
      </div>
 
 {/if}
index c01173f08e104ebb5e9270588962b80954a27449..8fe650a489e4f33112865c4193282bde7edf1b80 100644 (file)
@@ -7,6 +7,11 @@
   <comment>Scheduled job.</comment>
   <add>4.1</add>
   <log>false</log>
+  <paths>
+    <add>civicrm/admin/job/add?reset=1&amp;action=add</add>
+    <delete>civicrm/admin/job/edit?reset=1&amp;action=delete&amp;id=[id]</delete>
+    <update>civicrm/admin/job/edit?reset=1&amp;action=edit&amp;id=[id]</update>
+  </paths>
   <field>
     <name>id</name>
     <title>Job ID</title>