Skip to content

Commit

Permalink
bettr calc
Browse files Browse the repository at this point in the history
  • Loading branch information
superdav42 committed Aug 29, 2024
1 parent 80172d7 commit 18b6a09
Show file tree
Hide file tree
Showing 13 changed files with 121 additions and 502 deletions.
23 changes: 22 additions & 1 deletion Block/Catalog/Product/Usage.php
Original file line number Diff line number Diff line change
Expand Up @@ -205,11 +205,19 @@ public function getUsages($category = null): array

public function isCustomerLoggedIn(): bool
{
$current_customer_id = $this->_coreRegistry->registry('current_customer_id');
if ($current_customer_id) {
return true;
}
return $this->session->isLoggedIn();
}

public function getCustomerId(): ?int
{
$current_customer_id = $this->_coreRegistry->registry('current_customer_id');
if ($current_customer_id) {
return $current_customer_id;
}
return $this->session->getCustomerId();
}

Expand Down Expand Up @@ -367,7 +375,20 @@ public function getJsonConfig(): string
];
}

return $this->serializer->serialize(['links' => $linksConfig]);
$currentProduct = $this->getProduct();
$config = [
"categorySelectElement" => "#usage_category",
"allElements" => "#usages_all",
'links' => $linksConfig
];

if ($currentProduct->hasPreconfiguredValues()) {
$config['selectedOptions'] = $currentProduct->getPreconfiguredValues()->getData('options');
$config['selectedCategory'] = $currentProduct->getPreconfiguredValues()->getData('usage_category');
$config['selectedUsage'] = $currentProduct->getPreconfiguredValues()->getData('usage_id');
}

return $this->serializer->serialize($config);
}

/**
Expand Down
2 changes: 2 additions & 0 deletions etc/di.xml
Original file line number Diff line number Diff line change
Expand Up @@ -202,4 +202,6 @@
<preference for="DevStone\UsageCalculator\Api\UsageCustomerRepositoryInterface" type="DevStone\UsageCalculator\Model\UsageCustomerRepository"/>
<preference for="DevStone\UsageCalculator\Api\Data\UsageCustomerInterface" type="DevStone\UsageCalculator\Model\UsageCustomer"/>
<preference for="DevStone\UsageCalculator\Api\Data\UsageCustomerSearchResultsInterface" type="Magento\Framework\Api\SearchResults"/>
<preference for="Magento\Sales\Model\AdminOrder\Create" type="DevStone\UsageCalculator\Model\AdminOrder\Create"/>

</config>
21 changes: 21 additions & 0 deletions view/adminhtml/layout/catalog_product_view_type_image.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,27 @@
<body>
<referenceBlock name="product.composite.fieldset">
<block class="DevStone\UsageCalculator\Block\Catalog\Product\Usage" name="usage.info" as="type_image_usage" before="-" template="DevStone_UsageCalculator::product/composite/fieldset/usages-container.phtml">
<block class="DevStone\UsageCalculator\Block\Catalog\Product\Usage" name="all.usages" template="DevStone_UsageCalculator::catalog/product/usages.phtml">
<arguments>
<argument name="cache_lifetime" xsi:type="number">360</argument>
</arguments>

<block class="DevStone\UsageCalculator\Block\Usage\View\Options\Type\DefaultType" name="usage.info.options.default" as="default" template="DevStone_UsageCalculator::catalog/product/type/default.phtml"/>
<block class="DevStone\UsageCalculator\Block\Usage\View\Options\Type\Text" name="usage.info.options.text" as="text" template="DevStone_UsageCalculator::catalog/product/type/text.phtml"/>
<block class="DevStone\UsageCalculator\Block\Usage\View\Options\Type\File" name="usage.info.options.file" as="file" template="DevStone_UsageCalculator::catalog/product/type/file.phtml"/>
<block class="DevStone\UsageCalculator\Block\Usage\View\Options\Type\Select" name="usage.info.options.select" as="select" template="DevStone_UsageCalculator::catalog/product/type/select.phtml"/>
<block class="DevStone\UsageCalculator\Block\Usage\View\Options\Type\Date" name="usage.info.options.date" as="date" template="DevStone_UsageCalculator::catalog/product/type/date.phtml"/>
</block>
<block class="DevStone\UsageCalculator\Block\Catalog\Product\Usage" name="custom.usages" template="DevStone_UsageCalculator::catalog/product/usages.phtml">
<arguments>
<argument name="customer_specific" xsi:type="boolean">true</argument>
</arguments>
<block class="DevStone\UsageCalculator\Block\Usage\View\Options\Type\DefaultType" name="custom.usage.info.options.default" as="default" template="DevStone_UsageCalculator::catalog/product/type/default.phtml"/>
<block class="DevStone\UsageCalculator\Block\Usage\View\Options\Type\Text" name="custom.usage.info.options.text" as="text" template="DevStone_UsageCalculator::catalog/product/type/text.phtml"/>
<block class="DevStone\UsageCalculator\Block\Usage\View\Options\Type\File" name="custom.usage.info.options.file" as="file" template="DevStone_UsageCalculator::catalog/product/type/file.phtml"/>
<block class="DevStone\UsageCalculator\Block\Usage\View\Options\Type\Select" name="custom.usage.info.options.select" as="select" template="DevStone_UsageCalculator::catalog/product/type/select.phtml"/>
<block class="DevStone\UsageCalculator\Block\Usage\View\Options\Type\Date" name="custom.usage.info.options.date" as="date" template="DevStone_UsageCalculator::catalog/product/type/date.phtml"/>
</block>
</block>
</referenceBlock>
</body>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,51 @@
<legend class="legend admin__legend">
<span>Configure Usage</span>
</legend><br />
<div id="usages-container" class="usages-container field">

<div class="usages-container-inner">

<legend class="legend usages-title"><?= __('License Pricing Calculator') ?></legend>
<p><?= __('Select options from the drop down menu to calculate a price to use this image.') ?></p>

<div class="control" id="downloadable-usages-list"
data-mage-init='{"usage":{
"categorySelectElement":"#usage_category",
"allElements":"#usages_all"}
}'
data-container-for="downloadable-usages">
<div class="field active">
<label class="label" for="usage_category">
<span><?= __('Choose Category') ?>:</span> <a href="#" data-less="<?= __('less info') ?>" tabindex="-1"><?= __('more info') ?></a>
</label>
<div class="help-text">
<?= __('Choose a category to see the specific usages available.') ?>
</div>
<div class="control">
<?= $block->getCategoriesSelectHtml() ?>
</div>
</div>
<?php if(count( $block->getPreviousCategories() ) ): ?>
<div class="category-container field" style="display:none;" id="category_container_previous">
<label class="label" for="usage_previous_usages">
<span><?= __('Previous Usage') ?>:</span> <a href="#" data-less="<?= __('less info') ?>" tabindex="-1"><?= __('more info') ?></a>
</label>
<div class="help-text">
<?= __('Choose a previous calculation from your order history.') ?>
</div>
<div class="control">
<?= $block->getPreviousSelectHtml() ?>
</div>
</div>
<?php endif; ?>
<?= $block->getChildHtml('all.usages'); ?>
<?= $block->getChildHtml('custom.usages'); ?>
</div>
<span id="usages-advice-container"></span>
</div>
</div>

<?php /*
<div id="usages-container" class="usages-container field">
<div class="usages-container-inner">
<div>
Expand All @@ -21,7 +66,7 @@
<input type="hidden" name="usage_category" value="<?= $category->getId() ?>" />
<div class="category-container field" id="category_container_">
<div class="help-text">
<?= __('Only Custom Usages are supported') ?>
</div>
<div class="control">
<?= $block->getUsagesSelectHtml($usages, $category); ?>
Expand All @@ -30,8 +75,25 @@
</div>
</div>
</div>

*/
?>
</fieldset>
<?php
$config = $block->getJsonConfig();

