예제 #1
0
파일: Role.php 프로젝트: spdaly/mautic
 /**
  * @param ORM\ClassMetadata $metadata
  */
 public static function loadMetadata(ORM\ClassMetadata $metadata)
 {
     $builder = new ClassMetadataBuilder($metadata);
     $builder->setTable('roles')->setCustomRepositoryClass('Mautic\\UserBundle\\Entity\\RoleRepository');
     $builder->addIdColumns();
     $builder->createField('isAdmin', 'boolean')->columnName('is_admin')->build();
     $builder->createOneToMany('permissions', 'Permission')->orphanRemoval()->mappedBy('role')->cascadePersist()->cascadeRemove()->fetchExtraLazy()->build();
     $builder->createField('rawPermissions', 'array')->columnName('readable_permissions')->build();
     $builder->createOneToMany('users', 'User')->mappedBy('role')->fetchExtraLazy()->build();
 }
예제 #2
0
 /**
  * @param ClassMetadata $builder
  * @param               $entityClass
  */
 protected static function addVariantMetadata(ClassMetadataBuilder $builder, $entityClass)
 {
     $builder->createManyToOne('variantParent', $entityClass)->inversedBy('variantChildren')->addJoinColumn('variant_parent_id', 'id', true, false, 'CASCADE')->build();
     $builder->createOneToMany('variantChildren', $entityClass)->setIndexBy('id')->setOrderBy(['isPublished' => 'DESC'])->mappedBy('variantParent')->build();
     $builder->createField('variantSettings', 'array')->columnName('variant_settings')->nullable()->build();
     $builder->createField('variantStartDate', 'datetime')->columnName('variant_start_date')->nullable()->build();
 }
예제 #3
0
 /**
  * @param ORM\ClassMetadata $metadata
  */
 public static function loadMetadata(ORM\ClassMetadata $metadata)
 {
     $builder = new ClassMetadataBuilder($metadata);
     $builder->setTable('webhooks')->setCustomRepositoryClass('Mautic\\WebhookBundle\\Entity\\WebhookRepository');
     // id columns
     $builder->addIdColumns();
     // categories
     $builder->addCategory();
     // 1:M for events
     $builder->createOneToMany('events', 'Event')->orphanRemoval()->setIndexBy('event_type')->mappedBy('webhook')->cascadePersist()->build();
     // 1:M for queues
     $builder->createOneToMany('queues', 'WebhookQueue')->mappedBy('webhook')->fetchExtraLazy()->cascadePersist()->build();
     // 1:M for logs
     $builder->createOneToMany('logs', 'Log')->setOrderBy(['dateAdded' => 'DESC'])->fetchExtraLazy()->mappedBy('webhook')->cascadePersist()->build();
     // status code
     $builder->createField('webhookUrl', 'string')->columnName('webhook_url')->length(255)->build();
 }
예제 #4
0
 /**
  * @param ORM\ClassMetadata $metadata
  */
 public static function loadMetadata(ORM\ClassMetadata $metadata)
 {
     $builder = new ClassMetadataBuilder($metadata);
     $builder->setTable('lead_lists')->setCustomRepositoryClass('Mautic\\LeadBundle\\Entity\\LeadListRepository');
     $builder->addIdColumns();
     $builder->addField('alias', 'string');
     $builder->addField('filters', 'array');
     $builder->createField('isGlobal', 'boolean')->columnName('is_global')->build();
     $builder->createOneToMany('leads', 'ListLead')->setIndexBy('id')->mappedBy('list')->fetchExtraLazy()->build();
 }
예제 #5
0
파일: Stage.php 프로젝트: dongilbert/mautic
 /**
  * @param ORM\ClassMetadata $metadata
  */
 public static function loadMetadata(ORM\ClassMetadata $metadata)
 {
     $builder = new ClassMetadataBuilder($metadata);
     $builder->setTable('stages')->setCustomRepositoryClass('Mautic\\StageBundle\\Entity\\StageRepository');
     $builder->addIdColumns();
     $builder->createField('weight', 'integer')->build();
     $builder->addPublishDates();
     $builder->createOneToMany('log', 'LeadStageLog')->mappedBy('stage')->cascadePersist()->cascadeRemove()->fetchExtraLazy()->build();
     $builder->addCategory();
 }
