Metadata-Version: 2.4
Name: ocyan.plugin.oscar_catalogue
Version: 2.0.2rc1
Summary: Oscar catalogue extensions for MandelBlogStack
Author-email: Mandel <info@mandelblog.com>
License-Expression: LicenseRef-Proprietary
Classifier: Framework :: Ocyan
Classifier: Environment :: Plugins
Classifier: Programming Language :: Python :: 3.12
Requires-Python: <3.13,>=3.12
Description-Content-Type: text/markdown
License-File: COPYRIGHT
Requires-Dist: ocyan.core<2,>=1.2.12
Requires-Dist: ocyan.plugin.oscar<3,>=2.0.1
Requires-Dist: django-treebeard<6,>=5.3
Requires-Dist: lxml
Provides-Extra: test
Requires-Dist: ocyan.plugin.testing; extra == "test"
Requires-Dist: wheel; extra == "test"
Requires-Dist: ruff; extra == "test"
Requires-Dist: empty_testproject; extra == "test"
Requires-Dist: django-oscar-api; extra == "test"
Requires-Dist: isort; extra == "test"
Requires-Dist: pylint-django; extra == "test"
Requires-Dist: vdt.versionplugin.wheel; extra == "test"
Requires-Dist: coverage; extra == "test"
Requires-Dist: oxyan.themes; extra == "test"
Dynamic: license-file

Ocyan plugin Oscar Catalogue App Ocyan Overrides
================================================

Installation
------------
Add `ocyan.plugin.oscar_catalogue` to your projects dependencies.

Supported certification matrix
------------------------------

The certified 2.0.x line supports Python 3.12, Django 5.2, Oscar 4.1--4.2
through the certified `ocyan.plugin.oscar` dependency, and `ocyan.core` 1.2.12
or newer below version 2. The package is optional and must be enabled through
the Ocyan plugin configuration; it does not own checkout, payment, order,
search, dashboard, or operations behavior.

For a consumer, install the wheel or sdist and add
`ocyan.plugin.oscar_catalogue` through the normal Ocyan plugin manifest. Run
`manage.py check`, migrations, and `collectstatic` before enabling catalogue
URLs. The `fix_catalogue_tree` command is a maintenance operation; destructive
tree rebuilding requires both `--destructive` and
`--yes-i-really-mean-it`.


Usage
-----
This plugin fixes some bugs in oscar's catalogue app, required until fixed upstream.


This app provides the following features:

1. Allows a user to set a ``min_quantity`` attribute on a product as a product
   attribute. When set, users can not order less.
2. Adds vat_rate on each product which can be zero, low or high.
3. Make option and product_type slugs editable from the django admin.
4. Sort child products (variants) by price in the dropdown so the cheapest is
   offered by default.
5. Add any media defined in views in the detail template.
6. Adds ``filter_by_attributes`` query option until merged in upstream.
7. Reduces some crazy expensive queries to calculated pagination info.
8. Test correctness of taxes very exhaustive.


Configuration
-------------

* minimum_quantity_attribute_code: Optionally a minimum order amount can be specified per product, people are not allowed to order less then specified.
* slug_id_separator: Separator between slug and id in the url.
* enforce_parent: Redirect child product detail views to the parent, defaults to false.