$scriptString = <<<script
require([
"usage"
], function(usage){
var config = {$config};
config.keepOpen = true;
usage(
config,
document.getElementById('downloadable-usages-list')
);
});
script;
?>
<?= /* @noEscape */ $secureRenderer->renderTag('script', [], $scriptString, false) ?>
<?php endif;?>

13 changes: 12 additions & 1 deletion view/adminhtml/web/order/create/bulk.js
Original file line number Diff line number Diff line change
Expand Up @@ -162,5 +162,16 @@
jQuery.async('#order-items .admin__page-section-title', (function () {
order.itemsArea.addControlButton(searchButton);
}));

var cartButtonId = 'add_cart_products',
cartButton = new ControlButton(jQuery.mage.__('Add All To Cart'), searchButtonId);
cartButton.onClick = function () {
jQuery('#order-items_grid .col-actions select.admin__control-select').val('cart');
order.itemsUpdate();
}
jQuery.async('#order-items .order-discounts', (function () {
order.itemsArea.addControlButton(cartButton);
}));

}));
});
});
8 changes: 0 additions & 8 deletions view/frontend/requirejs-config.js

This file was deleted.

53 changes: 0 additions & 53 deletions view/frontend/templates/catalog/product/type/date.phtml

This file was deleted.

9 changes: 0 additions & 9 deletions view/frontend/templates/catalog/product/type/default.phtml

This file was deleted.

63 changes: 0 additions & 63 deletions view/frontend/templates/catalog/product/type/file.phtml

This file was deleted.

27 changes: 0 additions & 27 deletions view/frontend/templates/catalog/product/type/select.phtml

This file was deleted.

Loading

0 comments on commit 18b6a09

Please sign in to comment.