예제 #6
0
 /**
  * @param ORM\ClassMetadata $metadata
  */
 public static function loadMetadata(ORM\ClassMetadata $metadata)
 {
     $builder = new ClassMetadataBuilder($metadata);
     $builder->setTable('oauth1_consumers')->setCustomRepositoryClass('Mautic\\ApiBundle\\Entity\\oAuth1\\ConsumerRepository')->addLifecycleEvent('createConsumerKeys', 'prePersist')->addIndex(array('consumer_key'), 'consumer_search');
     $builder->addIdColumns('name', false);
     $builder->createField('consumerKey', 'string')->columnName('consumer_key')->build();
     $builder->createField('consumerSecret', 'string')->columnName('consumer_secret')->build();
     $builder->addField('callback', 'string');
     $builder->createOneToMany('accessTokens', 'AccessToken')->setIndexBy('id')->mappedBy('consumer')->fetchExtraLazy()->build();
 }
예제 #7
0
파일: Redirect.php 프로젝트: Yame-/mautic
 /**
  * @param ORM\ClassMetadata $metadata
  */
 public static function loadMetadata(ORM\ClassMetadata $metadata)
 {
     $builder = new ClassMetadataBuilder($metadata);
     $builder->setTable('page_redirects')->setCustomRepositoryClass('Mautic\\PageBundle\\Entity\\RedirectRepository');
     $builder->addId();
     $builder->createField('redirectId', 'string')->columnName('redirect_id')->length(25)->build();
     $builder->addField('url', 'text');
     $builder->addField('hits', 'integer');
     $builder->createField('uniqueHits', 'integer')->columnName('unique_hits')->build();
     $builder->createOneToMany('trackables', 'Trackable')->mappedBy('redirect')->fetchExtraLazy()->build();
 }
예제 #8
0
 /**
  * @param ORM\ClassMetadata $metadata
  */
 public static function loadMetadata(ORM\ClassMetadata $metadata)
 {
     $builder = new ClassMetadataBuilder($metadata);
     $builder->setTable('plugins')->setCustomRepositoryClass('Mautic\\PluginBundle\\Entity\\PluginRepository')->addUniqueConstraint(['bundle'], 'unique_bundle');
     $builder->addIdColumns();
     $builder->createField('isMissing', 'boolean')->columnName('is_missing')->build();
     $builder->createField('bundle', 'string')->length(50)->build();
     $builder->createField('version', 'string')->nullable()->build();
     $builder->createField('author', 'string')->nullable()->build();
     $builder->createOneToMany('integrations', 'Integration')->setIndexBy('id')->mappedBy('plugin')->fetchExtraLazy()->build();
 }
예제 #9
0
 /**
  * @param ORM\ClassMetadata $metadata
  */
 public static function loadMetadata(ORM\ClassMetadata $metadata)
 {
     $builder = new ClassMetadataBuilder($metadata);
     $builder->setTable('point_trigger_events')->setCustomRepositoryClass('Mautic\\PointBundle\\Entity\\TriggerEventRepository')->addIndex(['type'], 'trigger_type_search');
     $builder->addIdColumns();
     $builder->createField('type', 'string')->length(50)->build();
     $builder->createField('order', 'integer')->columnName('action_order')->build();
     $builder->addField('properties', 'array');
     $builder->createManyToOne('trigger', 'Trigger')->inversedBy('events')->addJoinColumn('trigger_id', 'id', false, false, 'CASCADE')->build();
     $builder->createOneToMany('log', 'LeadTriggerLog')->mappedBy('event')->cascadePersist()->cascadeRemove()->fetchExtraLazy()->build();
 }
