CRM-12439 fix with webtest - Added description textarea and exposed created_id and...
[civicrm-core.git] / sql / GenerateData.php
index bacfba091e4cbf58e77a9e3c4c9eef9374bc7960..3ba86155b5cada64bbe0bb9be30edb542acafcac 100644 (file)
@@ -58,7 +58,7 @@
  * Context - 3/domain
  *
  * Contact - 1 to NUM_CONTACT
- *           75% - Individual
+ *           80% - Individual
  *           10% - Household
  *           10% - Organization
  *
@@ -101,7 +101,6 @@ class CRM_GCD {
 
   // Set ADD_TO_DB = FALSE to do a dry run
   CONST ADD_TO_DB = TRUE;
-  CONST DEBUG_LEVEL = 1;
 
   CONST DATA_FILENAME = "sample_data.xml";
   CONST NUM_DOMAIN = 1;
@@ -150,7 +149,7 @@ class CRM_GCD {
    * Provides user feedback
    */
   public function generate($itemName) {
-    echo "Adding $itemName\n";
+    echo "Generating $itemName\n";
     $fn = "add$itemName";
     $this->$fn();
   }
@@ -170,14 +169,13 @@ class CRM_GCD {
    * contact_note uuid
    */
   public function initID() {
-
-    // may use this function in future if needed to get
-    // a consistent pattern of random numbers.
-
     // get the domain and contact id arrays
     $this->domain = range(1, self::NUM_DOMAIN);
     shuffle($this->domain);
-    $this->contact = range(2, self::NUM_CONTACT + 1);
+
+    // Get first contact id
+    $this->startCid = $cid = CRM_Core_DAO::singleValueQuery("SELECT MAX(id) FROM civicrm_contact");
+    $this->contact = range($cid + 1, $cid + self::NUM_CONTACT);
     shuffle($this->contact);
 
     // get the individual, household  and organizaton contacts
@@ -249,6 +247,7 @@ class CRM_GCD {
   private $sampleData = array();
 
   // private vars
+  private $startCid;
   private $numIndividual = 0;
   private $numHousehold = 0;
   private $numOrganization = 0;
@@ -478,9 +477,10 @@ class CRM_GCD {
    */
   private function addContact() {
     $contact = new CRM_Contact_DAO_Contact();
+    $cid = $this->startCid;
 
-    for ($id = 1; $id <= self::NUM_CONTACT; $id++) {
-      $contact->contact_type = $this->getContactType($id + 1);
+    for ($id = $cid + 1; $id <= $cid + self::NUM_CONTACT; $id++) {
+      $contact->contact_type = $this->getContactType($id);
       $contact->do_not_phone = $this->probability(.2);
       $contact->do_not_email = $this->probability(.2);
       $contact->do_not_post = $this->probability(.2);
@@ -982,7 +982,7 @@ class CRM_GCD {
   }
 
   /**
-   * This method populates the crm_entity_tag table
+   * This method populates the civicrm_entity_tag table
    */
   private function addEntityTag() {
 
@@ -1017,7 +1017,7 @@ class CRM_GCD {
   }
 
   /**
-   * This method populates the crm_entity_tag table
+   * This method populates the civicrm_group_contact table
    */
   private function addGroup() {
     // add the 3 groups first
@@ -1109,7 +1109,7 @@ class CRM_GCD {
   }
 
   /**
-   * This method populates the crm_note table
+   * This method populates the civicrm_note table
    */
   private function addNote() {
     $params = array(
@@ -1126,7 +1126,7 @@ class CRM_GCD {
   }
 
   /**
-   * This method populates the crm_activity_history table
+   * This method populates the civicrm_activity_history table
    */
   private function addActivity() {
     $contactDAO = new CRM_Contact_DAO_Contact();
@@ -1137,7 +1137,7 @@ class CRM_GCD {
     $contactDAO->find();
 
     $count = 0;
-
+    $activityContacts = CRM_Core_OptionGroup::values('activity_contacts', FALSE, FALSE, FALSE, NULL, 'name');
     while ($contactDAO->fetch()) {
       if ($count++ > 2) {
         break;
@@ -1156,14 +1156,14 @@ class CRM_GCD {
         $activityContactDAO = new CRM_Activity_DAO_ActivityContact();
         $activityContactDAO->activity_id = $activityDAO->id;
         $activityContactDAO->contact_id = $contactDAO->id;
-        $activityContactDAO->record_type = 'Source';
+        $activityContactDAO->record_type_id = CRM_Utils_Array::key('Activity Source', $activityContacts);
         $this->_insert($activityContactDAO);
 
         if (in_array($activityTypeID, array(6, 9))) {
           $activityContactDAO = new CRM_Activity_DAO_ActivityContact();
           $activityContactDAO->activity_id = $activityDAO->id;
           $activityContactDAO->contact_id = mt_rand(1, 101);
-          $activityContactDAO->record_type = 'Target';
+          $activityContactDAO->record_type_id = CRM_Utils_Array::key('Activity Targets', $activityContacts);
           $this->_insert($activityContactDAO);
         }
 
@@ -1171,7 +1171,7 @@ class CRM_GCD {
           $activityContactDAO = new CRM_Activity_DAO_ActivityContact();
           $activityContactDAO->activity_id = $activityDAO->id;
           $activityContactDAO->contact_id = mt_rand(1, 101);
-          $activityContactDAO->record_type = 'Assignee';
+          $activityContactDAO->record_type_id = CRM_Utils_Array::key('Activity Assignees', $activityContacts);
           $this->_insert($activityContactDAO);
         }
       }
@@ -1256,6 +1256,7 @@ class CRM_GCD {
   private function addMembership() {
     $contact = new CRM_Contact_DAO_Contact();
     $contact->query("SELECT id FROM civicrm_contact where contact_type = 'Individual'");
+    $activityContacts = CRM_Core_OptionGroup::values('activity_contacts', FALSE, FALSE, FALSE, NULL, 'name');
     while ($contact->fetch()) {
       $contacts[] = $contact->id;
     }
@@ -1282,16 +1283,17 @@ VALUES
 
     $activityContact = "
 INSERT INTO civicrm_activity_contact
-  (activity_id, contact_id, record_type)
+  (activity_id, contact_id, record_type_id)
 VALUES
 ";
 
     $currentActivityID = CRM_Core_DAO::singleValueQuery("SELECT MAX(id) FROM civicrm_activity");
+    $sourceID = CRM_Utils_Array::key('Activity Source', $activityContacts);
     foreach ($randomContacts as $count => $dontCare) {
       $source = $this->randomItem($sources);
       $activitySourceId = $count + 1;
       $currentActivityID++;
-      $activityContact .= "( $currentActivityID, {$randomContacts[$count]}, 'Source' )";
+      $activityContact .= "( $currentActivityID, {$randomContacts[$count]}, {$sourceID} )";
       if ((($count + 1) % 11 == 0)) {
         // lifetime membership, status can be anything
         $startDate = date('Y-m-d', mktime(0, 0, 0, date('m'), (date('d') - $count), date('Y')));
@@ -1621,15 +1623,16 @@ VALUES
 
     $activityContact = "
 INSERT INTO civicrm_activity_contact
-  (contact_id, activity_id, record_type)
+  (contact_id, activity_id, record_type_id)
 VALUES
 ";
-
+    $activityContacts = CRM_Core_OptionGroup::values('activity_contacts', FALSE, FALSE, FALSE, NULL, 'name');
     $currentActivityID = CRM_Core_DAO::singleValueQuery("SELECT MAX(id) FROM civicrm_activity");
     $currentActivityID -= 50;
+    $sourceID = CRM_Utils_Array::key('Activity Source', $activityContacts);
     for ($i = 0; $i < 50; $i++) {
       $currentActivityID++;
-      $activityContact .= "({$randomContacts[$i]}, $currentActivityID, 'Source')";
+      $activityContact .= "({$randomContacts[$i]}, $currentActivityID, $sourceID)";
       if ($i != 49) {
         $activityContact .= ", ";
       }
@@ -1691,14 +1694,14 @@ VALUES
 
     $activityContact = "
 INSERT INTO civicrm_activity_contact
-  (contact_id, activity_id, record_type)
+  (contact_id, activity_id, record_type_id)
 VALUES
 ";
 
     $arbitraryNumbers = array(2, 4, 6, 8, 16, 19, 82, 92, 34, 71, 43, 32, 32);
     for ($i = 0; $i < count($arbitraryNumbers); $i++) {
       $currentActivityID++;
-      $activityContact .= "({$arbitraryNumbers[$i]}, $currentActivityID, 'Source')";
+      $activityContact .= "({$arbitraryNumbers[$i]}, $currentActivityID, 2)";
       if ($i != count($arbitraryNumbers) - 1) {
         $activityContact .= ", ";
       }
@@ -1853,8 +1856,8 @@ WHERE cps.name = 'default_membership_type_amount'";
 SELECT id, 6, CONCAT('$ ', total_amount, ' - ', source), now(), 2, 'Membership Payment' FROM civicrm_contribution WHERE id > $maxContribution";
     $this->_query($sql);
 
-    $sql = "INSERT INTO civicrm_activity_contact(contact_id, activity_id, record_type)
-SELECT c.contact_id, a.id, 'Source'
+    $sql = "INSERT INTO civicrm_activity_contact(contact_id, activity_id, record_type_id)
+SELECT c.contact_id, a.id, 2
 FROM   civicrm_contribution c, civicrm_activity a
 WHERE  c.id > $maxContribution
 AND    a.source_record_id = c.id
@@ -1884,8 +1887,8 @@ WHERE cc.id > $maxContribution";
 SELECT id, 6, CONCAT('$ ', total_amount, ' - ', source), now(), 2, 'Participant' FROM `civicrm_contribution` WHERE id > $maxContribution";
     $this->_query($sql);
 
-    $sql = "INSERT INTO civicrm_activity_contact(contact_id, activity_id, record_type)
-SELECT c.contact_id, a.id, 'Source'
+    $sql = "INSERT INTO civicrm_activity_contact(contact_id, activity_id, record_type_id)
+SELECT c.contact_id, a.id, 2
 FROM   civicrm_contribution c, civicrm_activity a
 WHERE  c.id > $maxContribution
 AND    a.source_record_id = c.id
@@ -1904,31 +1907,31 @@ function module_list() {
 }
 
 echo ("Starting data generation on " . date("F dS h:i:s A") . "\n");
-$obj1 = new CRM_GCD();
-$obj1->initID();
-$obj1->generate('Domain');
-$obj1->generate('Contact');
-$obj1->generate('Individual');
-$obj1->generate('Household');
-$obj1->generate('Organization');
-$obj1->generate('Relationship');
-$obj1->generate('EntityTag');
-$obj1->generate('Group');
-$obj1->generate('Note');
-$obj1->generate('Activity');
-$obj1->generate('Event');
-$obj1->generate('Contribution');
-$obj1->generate('ContributionLineItem');
-$obj1->generate('Membership');
-$obj1->generate('MembershipPayment');
-$obj1->generate('MembershipLog');
-$obj1->generate('PCP');
-$obj1->generate('SoftContribution');
-$obj1->generate('Pledge');
-$obj1->generate('PledgePayment');
-$obj1->generate('ContributionFinancialItem');
-$obj1->generate('Participant');
-$obj1->generate('ParticipantPayment');
-$obj1->generate('LineItemParticipants');
-$obj1->generate('ParticipantFinancialItem');
+$gcd = new CRM_GCD();
+$gcd->initID();
+$gcd->generate('Domain');
+$gcd->generate('Contact');
+$gcd->generate('Individual');
+$gcd->generate('Household');
+$gcd->generate('Organization');
+$gcd->generate('Relationship');
+$gcd->generate('EntityTag');
+$gcd->generate('Group');
+$gcd->generate('Note');
+$gcd->generate('Activity');
+$gcd->generate('Event');
+$gcd->generate('Contribution');
+$gcd->generate('ContributionLineItem');
+$gcd->generate('Membership');
+$gcd->generate('MembershipPayment');
+$gcd->generate('MembershipLog');
+$gcd->generate('PCP');
+$gcd->generate('SoftContribution');
+$gcd->generate('Pledge');
+$gcd->generate('PledgePayment');
+$gcd->generate('ContributionFinancialItem');
+$gcd->generate('Participant');
+$gcd->generate('ParticipantPayment');
+$gcd->generate('LineItemParticipants');
+$gcd->generate('ParticipantFinancialItem');
 echo ("Ending data generation on " . date("F dS h:i:s A") . "\n");