The license.txt file has been replaced with LICENSE for quite a while
now. INAL but it didn't seem accurate to say "hey, checkout license.txt
although there's no such file". Apart from this, there were
inconsistencies in the headers altogether...this change brings
consistency.
* Remove six for PY2 compatability since our dependencies are not, PY2
is legacy.
* Removed usages of utils from future/past libraries since they are
deprecated. This includes 'from __future__ ...' and 'from past...'
statements.
* Removed compatibility imports for PY2, switched from six imports to
standard library imports.
* Removed utils code blocks that handle operations depending on PY2/3
versions.
* Removed 'from __future__ ...' lines from templates/code generators
* Used PY3 syntaxes in place of PY2 compatible blocks. eg: metaclass
- remove several unnecessary comprehensions from functions that accept a generator.
- Using `[x for x in iter]` causes a list to be built first then passed to the outer function.
- `any` and `all` can take generator instead. This makes memory usage O(1) and actually makes these functions short-circuiting. E.g. if the first condition fails then `all` will immediately return false instead of evaluating all the entries.
- `sum`, `min`, `max` => memory usage become O(1)
- `list`, `set`, `.join()` => roughly halves memory usage, as list is not required to be built.
- lastly, it's two fewer characters to read/think about.
* The previously deleted code was being used in ERPNext's Customer
module.
* This will be moved into frappe.model.utils.rename_doc for the time
and completely removed in time.
* fix: Allow export only if user has export permission on reference doctype
* fix: Show only custom "no permission" error
* fix: while saving employee user getting user permissions error
* feat(control): Add Table MultiSelect control
* fix: Use btn-group instead of span
* fix: Remove functionality
* fix: Add 'Table MultiSelect' to Field doctypes
* fix: Replace usage of string 'Table' with array `table_fields`
* fix: Use internal array to store values instead of building from HTML elements
* fix(style): Add semicolon
* fix: Read only mode and click to navigate to form
* style: indent
* fix: fallback to empty array
* fix: Add formatters in js and py
* style: missing semicolon
* fix: Add docfield validation