예제 #10
0
 /**
  * @param ORM\ClassMetadata $metadata
  */
 public static function loadMetadata(ORM\ClassMetadata $metadata)
 {
     $builder = new ClassMetadataBuilder($metadata);
     $builder->setTable('webhook_events')->setCustomRepositoryClass('Mautic\\WebhookBundle\\Entity\\EventRepository');
     // id columns
     $builder->addId();
     // M:1 for webhook
     $builder->createManyToOne('webhook', 'Webhook')->inversedBy('events')->addJoinColumn('webhook_id', 'id', false, false, 'CASCADE')->build();
     // 1:M for queues
     $builder->createOneToMany('queues', 'WebhookQueue')->mappedBy('event')->build();
     // event type field
     $builder->createField('event_type', 'string')->columnName('event_type')->length(50)->build();
 }
예제 #11
0
 /**
  * @param ORM\ClassMetadata $metadata
  */
 public static function loadMetadata(ORM\ClassMetadata $metadata)
 {
     $builder = new ClassMetadataBuilder($metadata);
     $builder->setTable('push_notifications')->setCustomRepositoryClass('Mautic\\NotificationBundle\\Entity\\NotificationRepository');
     $builder->addIdColumns();
     $builder->createField('language', 'string')->columnName('lang')->build();
     $builder->createField('url', 'text')->nullable()->build();
     $builder->createField('heading', 'text')->build();
     $builder->createField('message', 'text')->build();
     $builder->createField('notificationType', 'text')->columnName('notification_type')->nullable()->build();
     $builder->addPublishDates();
     $builder->createField('readCount', 'integer')->columnName('read_count')->build();
     $builder->createField('sentCount', 'integer')->columnName('sent_count')->build();
     $builder->addCategory();
     $builder->createManyToMany('lists', 'Mautic\\LeadBundle\\Entity\\LeadList')->setJoinTable('push_notification_list_xref')->setIndexBy('id')->addInverseJoinColumn('leadlist_id', 'id', false, false, 'CASCADE')->addJoinColumn('notification_id', 'id', false, false, 'CASCADE')->fetchExtraLazy()->build();
     $builder->createOneToMany('stats', 'Stat')->setIndexBy('id')->mappedBy('notification')->cascadePersist()->fetchExtraLazy()->build();
 }
예제 #12
0
 /**
  * @param ORM\ClassMetadata $metadata
  */
 public static function loadMetadata(ORM\ClassMetadata $metadata)
 {
     $builder = new ClassMetadataBuilder($metadata);
     $builder->setTable('campaigns')->setCustomRepositoryClass('Mautic\\CampaignBundle\\Entity\\CampaignRepository');
     $builder->addIdColumns();
     $builder->addPublishDates();
     $builder->addCategory();
     $builder->createOneToMany('events', 'Event')->setIndexBy('id')->setOrderBy(['order' => 'ASC'])->mappedBy('campaign')->cascadeAll()->fetchExtraLazy()->build();
     $builder->createOneToMany('leads', 'Lead')->setIndexBy('id')->mappedBy('campaign')->fetchExtraLazy()->build();
     $builder->createManyToMany('lists', 'Mautic\\LeadBundle\\Entity\\LeadList')->setJoinTable('campaign_leadlist_xref')->setIndexBy('id')->addInverseJoinColumn('leadlist_id', 'id', false, false, 'CASCADE')->addJoinColumn('campaign_id', 'id', true, false, 'CASCADE')->build();
     $builder->createManyToMany('forms', 'Mautic\\FormBundle\\Entity\\Form')->setJoinTable('campaign_form_xref')->setIndexBy('id')->addInverseJoinColumn('form_id', 'id', false, false, 'CASCADE')->addJoinColumn('campaign_id', 'id', true, false, 'CASCADE')->build();
     $builder->createField('canvasSettings', 'array')->columnName('canvas_settings')->nullable()->build();
 }
예제 #13
0
 /**
  * @param ORM\ClassMetadata $metadata
  */
 public static function loadMetadata(ORM\ClassMetadata $metadata)
 {
     $builder = new ClassMetadataBuilder($metadata);
     $builder->setTable('point_triggers')->setCustomRepositoryClass('Mautic\\PointBundle\\Entity\\TriggerRepository');
     $builder->addIdColumns();
     $builder->addPublishDates();
     $builder->addField('points', 'integer');
     $builder->createField('color', 'string')->length(7)->build();
     $builder->createField('triggerExistingLeads', 'boolean')->columnName('trigger_existing_leads')->build();
     $builder->addCategory();
     $builder->createOneToMany('events', 'TriggerEvent')->setIndexBy('id')->setOrderBy(array('order' => 'ASC'))->mappedBy('trigger')->cascadeAll()->fetchExtraLazy()->build();
 }
