loevgaard / dandomain-foundation-bundle
Dandomain Foundation
Installs: 714
Dependents: 1
Suggesters: 0
Security: 0
Stars: 1
Watchers: 3
Forks: 0
Open Issues: 1
Type:symfony-bundle
Requires
- php: ^7.1
- brick/math: ^0.7
- doctrine/common: ^2.6
- doctrine/doctrine-bundle: ^1.6
- doctrine/orm: ^2.5
- knplabs/doctrine-behaviors: ^1.1
- knplabs/knp-paginator-bundle: ^2.5
- loevgaard/dandomain-api: ^2.5
- loevgaard/dandomain-api-bundle: ^0.1
- loevgaard/dandomain-foundation-entities: ^1.5
- psr/log: ^1.0
- symfony/console: ^3.0 || ^4.0
- symfony/filesystem: ^3.0 || ^4.0
- symfony/framework-bundle: ^3.0 || ^4.0
- symfony/options-resolver: ^3.3 || ^4.0
Requires (Dev)
- ergebnis/composer-normalize: ^2.3
- friendsofphp/php-cs-fixer: ^2.0
- roave/security-advisories: dev-master
README
- Follow the instructions to install Dandomain API Bundle
- Register bundle with the AppKernel
- Create Entity classes
- Go crazy!
<?php class AppKernel { function registerBundles() { $bundles = array( //... new Dandomain\ApiBundle\DandomainApiBundle(), new Knp\DoctrineBehaviors\Bundle\DoctrineBehaviorsBundle(), new Loevgaard\DandomainFoundationBundle\LoevgaardDandomainFoundationBundle(), //... ); //... return $bundles; } }
<?php namespace AppBundle\Entity; use Doctrine\Common\Collections\ArrayCollection; use Doctrine\ORM\Mapping as ORM; use Loevgaard\DandomainFoundationBundle\Model\Category as BaseCategory; /** * @ORM\Entity() * @ORM\Table(name="categories") */ class Category extends BaseCategory { /** * @var int * * @ORM\Column(type="integer") * @ORM\GeneratedValue(strategy="AUTO") * @ORM\Id */ protected $id; /** * @var ArrayCollection * * @ORM\ManyToMany(mappedBy="categories", targetEntity="Product") */ protected $products; /** * Constructor. */ public function __construct() { parent::__construct(); } }
<?php namespace AppBundle\Entity; use Doctrine\ORM\Mapping as ORM; use Loevgaard\DandomainFoundationBundle\Model\Customer as BaseCustomer; /** * @ORM\Entity() * @ORM\Table(name="customers") */ class Customer extends BaseCustomer { /** * @var int * * @ORM\Column(type="integer") * @ORM\GeneratedValue(strategy="AUTO") * @ORM\Id */ protected $id; }
<?php namespace AppBundle\Entity; use Doctrine\ORM\Mapping as ORM; use Loevgaard\DandomainFoundationBundle\Model\Delivery as BaseDelivery; /** * @ORM\Entity() * @ORM\Table(name="deliveries") */ class Delivery extends BaseDelivery { /** * @var int * * @ORM\Column(type="integer") * @ORM\GeneratedValue(strategy="AUTO") * @ORM\Id */ protected $id; }
<?php namespace AppBundle\Entity; use Doctrine\ORM\Mapping as ORM; use Loevgaard\DandomainFoundationBundle\Model\Invoice as BaseInvoice; /** * @ORM\Entity() * @ORM\Table(name="invoices") */ class Invoice extends BaseInvoice { /** * @var int * * @ORM\Column(type="integer") * @ORM\GeneratedValue(strategy="AUTO") * @ORM\Id */ protected $id; }
<?php namespace AppBundle\Entity; use Doctrine\Common\Collections\ArrayCollection; use Doctrine\ORM\Mapping as ORM; use Loevgaard\DandomainFoundationBundle\Model\Manufacturer as BaseManufacturer; /** * @ORM\Entity() * @ORM\Table(name="manufacturers") */ class Manufacturer extends BaseManufacturer { /** * @var int * * @ORM\Column(type="integer") * @ORM\GeneratedValue(strategy="AUTO") * @ORM\Id */ protected $id; /** * @var ArrayCollection * * @ORM\ManyToMany(mappedBy="manufacturers", targetEntity="Product") */ protected $products; /** * Constructor. */ public function __construct() { parent::__construct(); } }
<?php namespace AppBundle\Entity; use Doctrine\Common\Collections\ArrayCollection; use Doctrine\ORM\Mapping as ORM; use Loevgaard\DandomainFoundationBundle\Model\Media as BaseMedia; /** * @ORM\Entity() * @ORM\Table(name="media") */ class Media extends BaseMedia { /** * @var int * * @ORM\Column(type="integer") * @ORM\GeneratedValue(strategy="AUTO") * @ORM\Id */ protected $id; /** * @var ArrayCollection * * @ORM\ManyToMany(mappedBy="medias", targetEntity="Product") */ protected $products; /** * Constructor. */ public function __construct() { parent::__construct(); } }
<?php namespace AppBundle\Entity; use Doctrine\Common\Collections\ArrayCollection; use Doctrine\ORM\Mapping as ORM; use Loevgaard\DandomainFoundationBundle\Model\Order as BaseOrder; /** * @ORM\Entity() * @ORM\Table(name="orders") */ class Order extends BaseOrder { /** * @var int * * @ORM\Column(type="integer") * @ORM\GeneratedValue(strategy="AUTO") * @ORM\Id */ protected $id; /** * @var Customer * * @ORM\JoinColumn(nullable=true, onDelete="SET NULL", referencedColumnName="id") * @ORM\ManyToOne(targetEntity="Customer", cascade={"persist", "remove"}) */ protected $customer; /** * @var Delivery * * @ORM\JoinColumn(nullable=true, onDelete="SET NULL", referencedColumnName="id") * @ORM\ManyToOne(targetEntity="Delivery", cascade={"persist", "remove"}) */ protected $delivery; /** * @var Invoice * * @ORM\JoinColumn(nullable=true, onDelete="SET NULL", referencedColumnName="id") * @ORM\ManyToOne(targetEntity="Invoice", cascade={"persist", "remove"}) */ protected $invoice; /** * @var ArrayCollection * * @ORM\OneToMany(mappedBy="order", targetEntity="OrderLine", cascade={"persist", "remove"}) */ protected $orderLines; /** * @var PaymentMethod * * @ORM\JoinColumn(nullable=true, onDelete="SET NULL", referencedColumnName="id") * @ORM\ManyToOne(targetEntity="PaymentMethod", cascade={"persist", "remove"}) */ protected $paymentMethod; /** * @var ShippingMethod * * @ORM\JoinColumn(nullable=true, onDelete="SET NULL", referencedColumnName="id") * @ORM\ManyToOne(targetEntity="ShippingMethod", cascade={"persist", "remove"}) */ protected $shippingMethod; /** * @var Site * * @ORM\JoinColumn(nullable=true, onDelete="SET NULL", referencedColumnName="id") * @ORM\ManyToOne(targetEntity="Site", cascade={"persist", "remove"}) */ protected $site; /** * @var State * * @ORM\JoinColumn(nullable=true, onDelete="SET NULL", referencedColumnName="id") * @ORM\ManyToOne(targetEntity="State", cascade={"persist", "remove"}) */ protected $state; /** * Constructor. */ public function __construct() { parent::__construct(); } }
<?php namespace AppBundle\Entity; use Doctrine\ORM\Mapping as ORM; use Loevgaard\DandomainFoundationBundle\Model\OrderLine as BaseOrderLine; /** * @ORM\Entity() * @ORM\Table(name="order_lines") */ class OrderLine extends BaseOrderLine { /** * @var int * * @ORM\Column(type="integer") * @ORM\GeneratedValue(strategy="AUTO") * @ORM\Id */ protected $id; /** * @var Order * * @ORM\JoinColumn(name="order_id", onDelete="CASCADE", referencedColumnName="id", nullable=false) * @ORM\ManyToOne(inversedBy="orderLines", targetEntity="Order") */ protected $order; /** * @var Product * * @ORM\JoinColumn(onDelete="SET NULL", referencedColumnName="id") * @ORM\ManyToOne(targetEntity="Product") */ protected $product; }
<?php namespace AppBundle\Entity; use Doctrine\ORM\Mapping as ORM; use Loevgaard\DandomainFoundationBundle\Model\PaymentMethod as BasePaymentMethod; /** * @ORM\Entity() * @ORM\Table(name="payment_methods") */ class PaymentMethod extends BasePaymentMethod { /** * @var int * * @ORM\Column(type="integer") * @ORM\GeneratedValue(strategy="AUTO") * @ORM\Id */ protected $id; }
<?php namespace AppBundle\Entity; use Doctrine\ORM\Mapping as ORM; use Loevgaard\DandomainFoundationBundle\Model\Period as BasePeriod; /** * @ORM\Entity() * @ORM\Table(name="periods") */ class Period extends BasePeriod { /** * @var int * * @ORM\Column(type="integer") * @ORM\GeneratedValue(strategy="AUTO") * @ORM\Id */ protected $id; }
<?php namespace AppBundle\Entity; use Doctrine\Common\Collections\ArrayCollection; use Doctrine\ORM\Mapping as ORM; use Loevgaard\DandomainFoundationBundle\Model\Price as BasePrice; /** * @ORM\Entity() * @ORM\Table(name="prices") */ class Price extends BasePrice { /** * @var int * * @ORM\Column(type="integer") * @ORM\GeneratedValue(strategy="AUTO") * @ORM\Id */ protected $id; /** * @var Period * * @ORM\JoinColumn(nullable=true, onDelete="SET NULL", referencedColumnName="id") * @ORM\ManyToOne(targetEntity="Period") */ protected $period; /** * @var ArrayCollection * * @ORM\ManyToMany(mappedBy="prices", targetEntity="Product") */ protected $products; /** * Constructor. */ public function __construct() { parent::__construct(); } }
<?php namespace AppBundle\Entity; use Doctrine\Common\Collections\ArrayCollection; use Doctrine\ORM\Mapping as ORM; use Knp\DoctrineBehaviors\Model as ORMBehaviors; use Loevgaard\DandomainFoundationBundle\Model\Product as BaseProduct; /** * @ORM\Entity() * @ORM\Table(name="products") */ class Product extends BaseProduct { use ORMBehaviors\Translatable\Translatable; /** * @var int * * @ORM\Column(type="integer") * @ORM\GeneratedValue * @ORM\Id */ protected $id; /** * @var ArrayCollection * * @ORM\JoinTable(name="product_category") * @ORM\ManyToMany(cascade={"persist"}, inversedBy="products", targetEntity="Category") */ protected $categories; /** * @var ArrayCollection * * @ORM\JoinTable(name="product_disabled_variant") * @ORM\ManyToMany(cascade={"persist"}, inversedBy="disabledProducts", targetEntity="Variant") */ protected $disabledVariants; /** * @var ArrayCollection * * @ORM\JoinTable(name="product_manufacturer") * @ORM\ManyToMany(cascade={"persist"}, inversedBy="products", targetEntity="Manufacturer") */ protected $manufacturers; /** * @var ArrayCollection * * @ORM\JoinTable(name="product_media") * @ORM\ManyToMany(cascade={"persist"}, inversedBy="products", targetEntity="Media") */ protected $medias; /** * @var Period * * @ORM\JoinColumn(nullable=true, onDelete="SET NULL", referencedColumnName="id") * @ORM\OneToOne(targetEntity="AppBundle\Entity\Period") */ protected $pricePeriod; /** * @var ArrayCollection * * @ORM\JoinTable(name="product_price") * @ORM\ManyToMany(cascade={"persist"}, inversedBy="products", targetEntity="Price") */ protected $prices; /** * @var ProductRelation * * @ORM\JoinTable(name="product_product_relation") * @ORM\ManyToMany(cascade={"persist"}, inversedBy="products", targetEntity="ProductRelation") */ protected $productRelations; /** * @var ProductType * * @ORM\JoinColumn(nullable=true, onDelete="SET NULL", referencedColumnName="id") * @ORM\ManyToOne(targetEntity="ProductType") */ protected $productType; /** * @var ArrayCollection * * @ORM\JoinTable(name="product_segment") * @ORM\ManyToMany(cascade={"persist"}, inversedBy="products", targetEntity="Segment") */ protected $segments; /** * @var ArrayCollection * * @ORM\JoinTable(name="product_variant") * @ORM\ManyToMany(cascade={"persist"}, inversedBy="products", targetEntity="Variant") */ protected $variants; /** * @var ArrayCollection * * @ORM\JoinTable(name="product_variant_group") * @ORM\ManyToMany(cascade={"persist"}, inversedBy="products", targetEntity="VariantGroup") */ protected $variantGroups; /** * Constructor. */ public function __construct() { parent::__construct(); } }
<?php namespace AppBundle\Entity; use Doctrine\Common\Collections\ArrayCollection; use Doctrine\ORM\Mapping as ORM; use Loevgaard\DandomainFoundationBundle\Model\ProductRelation as BaseProductRelation; /** * ProductRelation. * * @ORM\Entity() * @ORM\Table(name="product_relations") */ class ProductRelation extends BaseProductRelation { /** * @var int * * @ORM\Column(name="id", type="integer") * @ORM\GeneratedValue(strategy="AUTO") * @ORM\Id */ protected $id; /** * @var ArrayCollection * * @ORM\ManyToMany(mappedBy="productRelations", targetEntity="Product") */ protected $products; /** * Constructor. */ public function __construct() { parent::__construct(); } }
<?php namespace AppBundle\Entity; use Doctrine\ORM\Mapping as ORM; use Knp\DoctrineBehaviors\Model as ORMBehaviors; use Loevgaard\DandomainFoundationBundle\Model\ProductTranslation as BaseProductTranslation; /** * @ORM\Entity() * @ORM\Table(name="product_translations") */ class ProductTranslation extends BaseProductTranslation { use ORMBehaviors\Translatable\Translation; /** * @var Period * * @ORM\JoinColumn(nullable=true, onDelete="SET NULL", referencedColumnName="id") * @ORM\ManyToOne(targetEntity="Period") */ protected $periodFrontPage; /** * @var Period * * @ORM\JoinColumn(nullable=true, onDelete="SET NULL", referencedColumnName="id") * @ORM\ManyToOne(targetEntity="Period") */ protected $periodHidden; /** * @var Period * * @ORM\JoinColumn(nullable=true, onDelete="SET NULL", referencedColumnName="id") * @ORM\ManyToOne(targetEntity="Period") */ protected $periodNew; /** * @var Unit * * @ORM\JoinColumn(nullable=true, onDelete="SET NULL", referencedColumnName="id") * @ORM\ManyToOne(targetEntity="Unit") */ protected $unit; }
<?php namespace AppBundle\Entity; use Doctrine\Common\Collections\ArrayCollection; use Doctrine\ORM\Mapping as ORM; use Loevgaard\DandomainFoundationBundle\Model\ProductType as BaseProductType; /** * ProductType. * * @ORM\Entity() * @ORM\Table(name="product_types") */ class ProductType extends BaseProductType { /** * @var int * * @ORM\Column(name="id", type="integer") * @ORM\GeneratedValue(strategy="AUTO") * @ORM\Id */ protected $id; /** * @var ArrayCollection * * @ORM\JoinTable(name="product_type_product_type_field") * @ORM\ManyToMany(cascade={"persist"}, inversedBy="productTypes", targetEntity="ProductTypeField") */ protected $productTypeFields; /** * @var ArrayCollection * * @ORM\JoinTable(name="product_type_product_type_formula") * @ORM\ManyToMany(cascade={"persist"}, inversedBy="productTypes", targetEntity="ProductTypeFormula") */ protected $productTypeFormulas; /** * @var ArrayCollection * * @ORM\JoinTable(name="product_type_product_type_vat") * @ORM\ManyToMany(cascade={"persist"}, inversedBy="productTypes", targetEntity="ProductTypeVat") */ protected $productTypeVats; /** * Constructor. */ public function __construct() { parent::__construct(); } }
<?php namespace AppBundle\Entity; use Doctrine\Common\Collections\ArrayCollection; use Doctrine\ORM\Mapping as ORM; use Loevgaard\DandomainFoundationBundle\Model\ProductTypeField as BaseProductTypeField; /** * ProductTypeField. * * @ORM\Entity() * @ORM\Table(name="product_type_fields") */ class ProductTypeField extends BaseProductTypeField { /** * @var int * * @ORM\Column(name="id", type="integer") * @ORM\GeneratedValue(strategy="AUTO") * @ORM\Id */ protected $id; /** * @var ArrayCollection * * @ORM\ManyToMany(mappedBy="productTypeFields", targetEntity="ProductType") */ protected $productTypes; /** * Constructor. */ public function __construct() { parent::__construct(); } }
<?php namespace AppBundle\Entity; use Doctrine\Common\Collections\ArrayCollection; use Doctrine\ORM\Mapping as ORM; use Loevgaard\DandomainFoundationBundle\Model\ProductTypeFormula as BaseProductTypeFormula; /** * ProductTypeFormula. * * @ORM\Entity() * @ORM\Table(name="product_type_formulas") */ class ProductTypeFormula extends BaseProductTypeFormula { /** * @var int * * @ORM\Column(name="id", type="integer") * @ORM\GeneratedValue(strategy="AUTO") * @ORM\Id */ protected $id; /** * @var ArrayCollection * * @ORM\ManyToMany(mappedBy="productTypeFormulas", targetEntity="ProductType") */ protected $productTypes; /** * Constructor. */ public function __construct() { parent::__construct(); } }
<?php namespace AppBundle\Entity; use Doctrine\Common\Collections\ArrayCollection; use Doctrine\ORM\Mapping as ORM; use Loevgaard\DandomainFoundationBundle\Model\ProductTypeVat as BaseProductTypeVat; /** * ProductTypeVat. * * @ORM\Entity() * @ORM\Table(name="product_type_vats") */ class ProductTypeVat extends BaseProductTypeVat { /** * @var int * * @ORM\Column(name="id", type="integer") * @ORM\GeneratedValue(strategy="AUTO") * @ORM\Id */ protected $id; /** * @var ArrayCollection * * @ORM\ManyToMany(mappedBy="productTypeVats", targetEntity="ProductType") */ protected $productTypes; /** * Constructor. */ public function __construct() { parent::__construct(); } }
<?php namespace AppBundle\Entity; use Doctrine\Common\Collections\ArrayCollection; use Doctrine\ORM\Mapping as ORM; use Loevgaard\DandomainFoundationBundle\Model\Segment as BaseSegment; /** * @ORM\Entity() * @ORM\Table(name="segments") */ class Segment extends BaseSegment { /** * @var int * * @ORM\Column(type="integer") * @ORM\GeneratedValue(strategy="AUTO") * @ORM\Id */ protected $id; /** * @var ArrayCollection * * @ORM\ManyToMany(mappedBy="segments", targetEntity="Product") */ protected $products; /** * Constructor. */ public function __construct() { parent::__construct(); } }
<?php namespace AppBundle\Entity; use Doctrine\ORM\Mapping as ORM; use Loevgaard\DandomainFoundationBundle\Model\ShippingMethod as BaseShippingMethod; /** * @ORM\Entity() * @ORM\Table(name="shipping_methods") */ class ShippingMethod extends BaseShippingMethod { /** * @var int * * @ORM\Column(type="integer") * @ORM\GeneratedValue(strategy="AUTO") * @ORM\Id */ protected $id; }
<?php namespace AppBundle\Entity; use Doctrine\ORM\Mapping as ORM; use Loevgaard\DandomainFoundationBundle\Model\Site as BaseSite; /** * @ORM\Entity() * @ORM\Table(name="sites") */ class Site extends BaseSite { /** * @var int * * @ORM\Column(type="integer") * @ORM\GeneratedValue(strategy="AUTO") * @ORM\Id */ protected $id; }
<?php namespace AppBundle\Entity; use Doctrine\ORM\Mapping as ORM; use Loevgaard\DandomainFoundationBundle\Model\State as BaseState; /** * @ORM\Entity() * @ORM\Table(name="states") */ class State extends BaseState { /** * @var int * * @ORM\Column(type="integer") * @ORM\GeneratedValue(strategy="AUTO") * @ORM\Id */ protected $id; }
<?php namespace AppBundle\Entity; use Doctrine\ORM\Mapping as ORM; use Loevgaard\DandomainFoundationBundle\Model\Unit as BaseUnit; /** * @ORM\Entity() * @ORM\Table(name="units") */ class Unit extends BaseUnit { /** * @var int * * @ORM\Column(type="integer") * @ORM\GeneratedValue(strategy="AUTO") * @ORM\Id */ protected $id; }
<?php namespace AppBundle\Entity; use Doctrine\Common\Collections\ArrayCollection; use Doctrine\ORM\Mapping as ORM; use Loevgaard\DandomainFoundationBundle\Model\Variant as BaseVariant; /** * @ORM\Entity() * @ORM\Table(name="variants") */ class Variant extends BaseVariant { /** * @var int * * @ORM\Column(type="integer") * @ORM\GeneratedValue(strategy="AUTO") * @ORM\Id */ protected $id; /** * @var ArrayCollection * * @ORM\ManyToMany(mappedBy="disabledVariants", targetEntity="Product") */ protected $disabledProducts; /** * @var ArrayCollection * * @ORM\ManyToMany(mappedBy="variants", targetEntity="Product") */ protected $products; /** * @var ArrayCollection * * @ORM\ManyToMany(mappedBy="variants", targetEntity="VariantGroup") */ protected $variantGroups; /** * Constructor. */ public function __construct() { parent::__construct(); } }
<?php namespace AppBundle\Entity; use Doctrine\Common\Collections\ArrayCollection; use Doctrine\ORM\Mapping as ORM; use Loevgaard\DandomainFoundationBundle\Model\VariantGroup as BaseVariantGroup; /** * @ORM\Entity() * @ORM\Table(name="variant_groups") **/ class VariantGroup extends BaseVariantGroup { /** * @var int * * @ORM\Column(type="integer") * @ORM\GeneratedValue(strategy="AUTO") * @ORM\Id */ protected $id; /** * @var ArrayCollection * * @ORM\ManyToMany(mappedBy="variantGroups", targetEntity="Product") */ protected $products; /** * @var ArrayCollection * * @ORM\JoinTable(name="variant_group_variant") * @ORM\ManyToMany(cascade={"persist"}, inversedBy="variantGroups", targetEntity="Variant") */ protected $variants; /** * Constructor. */ public function __construct() { parent::__construct(); } }