Skip to content

Commit

Permalink
Added ability to allow free cost usage.
Browse files Browse the repository at this point in the history
  • Loading branch information
TobiasLufinity committed May 2, 2023
1 parent 729d290 commit 3f92a73
Show file tree
Hide file tree
Showing 5 changed files with 50 additions and 2 deletions.
1 change: 1 addition & 0 deletions Block/Catalog/Product/Usage.php
Original file line number Diff line number Diff line change
Expand Up @@ -235,6 +235,7 @@ public function getUsagesSelectHtml(
[
'price' => $this->pricingHelper->currencyByStore($usage->getPrice(), $store, false),
'data-terms' => $usage->getTerms(),
'data-is-free' => $usage->getIsFree(),
]
);
}
Expand Down
17 changes: 17 additions & 0 deletions Setup/UpgradeData.php
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,23 @@ public function upgrade(ModuleDataSetupInterface $setup, ModuleContextInterface
->save();
}


if (version_compare($context->getVersion(), '1.0.6') < 0) {
$usageSetup->addAttribute(
'devstone_usage',
'is_free',
[
'type' => 'int',
'label' => 'Can be free',
'input' => 'select',
'source' => \Magento\Eav\Model\Entity\Attribute\Source\Boolean::class,
'sort_order' => 25,
'global' => \Magento\Eav\Model\Entity\Attribute\ScopedAttributeInterface::SCOPE_STORE,
'group' => 'General Information',
]
);
}

$usageSetup->installEntities();
$entities = $usageSetup->getDefaultEntities();
foreach ($entities as $entityName => $entity) {
Expand Down
2 changes: 1 addition & 1 deletion etc/module.xml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
<module name="DevStone_UsageCalculator" setup_version="1.0.5" >
<module name="DevStone_UsageCalculator" setup_version="1.0.6" >
<sequence>
<module name="Magento_Catalog"/>
<module name="Magento_Sales"/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,35 @@
</item>
</argument>
</field>
<field name="is_free" formElement="select">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="source" xsi:type="string">main_fieldset</item>
</item>
</argument>
<settings>
<dataType>number</dataType>
<label translate="true">Can be free</label>
<visible>true</visible>
<dataScope>is_free</dataScope>
</settings>
<formElements>
<select>
<settings>
<options>
<option name="0" xsi:type="array">
<item name="value" xsi:type="number">0</item>
<item name="label" xsi:type="string" translate="true">No</item>
</option>
<option name="1" xsi:type="array">
<item name="value" xsi:type="number">1</item>
<item name="label" xsi:type="string" translate="true">Yes</item>
</option>
</options>
</settings>
</select>
</formElements>
</field>
<field name="is_active" formElement="select">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
Expand Down
3 changes: 2 additions & 1 deletion view/frontend/web/usage.js
Original file line number Diff line number Diff line change
Expand Up @@ -191,6 +191,7 @@ define([

if (isNaN(finalPrice)) {
finalPrice = 0;
terms = "";
}

if (95 !== ((finalPrice * 100) % 100)) {
Expand All @@ -208,7 +209,7 @@ define([
}
});

if (finalPrice <= 0) {
if (finalPrice <= 0 && !$usage.data('is-free')) {
$(self.options.priceHolderSelector + ', .product-options-bottom').hide();
$('#usages-advice-container').html('');
} else {
Expand Down

0 comments on commit 3f92a73

Please sign in to comment.