예제 #14
0
 /**
  * @param ORM\ClassMetadata $metadata
  */
 public static function loadMetadata(ORM\ClassMetadata $metadata)
 {
     $builder = new ClassMetadataBuilder($metadata);
     $builder->setTable('points')->setCustomRepositoryClass('Mautic\\PointBundle\\Entity\\PointRepository')->addIndex(array('type'), 'point_type_search');
     $builder->addIdColumns();
     $builder->createField('type', 'string')->length(50)->build();
     $builder->addPublishDates();
     $builder->addField('delta', 'integer');
     $builder->addField('properties', 'array');
     $builder->createOneToMany('log', 'LeadPointLog')->mappedBy('point')->cascadePersist()->cascadeRemove()->fetchExtraLazy()->build();
     $builder->addCategory();
 }
예제 #15
0
파일: Lead.php 프로젝트: dongilbert/mautic
 /**
  * @param ORM\ClassMetadata $metadata
  */
 public static function loadMetadata(ORM\ClassMetadata $metadata)
 {
     $builder = new ClassMetadataBuilder($metadata);
     $builder->setTable('leads')->setCustomRepositoryClass('Mautic\\LeadBundle\\Entity\\LeadRepository')->addLifecycleEvent('checkDateIdentified', 'preUpdate')->addLifecycleEvent('checkDateIdentified', 'prePersist')->addLifecycleEvent('checkAttributionDate', 'preUpdate')->addLifecycleEvent('checkAttributionDate', 'prePersist')->addIndex(['date_added'], 'lead_date_added');
     $builder->createField('id', 'integer')->isPrimaryKey()->generatedValue()->build();
     $builder->createManyToOne('owner', 'Mautic\\UserBundle\\Entity\\User')->addJoinColumn('owner_id', 'id', true, false, 'SET NULL')->build();
     $builder->createField('points', 'integer')->build();
     $builder->createOneToMany('pointsChangeLog', 'PointsChangeLog')->orphanRemoval()->setOrderBy(['dateAdded' => 'DESC'])->mappedBy('lead')->cascadeAll()->fetchExtraLazy()->build();
     $builder->createOneToMany('companyChangeLog', 'CompanyChangeLog')->orphanRemoval()->setOrderBy(['dateAdded' => 'DESC'])->mappedBy('lead')->cascadeAll()->fetchExtraLazy()->build();
     $builder->createOneToMany('doNotContact', 'Mautic\\LeadBundle\\Entity\\DoNotContact')->orphanRemoval()->mappedBy('lead')->cascadePersist()->fetchExtraLazy()->build();
     $builder->createManyToMany('ipAddresses', 'Mautic\\CoreBundle\\Entity\\IpAddress')->setJoinTable('lead_ips_xref')->addInverseJoinColumn('ip_id', 'id', false)->addJoinColumn('lead_id', 'id', false, false, 'CASCADE')->setIndexBy('ipAddress')->cascadeMerge()->cascadePersist()->cascadeDetach()->build();
     $builder->createOneToMany('pushIds', 'Mautic\\NotificationBundle\\Entity\\PushID')->orphanRemoval()->mappedBy('lead')->cascadeAll()->fetchExtraLazy()->build();
     $builder->createField('lastActive', 'datetime')->columnName('last_active')->nullable()->build();
     $builder->createField('internal', 'array')->nullable()->build();
     $builder->createField('socialCache', 'array')->columnName('social_cache')->nullable()->build();
     $builder->createField('dateIdentified', 'datetime')->columnName('date_identified')->nullable()->build();
     $builder->createOneToMany('notes', 'LeadNote')->orphanRemoval()->setOrderBy(['dateAdded' => 'DESC'])->mappedBy('lead')->fetchExtraLazy()->build();
     $builder->createField('preferredProfileImage', 'string')->columnName('preferred_profile_image')->nullable()->build();
     $builder->createManyToMany('tags', 'Mautic\\LeadBundle\\Entity\\Tag')->setJoinTable('lead_tags_xref')->addInverseJoinColumn('tag_id', 'id', false)->addJoinColumn('lead_id', 'id', false, false, 'CASCADE')->setOrderBy(['tag' => 'ASC'])->setIndexBy('tag')->fetchLazy()->cascadeMerge()->cascadePersist()->cascadeDetach()->build();
     $builder->createManyToOne('stage', 'Mautic\\StageBundle\\Entity\\Stage')->cascadePersist()->cascadeMerge()->addJoinColumn('stage_id', 'id', true, false, 'SET NULL')->build();
     $builder->createOneToMany('stageChangeLog', 'StagesChangeLog')->orphanRemoval()->setOrderBy(['dateAdded' => 'DESC'])->mappedBy('lead')->cascadeAll()->fetchExtraLazy()->build();
     $builder->createOneToMany('utmtags', 'Mautic\\LeadBundle\\Entity\\UtmTag')->orphanRemoval()->mappedBy('lead')->cascadeAll()->fetchExtraLazy()->build();
     $builder->createOneToMany('frequencyRules', 'Mautic\\LeadBundle\\Entity\\FrequencyRule')->orphanRemoval()->setIndexBy('channel')->setOrderBy(['dateAdded' => 'DESC'])->mappedBy('lead')->cascadeAll()->fetchExtraLazy()->build();
 }
