You are here

class PartyB2BOrganizationPartyMigration in Party 8.2

Same name and namespace in other branches
  1. 7 starterkits/party_starterkit_b2b/party_starterkit_b2b_migrate/party_starterkit_b2b_migrate_organizations.inc \PartyB2BOrganizationPartyMigration

Dependant migration that creates Party's from Profile2's.

Hierarchy

Expanded class hierarchy of PartyB2BOrganizationPartyMigration

File

starterkits/party_starterkit_b2b/party_starterkit_b2b_migrate/party_starterkit_b2b_migrate_organizations.inc, line 113
Support for migrate module

View source
class PartyB2BOrganizationPartyMigration extends Migration {
  public function __construct() {
    parent::__construct();
    $this->description = t('Migration of organizations from Profile2 to Party entities.');
    $this->dependencies = array(
      'PartyB2BOrganizationProfile2',
    );
    $this->map = new MigrateSQLMap($this->machineName, array(
      'org_id' => array(
        'type' => 'int',
        'unsigned' => TRUE,
        'not null' => TRUE,
      ),
    ), MigrateDestinationEntityAPI::getKeySchema('party'));

    // MigrateSource
    // This should be the same CSV file as the MigrateSource for PartyOrganizationProfile2 migration.
    $this->source = new MigrateSourceCSV(__DIR__ . '/org.csv', $this
      ->csvcolumns(), array(
      'header_rows' => 1,
    ));

    // MigrateDestination
    $this->destination = new MigrateDestinationEntityAPI('party', 'party');

    // Field Mappings
    $this
      ->addFieldMapping('profile2_id', 'org_id')
      ->sourceMigration('PartyB2BOrganizationProfile2');
    $this
      ->addFieldMapping('label', 'org_name');
  }

  /**
   * Define cs columns.
   *
   * @return multitype:string multitype:string
   */
  function csvcolumns() {
    $columns[0] = array(
      'org_id',
      'Organization ID',
    );
    $columns[] = array(
      'org_name',
      'Organization Name',
    );
    return $columns;
  }

  /**
   * Attach profile2 from PartyOrganizationProfile2Migration
   */
  function complete($party, $row) {

    // Set the contact hat.
    $hat = party_hat_load('org');
    party_hat_hats_assign($party, array(
      $hat,
    ));
    $profile2 = profile2_load($party->profile2_id);
    party_attach_entity($party, $profile2, 'profile2_party_org');
  }

}

Members

Namesort descending Modifiers Type Description Overrides
PartyB2BOrganizationPartyMigration::complete function Attach profile2 from PartyOrganizationProfile2Migration
PartyB2BOrganizationPartyMigration::csvcolumns function Define cs columns.
PartyB2BOrganizationPartyMigration::__construct public function