Merge branch 'getting_started' of https://github.com/cividesk/civicrm-core into civid...
[civicrm-core.git] / CRM / Upgrade / Incremental / php / FourSeven.php
index 71adbb4127c394b249a1beb8bcdb7a6129a45825..0c043289a5743cd55ee3959c901455772e73e780 100644 (file)
@@ -101,6 +101,7 @@ class CRM_Upgrade_Incremental_php_FourSeven extends CRM_Upgrade_Incremental_Base
    */
   public function upgrade_4_7_alpha1($rev) {
     $this->addTask(ts('Upgrade DB to %1: SQL', array(1 => $rev)), 'runSql', $rev);
+    $this->addTask(ts('Add Getting Started dashlet to %1: SQL', array(1 => $rev)), 'addGettingStartedDashlet', $rev);
   }
 
   /**
@@ -118,4 +119,28 @@ class CRM_Upgrade_Incremental_php_FourSeven extends CRM_Upgrade_Incremental_Base
     return $editorID;
   }
 
+  /**
+   * Add Getting Started dashlet to dashboard
+   *
+   * @param \CRM_Queue_TaskContext $ctx
+   *
+   * @return bool
+   */
+  public function addGettingStartedDashlet(CRM_Queue_TaskContext $ctx) {
+    $sql = "SELECT count(*) FROM civicrm_dashboard WHERE name='gettingStarted'";
+    $res = CRM_Core_DAO::singleValueQuery($sql);
+    $domainId = CRM_Core_Config::domainID();
+    if ($res <= 0) {
+      $sql = "INSERT INTO `civicrm_dashboard`
+    ( `domain_id`, `name`, `label`, `url`, `permission`, `permission_operator`, `column_no`, `is_minimized`, `is_active`, `weight`, `fullscreen_url`, `is_fullscreen`, `is_reserved`) VALUES ( {$domainId}, 'getting-started', 'Getting Started', 'civicrm/dashlet/getting-started?reset=1&snippet=5', 'access CiviCRM', NULL, 0, 0, 1, 0, 'civicrm/dashlet/getting-started?reset=1&snippet=5&context=dashletFullscreen', 1, 1)";
+      CRM_Core_DAO::executeQuery($sql);
+      // Add default position for Getting Started Dashlet ( left column)
+      $sql = "INSERT INTO `civicrm_dashboard_contact` (dashboard_id, contact_id, column_no, is_active)
+SELECT (SELECT MAX(id) FROM `civicrm_dashboard`), contact_id, 0, IF (SUM(is_active) > 0, 1, 0)
+FROM `civicrm_dashboard_contact` WHERE 1 GROUP BY contact_id";
+      CRM_Core_DAO::executeQuery($sql);
+    }
+    return TRUE;
+  }
+
 }