예제 #16
0
 /**
  * @param ORM\ClassMetadata $metadata
  */
 public static function loadMetadata(ORM\ClassMetadata $metadata)
 {
     $builder = new ClassMetadataBuilder($metadata);
     $builder->setTable('campaign_events')->setCustomRepositoryClass('Mautic\\CampaignBundle\\Entity\\EventRepository')->addIndex(array('type', 'event_type'), 'campaign_event_type_search');
     $builder->addIdColumns();
     $builder->createField('type', 'string')->length(50)->build();
     $builder->createField('eventType', 'string')->columnName('event_type')->length(50)->build();
     $builder->createField('order', 'integer')->columnName('event_order')->build();
     $builder->addField('properties', 'array');
     $builder->createField('triggerDate', 'datetime')->columnName('trigger_date')->nullable()->build();
     $builder->createField('triggerInterval', 'integer')->columnName('trigger_interval')->nullable()->build();
     $builder->createField('triggerIntervalUnit', 'string')->columnName('trigger_interval_unit')->length(1)->nullable()->build();
     $builder->createField('triggerMode', 'string')->columnName('trigger_mode')->length(10)->nullable()->build();
     $builder->createManyToOne('campaign', 'Campaign')->inversedBy('events')->addJoinColumn('campaign_id', 'id', false, false, 'CASCADE')->build();
     $builder->createOneToMany('children', 'Event')->setIndexBy('id')->setOrderBy(array('order' => 'ASC'))->mappedBy('parent')->build();
     $builder->createManyToOne('parent', 'Event')->inversedBy('children')->cascadePersist()->addJoinColumn('parent_id', 'id')->build();
     $builder->createField('decisionPath', 'string')->columnName('decision_path')->nullable()->build();
     $builder->createField('tempId', 'string')->columnName('temp_id')->nullable()->build();
     $builder->createOneToMany('log', 'LeadEventLog')->mappedBy('event')->cascadePersist()->cascadeRemove()->fetchExtraLazy()->build();
 }
예제 #17
0
 /**
  * @param ClassMetadata $builder
  * @param               $entityClass
  * @param string        $languageColumnName
  */
 protected static function addTranslationMetadata(ClassMetadataBuilder $builder, $entityClass, $languageColumnName = 'lang')
 {
     $builder->createOneToMany('translationChildren', $entityClass)->setIndexBy('id')->setOrderBy(['isPublished' => 'DESC'])->mappedBy('translationParent')->build();
     $builder->createManyToOne('translationParent', $entityClass)->inversedBy('translationChildren')->addJoinColumn('translation_parent_id', 'id', true, false, 'CASCADE')->build();
     $builder->createField('language', 'string')->columnName($languageColumnName)->build();
 }
