Skip to content

A small plugin for Frappe that adds the support of customizations to the numerical controls.

License

Notifications You must be signed in to change notification settings

kid1194/frappe-better-numerical-controls

Repository files navigation

Frappe Better Numerical Controls

A small plugin for Frappe that adds the support of customizations to the numerical controls.


Table of Contents


Requirements

  • Frappe >= v12.0.0

Setup

⚠️ Important ⚠️

Do not forget to replace [sitename] with the name of your site in all commands.

Install

  1. Go to bench directory
cd ~/frappe-bench
  1. Get plugin from Github

(Required only once)

bench get-app https://github.com/kid1194/frappe-better-numerical-controls
  1. Build plugin

(Required only once)

bench build --app frappe_better_numerical_controls
  1. Install plugin on a specific site
bench --site [sitename] install-app frappe_better_numerical_controls
  1. Check the usage section below

Update

  1. Go to app directory
cd ~/frappe-bench/apps/frappe_better_numerical_controls
  1. Get updates from Github
git pull
  1. Go to bench directory
cd ~/frappe-bench
  1. Build plugin
bench build --app frappe_better_numerical_controls
  1. Update a specific site
bench --site [sitename] migrate
  1. (Optional) Restart bench
bench restart

Uninstall

  1. Go to bench directory
cd ~/frappe-bench
  1. Uninstall plugin from a specific site
bench --site [sitename] uninstall-app frappe_better_numerical_controls
  1. Remove plugin from bench
bench remove-app frappe_better_numerical_controls
  1. (Optional) Restart bench
bench restart

Usage

  1. Go to Customization > Customize Form
  2. Enter the form type/name (Ex: 'User')
  3. Scroll down to the form fields area and create an Int, Float or Currency field or edit an existing custom field
  4. In the options property of the field, add a JSON object of the customizations you want. Example:
{"min": 10, "max": 100}

ℹ️ Note: You can't modify the original fields of a doctype, so create a new field or clone and modify the entire doctype.


Available Options

Option Description
min The minimum number allowed.

- Example:
-- Int: 10
-- Float: 10.5
max The maximum number allowed.

- Example:
-- Int: 100
-- Float: 100.5
divisible_by The number that the value must be divisible by. ⚠️ Only for Int fields.

- Example: 5
min_field The name of the field that holds the minimum number allowed.

- Example: min_price
max_field The name of the field that holds the maximum number allowed.

- Example: max_price

The checking order is as follows: max_field, min_field, divisible_by, max, min.


Supported Fields

  • Int
  • Float
  • Currency

Issues

If you find bug in the plugin, please create a bug report and let us know about it.


License

This repository has been released under the MIT License.