Commit graph

2246 commits

Author SHA1 Message Date
Suraj Shetty
53a079f101 fix: doc.get_title should return empty string if title is not set
(cherry picked from commit b244c9148192362de43aa483b328709745f3be82)
2022-06-13 06:16:57 +00:00
Ankush Menat
21442f5cba perf: disable creating version for new docs
Each new doc inserts a version, this contains nothing but creator and
creation time.. which is already immutable information on the original
document.

This was added for cases like data import to track from where document
got created, ref: b7dfe7969d

Fix: only add a version on creation IF creation info is present on flags
2022-06-12 18:07:55 +05:30
gavin
fc9308f8ba
fix: Use same labels for standard fields throughout interfaces (#17031)
* fix(model)!: Match labels in meta & model

Labels for fields have been inconsistent. In standard filters, doc.name
would be labelled as "Name" while it's "ID" in the edit filters option.
Similarly for other fields, the same view will address the same fields
differently. This PR aims to get rid of such inconsistencies.

Changes:

* [model] Change label ID for name to 'Name'
* [meta] Match labels of owner, modified, modified_by
* [meta] Add labels for more fields - from model.js

* fix!: get_label to fetch labels as Desk does

* fix!(label): Refer to name field as 'ID' over 'Name'

* test: Use 'ID' label instead of 'Name'
2022-06-09 15:34:57 +05:30
Gavin D'souza
32b4983197 fix(re): Pass flags on instantiation 2022-06-08 16:31:58 +05:30
Gavin D'souza
b696fa6da5 perf: Pre-compile and re-use regexp pattern
Converted all possible usages of re.* that weren't compiling the regex
separately and re-using it. Separated out the compiled patterns as
global variables. Repetitive patterns could be made DRY-er.

Would be nicer to have all regexes in a single module so that we could
re-use better, keep track of outdated, and keep checks for possible
reDos' etc
2022-06-08 14:07:38 +05:30
gavin
44dba28159
Merge branch 'develop' into refactor-file 2022-06-08 12:43:35 +05:30
Faris Ansari
3d07a51442
fix: check read permission on link sub-fields (#17082) 2022-06-06 19:54:54 +05:30
Suraj Shetty
0cd41fbf0c
Merge branch 'develop' into fix-document-signature-2 2022-06-01 18:01:12 +05:30
Suraj Shetty
59c7fb9e0d fix: Add "Document Share Key" to doctypes_to_skip in delete_doc.py
- To avoid error while deleting linked document.
2022-06-01 17:59:32 +05:30
Gavin D'souza
5ec2690160 Merge branch 'develop' into refactor-file 2022-06-01 15:47:55 +05:30
Ankush Menat
462aa20386
fix: naming using doc fields (#17040) 2022-05-31 19:55:34 +05:30
Ankush Menat
45604a7f3f refactor: move all naming series related logic 2022-05-31 14:48:14 +05:30
Ankush Menat
b7a032e7e8 refactor: generate naming series preview without DB calls 2022-05-31 12:59:49 +05:30
Ankush Menat
5590cb0be8 feat: NamingSeries class
Single class to group together everything required related to naming
series
2022-05-31 11:53:58 +05:30
Ankush Menat
5c35aae876 fix: accurate prefix parsing
Previous version of prefix parsing relied on partial reimplemntation of
naming series logic which was outdated and often incorrect.
2022-05-31 11:53:58 +05:30
Ankush Menat
15dbcacd56 refactor: split transaction and prefix functions
refactor: fetching transaction list

refactor: get default naming series

refactor: simplify naming series option scrubbing

fix: remove dead code related to insert series

This code is dead in many ways
- Creates map but it's never evaluated, so it doesn't actually run :D
- Just randomly splits naming series parts to create prefix... makes no
  sense.

fix: deduplicate prefix list
2022-05-31 11:53:40 +05:30
Ankush Menat
75b7a823a9
Merge pull request #17009 from ankush/delete_doctype_changes
fix!: dont delete customizations when doctypes are deleted
2022-05-30 21:00:50 +05:30
Suraj Shetty
a22b22c703 fix: Remove shareable link feature 2022-05-30 13:22:51 +05:30
Suraj Shetty
ed72fc5a0e
Merge pull request #17003 from netchampfaris/db-query-child-table-syntax-sugar 2022-05-30 12:21:35 +05:30
Faris Ansari
87ec6d4fb9 fix: initialize link_tables in constructor 2022-05-30 10:50:16 +05:30
Ankush Menat
076eb593e3 refactor: delete_from_table
Whole lot of unnecessary complexity, closure, multiple function calls,
comprehensions all that can be replaced with single `get_all`
2022-05-29 13:46:48 +05:30
Ankush Menat
a0ecb912db fix!: dont delete customizations when doctypes are deleted
If someone deletes doctype and restores it back all customization are
lost, there's no "real" reason to delete all these customization. They
are only ever active if the doctype is being used.

Explanations:

- Custom field: is used by meta when doctype meta is requested, if meta
  isn't requested then custom field is effectively inactive.
- Client script: loaded by meta when doctype is requested by desk. So
  inactive in deleted state.
- Property setter: loaded by meta, so inactive when doctype isn't
  present.
- Report: will break doctype isn't present, but user should delete them
  manually to avoid loss of "scripts" or anything special they might
  have done. Also report's doctype don't 100% indicate that it's based
  solely on that doctype.
2022-05-29 13:46:44 +05:30
Faris Ansari
507a45d8f2 fix: dot syntax support for link fields
 test
2022-05-28 13:57:44 +05:30
Faris Ansari
96b30e714c feat: table_field.fieldname field syntax for db_query 2022-05-27 16:04:22 +05:30
Suraj Shetty
0fab4de3b8 Merge branch 'develop' of https://github.com/frappe/frappe into fix-document-signature 2022-05-25 14:18:10 +05:30
gavin
6dedf899ff
Merge pull request #16899 from ChillarAnand/imports
refactor: Removed unused imports & added flake8 check in CI
2022-05-23 15:53:18 +05:30
chillaranand
1d763a6659 refactor: Fix flake8 issues 2022-05-19 15:34:35 +05:30
gavin
7c77bedbf2 refactor: Simplify logic + Add typing hints 2022-05-18 16:57:54 +05:30
Shariq Ansari
78489cd700
feat: Quick List Block for Workspace (#16887) 2022-05-13 15:34:35 +05:30
phot0n
7ec5e88278 chore: remove unnecessary groups from search regex in cast_name 2022-05-05 21:31:13 +05:30
phot0n
aa6a21fc2c chore: add regex to consider space in cast_name 2022-05-05 21:31:13 +05:30
Suraj Shetty
0d10624ce5 Merge branch 'develop' of https://github.com/frappe/frappe into fix-document-signature 2022-05-05 14:20:29 +05:30
Ankush Menat
c31eca3ba5
fix: circular imports (#16830)
Circular imports issue when loading modules in background worker. Doesn't happen in web worker or console 🤷
2022-05-04 19:09:53 +05:30
Sagar Vora
a33c2e2abe
refactor(BaseDocument)!: improved get, set and extend methods (#16540)
* perf!: 80% faster doc.get for fields with `None` as value

* perf: quicker init child (#3)

* refactor: avoid repitition and improve error message

* test: `doc.extend`

* fix: improve constant naming

* fix: minor improvements and tests

* refactor: improve naming
2022-05-04 18:37:06 +05:30
Ritwik Puri
b41379c78b
fix: misc fixes (integer primary keys) (#16307)
* fix: misc fixes

local.x gets resetted on every request so switched to a simple dict

simplified is_val_used in set_next_val function for sequences

* chore: use multisql for sequence methods

* fix: fields not updating on form

* minor(base_input): removed unnecessary branching in update_input

* chore: remove prints and rename autoincremented_status_map

* chore: added proper type hint + comment + formatting

* fix: added searching in cast_name rather than handling it manually

* fix: share condition query + test_build_match_conditions

* fix: add cast_name to more places

* test: test for sequence

* fix: sequence functions

* fix: inherit frappetestcase

* minor: attach sequence methods to db context local

* chore: update sequence function names in Database

use frappe.db for sequences in naming.py

* fix: convert filename to str (for autoincremented doctypes)

* chore: better regex for modifying values for postgres

* minor: allow changing name column type (if no data is present in the doctype)

* refactor: validate_autoname

converted it to a simple function
enabled changing autoincrement autoname from customize form

* fix: use sql_ddl for change_column_type in postgres

* fix: use not null constraint in postgres when changing name type

* fix(test): updated test_autoincremented_doctype_transition with transitioning when no data is present

* fix(test): updated test_cast_name

probably messed up during rebase

* fix(test): used rollback upon error in transaction for postgres

* chore: use frappe.db.x methods for sequences

* minor: use temporary sequences in test

* minor: use generate_hash for sequence naming in sequence tests

* chore: replace sequence imports with frappe.db.x

* chore: move out casting name fields to a separate method

* refactor: cast_name

more explicit cases for casts and added docstring

* fix: added space in test_cast_name

* chore: fix linter

* chore: better naming for can_change_name_column_type

* chore: add comment for autoincremented_site_status_map

* chore: update/add docstrings
2022-04-29 15:06:03 +05:30
Suraj Shetty
ccc82e2c4c
Merge pull request #15538 from noahjacob/phone_field_control
feat: Phone Control Type
2022-04-28 10:27:52 +05:30
Sagar Vora
224dd319e8
perf(BaseDocument): remove duplicate code (#16733) 2022-04-26 15:52:03 +05:30
gavin
5f2f387a9c
Merge pull request #16130 from gavindsouza/bg-rename_doc
feat: Async Document Renaming
2022-04-26 12:57:31 +05:30
Ankush Menat
fb0cd4c3a9
Merge pull request #16649 from ankush/testing_overhaul
test: better test utils
2022-04-26 12:02:06 +05:30
Sagar Vora
fa7ea4bce8
perf(BaseDocument): ~50% faster as_dict (#16549)
Co-authored-by: Pruthvi Patel <pruthvipatel145@gmail.com>
2022-04-23 09:01:20 +05:30
Ankush Menat
f748ae85fc fix: set docstatus to 0 if None present 2022-04-22 19:47:54 +05:30
Gavin D'souza
c691537e61 chore: Add typing for ease of development 2022-04-21 13:32:13 +05:30
Gavin D'souza
1d84483289 Merge branch 'develop' of github.com:frappe/frappe into refactor-file 2022-04-21 11:45:50 +05:30
Gavin D'souza
6cdd33f26b fix: Generate hash of length 8 for save point 2022-04-20 16:41:25 +05:30
Gavin D'souza
892e05fdc1 Merge branch 'develop' of github.com:frappe/frappe into bg-rename_doc 2022-04-20 16:04:27 +05:30
Gavin D'souza
9839c4d5d6 test: Use new_doc instead of get_doc 2022-04-20 11:58:35 +05:30
Suraj Shetty
8f94cb655f
Merge branch 'develop' into phone_field_control 2022-04-19 16:28:18 +05:30
Rushabh Mehta
6e6fe9521e fix(linting): no single quotes :'| 2022-04-18 17:29:03 +05:30
Rushabh Mehta
fca6c3d305 fix(minor): circular imports? 2022-04-18 17:29:03 +05:30
Rushabh Mehta
57a55e4225 feat(minor): Add document reference to Error Log and doc.log_error 2022-04-18 17:29:03 +05:30