예제 #18
0
파일: Page.php 프로젝트: HomeRefill/mautic
 /**
  * @param ORM\ClassMetadata $metadata
  */
 public static function loadMetadata(ORM\ClassMetadata $metadata)
 {
     $builder = new ClassMetadataBuilder($metadata);
     $builder->setTable('pages')->setCustomRepositoryClass('Mautic\\PageBundle\\Entity\\PageRepository')->addIndex(array('alias'), 'page_alias_search');
     $builder->addId();
     $builder->addField('title', 'string');
     $builder->addField('alias', 'string');
     $builder->addNullableField('template', 'string');
     $builder->createField('language', 'string')->columnName('lang')->build();
     $builder->createField('customHtml', 'text')->columnName('custom_html')->nullable()->build();
     $builder->createField('content', 'array')->nullable()->build();
     $builder->addPublishDates();
     $builder->addField('hits', 'integer');
     $builder->createField('uniqueHits', 'integer')->columnName('unique_hits')->build();
     $builder->createField('variantHits', 'integer')->columnName('variant_hits')->build();
     $builder->addField('revision', 'integer');
     $builder->createField('metaDescription', 'string')->columnName('meta_description')->nullable()->build();
     $builder->createField('redirectType', 'string')->columnName('redirect_type')->nullable()->length(100)->build();
     $builder->createField('redirectUrl', 'string')->columnName('redirect_url')->nullable()->length(100)->build();
     $builder->addCategory();
     $builder->createOneToMany('translationChildren', 'Page')->setIndexBy('id')->setOrderBy(array('isPublished' => 'DESC'))->mappedBy('translationParent')->build();
     $builder->createManyToOne('translationParent', 'Page')->inversedBy('translationChildren')->addJoinColumn('translation_parent_id', 'id', true)->build();
     $builder->createManyToOne('variantParent', 'Page')->inversedBy('variantChildren')->addJoinColumn('variant_parent_id', 'id', true)->build();
     $builder->createOneToMany('variantChildren', 'Page')->setIndexBy('id')->setOrderBy(array('isPublished' => 'DESC'))->mappedBy('variantParent')->build();
     $builder->createField('variantSettings', 'array')->columnName('variant_settings')->nullable()->build();
     $builder->createField('variantStartDate', 'datetime')->columnName('variant_start_date')->nullable()->build();
 }
예제 #19
0
 /**
  * @param ORM\ClassMetadata $metadata
  */
 public static function loadMetadata(ORM\ClassMetadata $metadata)
 {
     $builder = new ClassMetadataBuilder($metadata);
     $builder->setTable('emails')->setCustomRepositoryClass('Mautic\\EmailBundle\\Entity\\EmailRepository');
     $builder->addIdColumns();
     $builder->createField('subject', 'text')->nullable()->build();
     $builder->createField('fromAddress', 'string')->columnName('from_address')->nullable()->build();
     $builder->createField('fromName', 'string')->columnName('from_name')->nullable()->build();
     $builder->createField('replyToAddress', 'string')->columnName('reply_to_address')->nullable()->build();
     $builder->createField('bccAddress', 'string')->columnName('bcc_address')->nullable()->build();
     $builder->createField('template', 'string')->nullable()->build();
     $builder->createField('language', 'string')->columnName('lang')->build();
     $builder->createField('content', 'array')->nullable()->build();
     $builder->createField('plainText', 'text')->columnName('plain_text')->nullable()->build();
     $builder->createField('customHtml', 'text')->columnName('custom_html')->nullable()->build();
     $builder->createField('emailType', 'text')->columnName('email_type')->nullable()->build();
     $builder->addPublishDates();
     $builder->createField('readCount', 'integer')->columnName('read_count')->build();
     $builder->createField('sentCount', 'integer')->columnName('sent_count')->build();
     $builder->addField('revision', 'integer');
     $builder->addCategory();
     $builder->createManyToMany('lists', 'Mautic\\LeadBundle\\Entity\\LeadList')->setJoinTable('email_list_xref')->setIndexBy('id')->addInverseJoinColumn('leadlist_id', 'id', false, false, 'CASCADE')->addJoinColumn('email_id', 'id', false, false, 'CASCADE')->fetchExtraLazy()->build();
     $builder->createOneToMany('stats', 'Stat')->setIndexBy('id')->mappedBy('email')->cascadePersist()->fetchExtraLazy()->build();
     $builder->createManyToOne('variantParent', 'Email')->inversedBy('variantChildren')->addJoinColumn('variant_parent_id', 'id')->build();
     $builder->createOneToMany('variantChildren', 'Email')->setIndexBy('id')->mappedBy('variantParent')->fetchLazy()->build();
     $builder->createField('variantSettings', 'array')->columnName('variant_settings')->nullable()->build();
     $builder->createField('variantStartDate', 'datetime')->columnName('variant_start_date')->nullable()->build();
     $builder->createField('variantSentCount', 'integer')->columnName('variant_sent_count')->build();
     $builder->createField('variantReadCount', 'integer')->columnName('variant_read_count')->build();
     $builder->createManyToOne('unsubscribeForm', 'Mautic\\FormBundle\\Entity\\Form')->addJoinColumn('unsubscribeform_id', 'id', true, false, 'SET NULL')->build();
     $builder->createManyToMany('assetAttachments', 'Mautic\\AssetBundle\\Entity\\Asset')->setJoinTable('email_assets_xref')->addInverseJoinColumn('asset_id', 'id', false, false, 'CASCADE')->addJoinColumn('email_id', 'id', false, false, 'CASCADE')->fetchExtraLazy()->build();
 }
