Skip to content
Code-Schnipsel Gruppen Projekte
Commit 968f8f5e erstellt von Patrick Müller's avatar Patrick Müller
Dateien durchsuchen

feat: Membership product -> create with new subscription product type

Übergeordneter 9c09c6f6
No related branches found
No related tags found
Keine zugehörigen Merge Requests gefunden
......@@ -76,24 +76,12 @@ public function createChild($data = [])
/** @var Membership $NewMembership */
$NewMembership = parent::createChild($data);
$NewMembership->createProduct();
QUI::getEvents()->fireEvent('quiqqerMembershipsCreate', [$NewMembership]);
return $NewMembership;
}
/**
* Get membership
*
* @param int $id
* @return Membership
*/
public function getChild($id)
{
return parent::getChild($id);
}
/**
* @inheritdoc
* @return string
......
......@@ -628,22 +628,22 @@ public function createProduct()
$fields[] = $DescField;
}
$Product = ProductsHandler::createProduct($categories, $fields);
if ($this->isAutoExtend() && Utils::isQuiqqerErpPlansInstalled()) {
$Product = ProductsHandler::createProduct($categories, $fields, QUI\ERP\Plans\PlanProduct::class);
$Product->getField(ErpPlansHandler::FIELD_DURATION)->setValue($this->getAttribute('duration'));
$Product->getField(ErpPlansHandler::FIELD_AUTO_EXTEND)->setValue(true);
$Product->getField(ErpPlansHandler::FIELD_INVOICE_INTERVAL)->setValue($this->getAttribute('duration'));
$Product->getField(ErpPlansHandler::FIELD_MIN_DURATION)->setValue($this->getAttribute('duration'));
} else {
$Product = ProductsHandler::createProduct($categories, $fields);
}
if (!empty($categories)) {
$Product->setMainCategory($categories[0]);
$Product->save();
}
// Add fields for contract product type
if ($this->isAutoExtend() && Utils::isQuiqqerErpPlansInstalled()) {
ErpPlansHandler::turnIntoPlanProduct($Product, [
ErpPlansHandler::FIELD_DURATION => $this->getAttribute('duration'),
ErpPlansHandler::FIELD_AUTO_EXTEND => true,
ErpPlansHandler::FIELD_INVOICE_INTERVAL => $this->getAttribute('duration'),
ErpPlansHandler::FIELD_MIN_DURATION => $this->getAttribute('duration')
]);
}
$Product->save(QUI::getUsers()->getSystemUser());
QUI::getEvents()->fireEvent('quiqqerMembershipsCreateProduct', [$this, $Product]);
......
0% oder .
You are about to add 0 people to the discussion. Proceed with caution.
Bearbeitung dieser Nachricht zuerst beenden!
Bitte registrieren oder zum Kommentieren