/** * {@inheritdoc} */ public function up(Schema $schema, QueryBag $queries) { $relationTableName = $this->nameGenerator->generateManyToManyJoinTableName('Oro\\Bundle\\EmailBundle\\Entity\\Email', ExtendHelper::buildAssociationName('OroCRM\\Bundle\\SalesBundle\\Entity\\B2bCustomer', ActivityScope::ASSOCIATION_KIND), 'OroCRM\\Bundle\\SalesBundle\\Entity\\B2bCustomer'); if (!$schema->hasTable($relationTableName)) { $this->activityExtension->addActivityAssociation($schema, 'oro_email', 'orocrm_sales_b2bcustomer'); } }
/** * Create orocrm_call table * * @param Schema $schema */ protected function createOrocrmCallTable(Schema $schema) { $table = $schema->createTable('orocrm_call'); $table->addColumn('id', 'integer', ['autoincrement' => true]); $table->addColumn('call_direction_name', 'string', ['notnull' => false, 'length' => 32]); $table->addColumn('call_status_name', 'string', ['notnull' => false, 'length' => 32]); $table->addColumn('organization_id', 'integer', ['notnull' => false]); $table->addColumn('owner_id', 'integer', ['notnull' => false]); $table->addColumn('subject', 'string', ['length' => 255]); $table->addColumn('phone_number', 'string', ['notnull' => false, 'length' => 255]); $table->addColumn('notes', 'text', ['notnull' => false]); $table->addColumn('call_date_time', 'datetime', []); $table->addColumn('duration', 'time', ['notnull' => false]); $table->addColumn('created_at', 'datetime', []); $table->addColumn('updated_at', 'datetime', []); $table->setPrimaryKey(['id']); $table->addIndex(['organization_id'], 'IDX_1FBD1A2432C8A3DE', []); $table->addIndex(['owner_id'], 'IDX_1FBD1A247E3C61F9', []); $table->addIndex(['call_status_name'], 'IDX_1FBD1A2476DB3689', []); $table->addIndex(['call_direction_name'], 'IDX_1FBD1A249F3E257D', []); $table->addIndex(['call_date_time'], 'call_dt_idx'); $this->activityExtension->addActivityAssociation($schema, 'orocrm_call', 'oro_user'); $this->activityExtension->addActivityAssociation($schema, 'orocrm_call', 'orocrm_account'); $this->activityExtension->addActivityAssociation($schema, 'orocrm_call', 'orocrm_contact'); }
/** * {@inheritdoc} */ public function up(Schema $schema, QueryBag $queries) { $this->attachmentExtension->addFileRelation($schema, 'orocrm_partner', 'contract', 'file', [], 7); $this->attachmentExtension->addAttachmentAssociation($schema, 'orocrm_partner', ['image/*', 'application/pdf', 'application/zip', 'application/x-gzip', 'application/msword', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'application/vnd.ms-excel', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/vnd.ms-powerpoint', 'application/vnd.openxmlformats-officedocument.presentationml.presentation'], 2); $this->noteExtension->addNoteAssociation($schema, 'orocrm_partner'); $this->activityExtension->addActivityAssociation($schema, 'oro_email', 'orocrm_partner'); }
/** * @param Schema $schema * @param ActivityExtension $activityExtension */ public static function addActivityAssociations(Schema $schema, ActivityExtension $activityExtension) { $activityExtension->addActivityAssociation($schema, 'oro_email', 'orocrm_magento_order'); $activityExtension->addActivityAssociation($schema, 'orocrm_call', 'orocrm_magento_order'); $activityExtension->addActivityAssociation($schema, 'oro_email', 'orocrm_magento_cart'); $activityExtension->addActivityAssociation($schema, 'orocrm_call', 'orocrm_magento_cart'); }
/** * {@inheritdoc} */ public function up(Schema $schema, QueryBag $queries) { $this->attachmentExtension->addFileRelation($schema, 'orocrm_partner', 'contract', [], 7); $this->attachmentExtension->addAttachmentAssociation($schema, 'orocrm_partner', ['image/*', 'application/pdf', 'application/zip', 'application/x-gzip', 'application/msword', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'application/vnd.ms-excel', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/vnd.ms-powerpoint', 'application/vnd.openxmlformats-officedocument.presentationml.presentation'], 2); $this->noteExtension->addNoteAssociation($schema, 'orocrm_partner'); $this->activityExtension->addActivityAssociation($schema, 'oro_email', 'orocrm_partner'); $this->activityExtension->addActivityAssociation($schema, 'orocrm_partner_github_issue', 'orocrm_partner'); $this->extendExtension->addEnumField($schema, $schema->getTable('orocrm_partner_github_issue'), 'status', 'github_issue_status', false, false, ['extend' => ['owner' => ExtendScope::OWNER_CUSTOM]]); }
/** * Enable activities * * @param Schema $schema * @param ActivityExtension $activityExtension */ public static function addActivityAssociations(Schema $schema, ActivityExtension $activityExtension) { $associationTableName = $activityExtension->getAssociationTableName('orocrm_task', 'orocrm_magento_order'); if (!$schema->hasTable($associationTableName)) { $activityExtension->addActivityAssociation($schema, 'orocrm_task', 'orocrm_magento_order'); } $associationTableName = $activityExtension->getAssociationTableName('orocrm_task', 'orocrm_magento_order'); if (!$schema->hasTable($associationTableName)) { $activityExtension->addActivityAssociation($schema, 'oro_calendar_event', 'orocrm_magento_order'); } }
/** * {@inheritdoc} */ public function up(Schema $schema, QueryBag $queries) { /** Tables generation **/ $this->createOrocrmAccountTable($schema); $this->createOrocrmAccountToContactTable($schema); /** Foreign keys generation **/ $this->addOrocrmAccountForeignKeys($schema); $this->addOrocrmAccountToContactForeignKeys($schema); $this->noteExtension->addNoteAssociation($schema, 'orocrm_account'); $this->activityExtension->addActivityAssociation($schema, 'oro_email', 'orocrm_account'); $this->attachmentExtension->addAttachmentAssociation($schema, 'orocrm_account', ['image/*', 'application/pdf', 'application/zip', 'application/x-gzip', 'application/msword', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'application/vnd.ms-excel', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/vnd.ms-powerpoint', 'application/vnd.openxmlformats-officedocument.presentationml.presentation'], 2); }
/** * {@inheritdoc} */ public function up(Schema $schema, QueryBag $queries) { /** Tables generation **/ $this->createOrocrmTaskTable($schema); $this->createOrocrmTaskPriorityTable($schema); /** Foreign keys generation **/ $this->addOrocrmTaskForeignKeys($schema); /** Add activity association */ $this->activityExtension->addActivityAssociation($schema, 'orocrm_task', 'orocrm_account'); $this->activityExtension->addActivityAssociation($schema, 'orocrm_task', 'orocrm_contact'); /** Add comment relation */ $this->comment->addCommentAssociation($schema, 'orocrm_task'); }
/** * Create orob2b_order table * * @param Schema $schema */ protected function createOroB2BOrderTable(Schema $schema) { $table = $schema->createTable('orob2b_order'); $table->addColumn('id', 'integer', ['autoincrement' => true]); $table->addColumn('organization_id', 'integer', ['notnull' => false]); $table->addColumn('user_owner_id', 'integer', ['notnull' => false]); $table->addColumn('shipping_address_id', 'integer', ['notnull' => false]); $table->addColumn('billing_address_id', 'integer', ['notnull' => false]); $table->addColumn('price_list_id', 'integer', ['notnull' => false]); $table->addColumn('identifier', 'string', ['notnull' => false, 'length' => 255]); $table->addColumn('created_at', 'datetime', ['comment' => '(DC2Type:datetime)']); $table->addColumn('updated_at', 'datetime', ['comment' => '(DC2Type:datetime)']); $table->addColumn('po_number', 'string', ['notnull' => false, 'length' => 255]); $table->addColumn('customer_notes', 'text', ['notnull' => false]); $table->addColumn('ship_until', 'date', ['notnull' => false]); $table->addColumn('currency', 'string', ['notnull' => false, 'length' => 3]); $table->addColumn('subtotal', 'money', ['notnull' => false, 'precision' => 19, 'scale' => 4, 'comment' => '(DC2Type:money)']); $table->addColumn('payment_term_id', 'integer', ['notnull' => false]); $table->addColumn('account_id', 'integer', []); $table->addColumn('account_user_id', 'integer', ['notnull' => false]); $table->setPrimaryKey(['id']); $table->addIndex(['created_at'], 'orob2b_order_created_at_index', []); $table->addUniqueIndex(['identifier'], 'uniq_orob2b_order_identifier'); $table->addUniqueIndex(['shipping_address_id'], 'uniq_c036ff904d4cff2b'); $table->addUniqueIndex(['billing_address_id'], 'uniq_c036ff9079d0c0e4'); $this->noteExtension->addNoteAssociation($schema, $table->getName()); $this->attachmentExtension->addAttachmentAssociation($schema, $table->getName()); $this->activityExtension->addActivityAssociation($schema, 'oro_calendar_event', $table->getName()); $this->activityExtension->addActivityAssociation($schema, 'oro_email', $table->getName()); }
/** * {@inheritdoc} */ public function up(Schema $schema, QueryBag $queries) { /** Tables generation **/ $this->createTestActivityTargetTable($schema); $this->createTestWorkflowAwareEntityTable($schema); $this->createTestSearchItemTable($schema); $this->createTestSearchItemValueTable($schema); $this->createTestSearchProductTable($schema); $this->createTestActivityTable($schema); /** Foreign keys generation **/ $this->addTestWorkflowAwareEntityForeignKeys($schema); $this->addTestSearchItemForeignKeys($schema); $this->addTestSearchItemValueForeignKeys($schema); $this->addTestActivityForeignKeys($schema); $this->activityExtension->addActivityAssociation($schema, 'test_activity', 'test_activity_target', true); }
/** * {@inheritdoc} */ public function up(Schema $schema, QueryBag $queries) { /** Tables generation **/ $this->createOrocrmSalesOpportunityTable($schema); $this->createOrocrmSalesLeadStatusTable($schema); $this->createOrocrmSalesFunnelTable($schema); $this->createOrocrmSalesOpportStatusTable($schema); $this->createOrocrmSalesOpportCloseRsnTable($schema); $this->createOrocrmSalesLeadTable($schema); $this->createOrocrmSalesB2bCustomerTable($schema); /** Tables update */ $this->addOroEmailMailboxProcessorColumns($schema); /** Foreign keys generation **/ $this->addOrocrmSalesOpportunityForeignKeys($schema); $this->addOrocrmSalesFunnelForeignKeys($schema); $this->addOrocrmSalesLeadForeignKeys($schema); $this->addOrocrmSalesB2bCustomerForeignKeys($schema); $this->addOroEmailMailboxProcessorForeignKeys($schema); /** Apply extensions */ SalesNoteMigration::addNoteAssociations($schema, $this->noteExtension); $this->activityExtension->addActivityAssociation($schema, 'oro_email', 'orocrm_sales_lead'); $this->activityExtension->addActivityAssociation($schema, 'oro_email', 'orocrm_sales_opportunity'); $this->activityExtension->addActivityAssociation($schema, 'oro_email', 'orocrm_sales_b2bcustomer'); $this->activityExtension->addActivityAssociation($schema, 'orocrm_call', 'orocrm_sales_lead'); $this->activityExtension->addActivityAssociation($schema, 'orocrm_call', 'orocrm_sales_opportunity'); $this->activityExtension->addActivityAssociation($schema, 'orocrm_call', 'orocrm_sales_b2bcustomer'); $this->activityExtension->addActivityAssociation($schema, 'orocrm_task', 'orocrm_sales_lead'); $this->activityExtension->addActivityAssociation($schema, 'orocrm_task', 'orocrm_sales_opportunity'); $this->activityExtension->addActivityAssociation($schema, 'orocrm_task', 'orocrm_sales_b2bcustomer'); $this->activityExtension->addActivityAssociation($schema, 'oro_calendar_event', 'orocrm_sales_lead'); $this->activityExtension->addActivityAssociation($schema, 'oro_calendar_event', 'orocrm_sales_opportunity'); $this->activityExtension->addActivityAssociation($schema, 'oro_calendar_event', 'orocrm_sales_b2bcustomer'); OpportunityAttachment::addOpportunityAttachment($schema, $this->attachmentExtension); SalesOrganizations::addOrganization($schema); }
/** * Create orob2b_account_user table * * @param Schema $schema */ protected function createOroB2BAccountUserTable(Schema $schema) { $table = $schema->createTable(static::ORO_B2B_ACCOUNT_USER_TABLE_NAME); $table->addColumn('id', 'integer', ['autoincrement' => true]); $table->addColumn('organization_id', 'integer', ['notnull' => false]); $table->addColumn('customer_id', 'integer', ['notnull' => false]); $table->addColumn('username', 'string', ['length' => 255]); $table->addColumn('email', 'string', ['length' => 255]); $table->addColumn('name_prefix', 'string', ['notnull' => false, 'length' => 255]); $table->addColumn('first_name', 'string', ['notnull' => false, 'length' => 255]); $table->addColumn('middle_name', 'string', ['notnull' => false, 'length' => 255]); $table->addColumn('last_name', 'string', ['notnull' => false, 'length' => 255]); $table->addColumn('name_suffix', 'string', ['notnull' => false, 'length' => 255]); $table->addColumn('birthday', 'date', ['notnull' => false]); $table->addColumn('enabled', 'boolean', []); $table->addColumn('confirmed', 'boolean', []); $table->addColumn('salt', 'string', ['length' => 255]); $table->addColumn('password', 'string', ['length' => 255]); $table->addColumn('confirmation_token', 'string', ['notnull' => false, 'length' => 255]); $table->addColumn('password_requested', 'datetime', ['notnull' => false]); $table->addColumn('password_changed', 'datetime', ['notnull' => false]); $table->addColumn('last_login', 'datetime', ['notnull' => false]); $table->addColumn('login_count', 'integer', ['default' => '0', 'unsigned' => true]); $table->addColumn('created_at', 'datetime', []); $table->addColumn('updated_at', 'datetime', []); $table->setPrimaryKey(['id']); $table->addUniqueIndex(['username']); $table->addUniqueIndex(['email']); $this->attachmentExtension->addAttachmentAssociation($schema, static::ORO_B2B_ACCOUNT_USER_TABLE_NAME, ['image/*', 'application/pdf', 'application/zip', 'application/x-gzip', 'application/msword', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'application/vnd.ms-excel', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/vnd.ms-powerpoint', 'application/vnd.openxmlformats-officedocument.presentationml.presentation']); $this->noteExtension->addNoteAssociation($schema, static::ORO_B2B_ACCOUNT_USER_TABLE_NAME); $this->activityExtension->addActivityAssociation($schema, static::ORO_EMAIL, static::ORO_B2B_ACCOUNT_USER_TABLE_NAME); $this->activityExtension->addActivityAssociation($schema, static::ORO_CALENDAR_EVENT, static::ORO_B2B_ACCOUNT_USER_TABLE_NAME); }
/** * {@inheritdoc} */ public function up(Schema $schema, QueryBag $queries) { /** Tables generation **/ $this->createOrocrmAccountTable($schema); $this->createOrocrmAccountToContactTable($schema); /** Foreign keys generation **/ $this->addOrocrmAccountForeignKeys($schema); $this->addOrocrmAccountToContactForeignKeys($schema); $this->noteExtension->addNoteAssociation($schema, 'orocrm_account'); $this->activityExtension->addActivityAssociation($schema, 'oro_email', 'orocrm_account'); $this->activityExtension->addActivityAssociation($schema, 'oro_calendar_event', 'orocrm_account'); $this->attachmentExtension->addAttachmentAssociation($schema, 'orocrm_account', ['image/*', 'application/pdf', 'application/zip', 'application/x-gzip', 'application/msword', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'application/vnd.ms-excel', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/vnd.ms-powerpoint', 'application/vnd.openxmlformats-officedocument.presentationml.presentation'], 2); InheritanceActivityTargets::addInheritanceTargets($schema, $this->activityListExtension); // update to 1.8 $addReferredBy = new AddReferredBy(); $addReferredBy->up($schema, $queries); }
/** * Enable activities * * @param Schema $schema */ protected function addActivityAssociations(Schema $schema) { $this->activityExtension->addActivityAssociation($schema, 'oro_email', 'orocrm_magento_customer'); $this->activityExtension->addActivityAssociation($schema, 'orocrm_call', 'orocrm_magento_customer'); $this->activityExtension->addActivityAssociation($schema, 'orocrm_task', 'orocrm_magento_customer'); $this->activityExtension->addActivityAssociation($schema, 'oro_calendar_event', 'orocrm_magento_customer'); MagentoActivities::disableActivityAssociations($schema); }
/** * Enable activities * * @param Schema $schema */ protected function addActivityAssociations(Schema $schema) { $this->activityExtension->addActivityAssociation($schema, 'oro_email', 'orocrm_magento_customer'); $this->activityExtension->addActivityAssociation($schema, 'orocrm_call', 'orocrm_magento_customer'); $this->activityExtension->addActivityAssociation($schema, 'orocrm_task', 'orocrm_magento_customer'); $this->activityExtension->addActivityAssociation($schema, 'oro_calendar_event', 'orocrm_magento_customer'); CreateActivityAssociation::addActivityAssociations($schema, $this->activityExtension); OrderActivityAssociation::addActivityAssociations($schema, $this->activityExtension); }
/** * Enables Email activity for Customer entity * * @param Schema $schema * @param ActivityExtension $activityExtension */ public static function addActivityAssociations(Schema $schema, ActivityExtension $activityExtension) { $activityExtension->addActivityAssociation($schema, 'orocrm_task', 'orocrm_magento_customer'); }
/** * Enables Email activity for Case entity * * @param Schema $schema * @param ActivityExtension $activityExtension */ protected function addActivityAssociations(Schema $schema, ActivityExtension $activityExtension) { $activityExtension->addActivityAssociation($schema, 'oro_email', 'orocrm_case'); }
/** * Enables Email activity for RFP entity * * @param Schema $schema * @param ActivityExtension $activityExtension */ protected function addActivityAssociations(Schema $schema, ActivityExtension $activityExtension) { $activityExtension->addActivityAssociation($schema, 'oro_email', 'orob2b_rfp_request'); }
/** * Enables Email activity for User entity * * @param Schema $schema * @param ActivityExtension $activityExtension */ public static function addActivityAssociations(Schema $schema, ActivityExtension $activityExtension) { $activityExtension->addActivityAssociation($schema, 'oro_email', 'oro_user', true); }
/** * Enable activities * * @param Schema $schema * @param ActivityExtension $activityExtension */ public static function addActivityAssociations(Schema $schema, ActivityExtension $activityExtension) { $activityExtension->addActivityAssociation($schema, 'orocrm_task', 'oro_email'); $activityExtension->addActivityAssociation($schema, 'oro_email', 'orocrm_task'); }
/** * Enable Events for Quote entity * * @param Schema $schema * @param ActivityExtension $activityExtension */ protected function addActivityAssociations(Schema $schema, ActivityExtension $activityExtension) { $activityExtension->addActivityAssociation($schema, 'oro_calendar_event', 'orob2b_sale_quote'); $activityExtension->addActivityAssociation($schema, 'oro_email', 'orob2b_sale_quote', true); }
/** * Enable activities * * @param Schema $schema * @param ActivityExtension $activityExtension */ public static function addActivityAssociations(Schema $schema, ActivityExtension $activityExtension) { $activityExtension->addActivityAssociation($schema, 'orocrm_task', 'orocrm_magento_order'); $activityExtension->addActivityAssociation($schema, 'oro_calendar_event', 'orocrm_magento_order'); }
/** * @param Schema $schema * @param ActivityExtension $activityExtension */ public static function addActivityAssociations(Schema $schema, ActivityExtension $activityExtension) { $activityExtension->addActivityAssociation($schema, 'oro_email', 'orocrm_contactus_request'); $activityExtension->addActivityAssociation($schema, 'orocrm_call', 'orocrm_contactus_request'); }
/** * @param Schema $schema * @param ActivityExtension $activityExtension */ public static function addActivityAssociations(Schema $schema, ActivityExtension $activityExtension) { $activityExtension->addActivityAssociation($schema, 'test_activity', 'test_activity_target', true); }
/** * {@inheritdoc} */ public function up(Schema $schema, QueryBag $queries) { $this->activityExtension->addActivityAssociation($schema, 'oro_calendar_event', 'orocrm_account'); }
/** * {@inheritdoc} */ public function up(Schema $schema, QueryBag $queries) { $this->activityExtension->addActivityAssociation($schema, 'orocrm_call', 'oro_user'); $this->activityExtension->addActivityAssociation($schema, 'orocrm_call', 'orocrm_account'); $this->activityExtension->addActivityAssociation($schema, 'orocrm_call', 'orocrm_contact'); }
public static function addActivityAssociations(Schema $schema, ActivityExtension $activityExtension) { $activityExtension->addActivityAssociation($schema, 'oro_calendar_event', 'orocrm_contact'); }
/** * Enables Email activity for Lead and Opportunity entities * * @param Schema $schema * @param ActivityExtension $activityExtension */ public static function addActivityAssociations(Schema $schema, ActivityExtension $activityExtension) { $activityExtension->addActivityAssociation($schema, 'orocrm_call', 'orocrm_sales_lead'); $activityExtension->addActivityAssociation($schema, 'orocrm_call', 'orocrm_sales_opportunity'); $activityExtension->addActivityAssociation($schema, 'orocrm_call', 'orocrm_sales_b2bcustomer'); }
/** * Enables Event activity for Order entity * * @param Schema $schema */ public function addActivityAssociations(Schema $schema) { $this->activityExtension->addActivityAssociation($schema, 'oro_calendar_event', self::ORDER_TABLE_NAME); }