예제 #20
0
 /**
  * @param ORM\ClassMetadata $metadata
  */
 public static function loadMetadata(ORM\ClassMetadata $metadata)
 {
     $builder = new ClassMetadataBuilder($metadata);
     $builder->setTable('dynamic_content')->setCustomRepositoryClass('Mautic\\DynamicContentBundle\\Entity\\DynamicContentRepository');
     $builder->addIdColumns();
     $builder->addCategory();
     $builder->addPublishDates();
     $builder->createField('sentCount', 'integer')->columnName('sent_count')->build();
     $builder->createField('content', 'text')->columnName('content')->nullable()->build();
     $builder->createOneToMany('stats', 'Stat')->setIndexBy('id')->mappedBy('dynamicContent')->cascadePersist()->fetchExtraLazy()->build();
     self::addTranslationMetadata($builder, self::class);
     self::addVariantMetadata($builder, self::class);
 }
예제 #21
0
파일: Form.php 프로젝트: spdaly/mautic
 /**
  * @param ORM\ClassMetadata $metadata
  */
 public static function loadMetadata(ORM\ClassMetadata $metadata)
 {
     $builder = new ClassMetadataBuilder($metadata);
     $builder->setTable('forms')->setCustomRepositoryClass('Mautic\\FormBundle\\Entity\\FormRepository');
     $builder->addIdColumns();
     $builder->addField('alias', 'string');
     $builder->addCategory();
     $builder->createField('cachedHtml', 'text')->columnName('cached_html')->nullable()->build();
     $builder->createField('postAction', 'string')->columnName('post_action')->build();
     $builder->createField('postActionProperty', 'string')->columnName('post_action_property')->nullable()->build();
     $builder->addPublishDates();
     $builder->createOneToMany('fields', 'Field')->setIndexBy('id')->setOrderBy(array('order' => 'ASC'))->mappedBy('form')->cascadeAll()->fetchExtraLazy()->build();
     $builder->createOneToMany('actions', 'Action')->setIndexBy('id')->setOrderBy(array('order' => 'ASC'))->mappedBy('form')->cascadeAll()->fetchExtraLazy()->build();
     $builder->createField('template', 'string')->nullable()->build();
     $builder->createField('inKioskMode', 'boolean')->columnName('in_kiosk_mode')->nullable()->build();
     $builder->createField('renderStyle', 'boolean')->columnName('render_style')->nullable()->build();
     $builder->createOneToMany('submissions', 'Submission')->setOrderBy(array('dateSubmitted' => 'DESC'))->mappedBy('form')->fetchExtraLazy()->build();
     $builder->addNullableField('formType', 'string', 'form_type');
 }